com.vividsolutions.jts.geomgraph
Class DirectedEdgeStar
public class DirectedEdgeStar
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.
computeLabelling , findIndex , getCoordinate , getDegree , getEdges , getNextCW , insert , insertEdgeEnd , isAreaLabelsConsistent , iterator , print |
DirectedEdgeStar
public DirectedEdgeStar()
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.
getLabel
public Label getLabel()
getOutgoingDegree
public int getOutgoingDegree()
getOutgoingDegree
public int getOutgoingDegree(EdgeRing er)
linkAllDirectedEdges
public void linkAllDirectedEdges()
linkMinimalDirectedEdges
public void linkMinimalDirectedEdges(EdgeRing er)
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
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