addHole
public void addHole(EdgeRing ring)
addPoints
protected void addPoints(Edge edge,
boolean isForward,
boolean isFirstEdge)
computePoints
protected void computePoints(DirectedEdge start)
Collect all the points from the DirectedEdges of this ring into a contiguous list
computeRing
public void computeRing()
Compute a LinearRing from the point list previously collected.
Test if the ring is a hole (i.e. if it is CCW) and set the hole flag
accordingly.
containsPoint
public boolean containsPoint(Coordinate p)
This method will cause the ring to be computed.
It will also check any holes, if they have been assigned.
getCoordinate
public Coordinate getCoordinate(int i)
getEdges
public List getEdges()
Returns the list of DirectedEdges that make up this EdgeRing
getLabel
public Label getLabel()
getMaxNodeDegree
public int getMaxNodeDegree()
isHole
public boolean isHole()
isIsolated
public boolean isIsolated()
isShell
public boolean isShell()
mergeLabel
protected void mergeLabel(Label deLabel)
mergeLabel
protected void mergeLabel(Label deLabel,
int geomIndex)
Merge the RHS label from a DirectedEdge into the label for this EdgeRing.
The DirectedEdge label may be null. This is acceptable - it results
from a node which is NOT an intersection node between the Geometries
(e.g. the end node of a LinearRing). In this case the DirectedEdge label
does not contribute any information to the overall labelling, and is simply skipped.
setInResult
public void setInResult()
setShell
public void setShell(EdgeRing shell)