Class EdgeRing

java.lang.Object
org.locationtech.jts.geomgraph.EdgeRing
Direct Known Subclasses:
MaximalEdgeRing, MinimalEdgeRing

public abstract class EdgeRing extends Object
Version:
1.7
  • Field Details

  • Constructor Details

  • Method Details

    • isIsolated

      public boolean isIsolated()
    • isHole

      public boolean isHole()
    • getCoordinate

      public Coordinate getCoordinate(int i)
    • getLinearRing

      public LinearRing getLinearRing()
    • getLabel

      public Label getLabel()
    • isShell

      public boolean isShell()
    • getShell

      public EdgeRing getShell()
    • setShell

      public void setShell(EdgeRing shell)
    • addHole

      public void addHole(EdgeRing ring)
    • toPolygon

      public Polygon toPolygon(GeometryFactory geometryFactory)
    • 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.
    • getNext

      public abstract DirectedEdge getNext(DirectedEdge de)
    • setEdgeRing

      public abstract void setEdgeRing(DirectedEdge de, EdgeRing er)
    • getEdges

      public List getEdges()
      Returns the list of DirectedEdges that make up this EdgeRing
      Returns:
      List of DirectedEdges
    • computePoints

      protected void computePoints(DirectedEdge start)
      Collect all the points from the DirectedEdges of this ring into a contiguous list
    • getMaxNodeDegree

      public int getMaxNodeDegree()
    • setInResult

      public void setInResult()
    • 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.
    • addPoints

      protected void addPoints(Edge edge, boolean isForward, boolean isFirstEdge)
    • 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.
      Parameters:
      p - point
      Returns:
      true of ring contains point