Class Edge

    • Method Detail

      • 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​(java.lang.String name)
      • getCoordinates

        public Coordinate[] getCoordinates()
      • getCoordinate

        public Coordinate getCoordinate​(int i)
      • 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()
      • 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
      • equals

        public boolean equals​(java.lang.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 java.lang.Object
      • isPointwiseEqual

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

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

        public void print​(java.io.PrintStream out)
      • printReverse

        public void printReverse​(java.io.PrintStream out)