public class DirectedEdgeStar extends EdgeEndStar
Modifier and Type | Field and Description |
---|---|
private Label |
label |
private int |
LINKING_TO_OUTGOING |
private java.util.List |
resultAreaEdgeList
A list of all outgoing edges in the result, in CCW order
|
private int |
SCANNING_FOR_INCOMING |
edgeList, edgeMap
Constructor and Description |
---|
DirectedEdgeStar() |
Modifier and Type | Method and Description |
---|---|
void |
computeDepths(DirectedEdge de) |
private int |
computeDepths(int startIndex,
int endIndex,
int startDepth)
Compute the DirectedEdge depths for a subsequence of the edge array.
|
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, maintaining the current location in the result
area at this node (if any).
|
Label |
getLabel() |
int |
getOutgoingDegree() |
int |
getOutgoingDegree(EdgeRing er) |
private java.util.List |
getResultAreaEdges() |
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
|
findIndex, getCoordinate, getDegree, getEdges, getNextCW, insertEdgeEnd, isAreaLabelsConsistent, iterator, propagateSideLabels, toString
private java.util.List resultAreaEdgeList
private Label label
private final int SCANNING_FOR_INCOMING
private final int LINKING_TO_OUTGOING
public void insert(EdgeEnd ee)
insert
in class EdgeEndStar
public Label getLabel()
public int getOutgoingDegree()
public int getOutgoingDegree(EdgeRing er)
public DirectedEdge getRightmostEdge()
public void computeLabelling(GeometryGraph[] geom)
computeLabelling
in class EdgeEndStar
public void mergeSymLabels()
public void updateLabelling(Label nodeLabel)
private java.util.List getResultAreaEdges()
public void linkResultDirectedEdges()
next
pointer for an incoming dirEdge
is set to the next outgoing edge.
DirEdges are only linked if:
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
public void linkMinimalDirectedEdges(EdgeRing er)
public void linkAllDirectedEdges()
public void findCoveredLineEdges()
public void computeDepths(DirectedEdge de)
private int computeDepths(int startIndex, int endIndex, int startDepth)
public void print(java.io.PrintStream out)
print
in class EdgeEndStar