Modifier and Type | Field and Description |
---|---|
private java.util.List |
edgeEnds |
Constructor and Description |
---|
EdgeEndBundle(BoundaryNodeRule boundaryNodeRule,
EdgeEnd e) |
EdgeEndBundle(EdgeEnd e) |
Modifier and Type | Method and Description |
---|---|
void |
computeLabel(BoundaryNodeRule boundaryNodeRule)
This computes the overall edge label for the set of
edges in this EdgeStubBundle.
|
private void |
computeLabelOn(int geomIndex,
BoundaryNodeRule boundaryNodeRule)
Compute the overall ON location for the list of EdgeStubs.
|
private void |
computeLabelSide(int geomIndex,
int side)
To compute the summary label for a side, the algorithm is:
FOR all edges
IF any edge's location is INTERIOR for the side, side location = INTERIOR
ELSE IF there is at least one EXTERIOR attribute, side location = EXTERIOR
ELSE side location = NULL
Note that it is possible for two sides to have apparently contradictory information i.e. |
private void |
computeLabelSides(int geomIndex)
Compute the labelling for each side
|
java.util.List |
getEdgeEnds() |
Label |
getLabel() |
void |
insert(EdgeEnd e) |
java.util.Iterator |
iterator() |
void |
print(java.io.PrintStream out) |
(package private) void |
updateIM(IntersectionMatrix im)
Update the IM with the contribution for the computed label for the EdgeStubs.
|
compareDirection, compareTo, getCoordinate, getDirectedCoordinate, getDx, getDy, getEdge, getNode, getQuadrant, init, setNode, toString
public EdgeEndBundle(BoundaryNodeRule boundaryNodeRule, EdgeEnd e)
public EdgeEndBundle(EdgeEnd e)
public java.util.Iterator iterator()
public java.util.List getEdgeEnds()
public void insert(EdgeEnd e)
public void computeLabel(BoundaryNodeRule boundaryNodeRule)
computeLabel
in class EdgeEnd
private void computeLabelOn(int geomIndex, BoundaryNodeRule boundaryNodeRule)
BoundaryNodeRule
to determine
whether a segment is on the boundary or not.
Finally, in GeometryCollections it can occur that an edge is both
on the boundary and in the interior (e.g. a LineString segment lying on
top of a Polygon edge.) In this case the Boundary is given precedence.
private void computeLabelSides(int geomIndex)
private void computeLabelSide(int geomIndex, int side)
void updateIM(IntersectionMatrix im)