Class Edge


public class Edge extends GraphComponent
Version:
1.7
  • Field Details

  • Constructor Details

  • Method Details

    • updateIM

      public static void updateIM(Label label, IntersectionMatrix im)
      Updates an IM from the label for an edge. Handles edges from both L and A geometries.
    • getNumPoints

      public int getNumPoints()
    • setName

      public void setName(String name)
    • getCoordinates

      public Coordinate[] getCoordinates()
    • getCoordinate

      public Coordinate getCoordinate(int i)
    • getCoordinate

      public Coordinate getCoordinate()
      Specified by:
      getCoordinate in class GraphComponent
      Returns:
      a coordinate in this component (or null, if there are none)
    • getEnvelope

      public Envelope getEnvelope()
    • getDepth

      public Depth getDepth()
    • getDepthDelta

      public int getDepthDelta()
      The depthDelta is the change in depth as an edge is crossed from R to L
      Returns:
      the change in depth as the edge is crossed from R to L
    • setDepthDelta

      public void setDepthDelta(int depthDelta)
    • getMaximumSegmentIndex

      public int getMaximumSegmentIndex()
    • getEdgeIntersectionList

      public EdgeIntersectionList getEdgeIntersectionList()
    • getMonotoneChainEdge

      public MonotoneChainEdge getMonotoneChainEdge()
    • isClosed

      public boolean isClosed()
    • isCollapsed

      public boolean isCollapsed()
      An Edge is collapsed if it is an Area edge and it consists of two segments which are equal and opposite (eg a zero-width V).
    • getCollapsedEdge

      public Edge getCollapsedEdge()
    • setIsolated

      public void setIsolated(boolean isIsolated)
    • isIsolated

      public boolean isIsolated()
      Description copied from class: GraphComponent
      An isolated component is one that does not intersect or touch any other component. This is the case if the label has valid locations for only a single Geometry.
      Specified by:
      isIsolated in class GraphComponent
      Returns:
      true if this component is isolated
    • addIntersections

      public void addIntersections(LineIntersector li, int segmentIndex, int geomIndex)
      Adds EdgeIntersections for one or both intersections found for a segment of an edge to the edge intersection list.
    • addIntersection

      public void addIntersection(LineIntersector li, int segmentIndex, int geomIndex, int intIndex)
      Add an EdgeIntersection for intersection intIndex. An intersection that falls exactly on a vertex of the edge is normalized to use the higher of the two possible segmentIndexes
    • computeIM

      public void computeIM(IntersectionMatrix im)
      Update the IM with the contribution for this component. A component only contributes if it has a labelling for both parent geometries
      Specified by:
      computeIM in class GraphComponent
    • equals

      public boolean equals(Object o)
      equals is defined to be:

      e1 equals e2 iff the coordinates of e1 are the same or the reverse of the coordinates in e2

      Overrides:
      equals in class Object
    • isPointwiseEqual

      public boolean isPointwiseEqual(Edge e)
      Returns:
      true if the coordinate sequences of the Edges are identical
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • print

      public void print(PrintStream out)
    • printReverse

      public void printReverse(PrintStream out)