JTS Topology Suite version 1.13

com.vividsolutions.jts.geomgraph
Class DirectedEdgeStar

java.lang.Object
  extended by com.vividsolutions.jts.geomgraph.EdgeEndStar
      extended by com.vividsolutions.jts.geomgraph.DirectedEdgeStar

public class DirectedEdgeStar
extends EdgeEndStar

A DirectedEdgeStar is an ordered list of outgoing DirectedEdges around a node. It supports labelling the edges as well as linking the edges to form both MaximalEdgeRings and MinimalEdgeRings.

Version:
1.7

Field Summary
 
Fields inherited from class com.vividsolutions.jts.geomgraph.EdgeEndStar
edgeList, edgeMap
 
Constructor Summary
DirectedEdgeStar()
           
 
Method Summary
 void computeDepths(DirectedEdge de)
           
 void computeLabelling(GeometryGraph[] geom)
          Compute the labelling for all dirEdges in this star, as well as the overall labelling
 void findCoveredLineEdges()
          Traverse the star of edges, maintaing the current location in the result area at this node (if any).
 Label getLabel()
           
 int getOutgoingDegree()
           
 int getOutgoingDegree(EdgeRing er)
           
 DirectedEdge getRightmostEdge()
           
 void insert(EdgeEnd ee)
          Insert a directed edge in the list
 void linkAllDirectedEdges()
           
 void linkMinimalDirectedEdges(EdgeRing er)
           
 void linkResultDirectedEdges()
          Traverse the star of DirectedEdges, linking the included edges together.
 void mergeSymLabels()
          For each dirEdge in the star, merge the label from the sym dirEdge into the label
 void print(java.io.PrintStream out)
           
 void updateLabelling(Label nodeLabel)
          Update incomplete dirEdge labels from the labelling for the node
 
Methods inherited from class com.vividsolutions.jts.geomgraph.EdgeEndStar
findIndex, getCoordinate, getDegree, getEdges, getNextCW, insertEdgeEnd, isAreaLabelsConsistent, iterator, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DirectedEdgeStar

public DirectedEdgeStar()
Method Detail

insert

public void insert(EdgeEnd ee)
Insert a directed edge in the list

Specified by:
insert in class EdgeEndStar

getLabel

public Label getLabel()

getOutgoingDegree

public int getOutgoingDegree()

getOutgoingDegree

public int getOutgoingDegree(EdgeRing er)

getRightmostEdge

public DirectedEdge getRightmostEdge()

computeLabelling

public void computeLabelling(GeometryGraph[] geom)
Compute the labelling for all dirEdges in this star, as well as the overall labelling

Overrides:
computeLabelling in class EdgeEndStar

mergeSymLabels

public void mergeSymLabels()
For each dirEdge in the star, merge the label from the sym dirEdge into the label


updateLabelling

public void updateLabelling(Label nodeLabel)
Update incomplete dirEdge labels from the labelling for the node


linkResultDirectedEdges

public void linkResultDirectedEdges()
Traverse the star of DirectedEdges, linking the included edges together. To link two dirEdges, the pointer for an incoming dirEdge is set to the next outgoing edge.

DirEdges are only linked if:

  • they belong to an area (i.e. they have sides)
  • they are marked as being in the result

Edges are linked in CCW order (the order they are stored). This means that rings have their face on the Right (in other words, the topological location of the face is given by the RHS label of the DirectedEdge)

PRECONDITION: No pair of dirEdges are both marked as being in the result


linkMinimalDirectedEdges

public void linkMinimalDirectedEdges(EdgeRing er)

linkAllDirectedEdges

public void linkAllDirectedEdges()

findCoveredLineEdges

public void findCoveredLineEdges()
Traverse the star of edges, maintaing the current location in the result area at this node (if any). If any L edges are found in the interior of the result, mark them as covered.


computeDepths

public void computeDepths(DirectedEdge de)

print

public void print(java.io.PrintStream out)
Overrides:
print in class EdgeEndStar

JTS Topology Suite version 1.13