Class IntersectionAdder

java.lang.Object
org.locationtech.jts.noding.IntersectionAdder
All Implemented Interfaces:
SegmentIntersector

public class IntersectionAdder extends Object implements SegmentIntersector
Computes the possible intersections between two line segments in NodedSegmentStrings and adds them to each string using NodedSegmentString.addIntersection(LineIntersector, int, int, int).
Version:
1.7
  • Field Details

    • hasIntersection

      private boolean hasIntersection
      These variables keep track of what types of intersections were found during ALL edges that have been intersected.
    • hasProper

      private boolean hasProper
    • hasProperInterior

      private boolean hasProperInterior
    • hasInterior

      private boolean hasInterior
    • properIntersectionPoint

      private Coordinate properIntersectionPoint
    • li

      private LineIntersector li
    • isSelfIntersection

      private boolean isSelfIntersection
    • numIntersections

      public int numIntersections
    • numInteriorIntersections

      public int numInteriorIntersections
    • numProperIntersections

      public int numProperIntersections
    • numTests

      public int numTests
  • Constructor Details

  • Method Details

    • isAdjacentSegments

      public static boolean isAdjacentSegments(int i1, int i2)
    • getLineIntersector

      public LineIntersector getLineIntersector()
    • getProperIntersectionPoint

      public Coordinate getProperIntersectionPoint()
      Returns:
      the proper intersection point, or null if none was found
    • hasIntersection

      public boolean hasIntersection()
    • hasProperIntersection

      public boolean hasProperIntersection()
      A proper intersection is an intersection which is interior to at least two line segments. Note that a proper intersection is not necessarily in the interior of the entire Geometry, since another edge may have an endpoint equal to the intersection, which according to SFS semantics can result in the point being on the Boundary of the Geometry.
    • hasProperInteriorIntersection

      public boolean hasProperInteriorIntersection()
      A proper interior intersection is a proper intersection which is not contained in the set of boundary nodes set for this SegmentIntersector.
    • hasInteriorIntersection

      public boolean hasInteriorIntersection()
      An interior intersection is an intersection which is in the interior of some segment.
    • isTrivialIntersection

      private boolean isTrivialIntersection(SegmentString e0, int segIndex0, SegmentString e1, int segIndex1)
      A trivial intersection is an apparent self-intersection which in fact is simply the point shared by adjacent line segments. Note that closed edges require a special check for the point shared by the beginning and end segments.
    • processIntersections

      public void processIntersections(SegmentString e0, int segIndex0, SegmentString e1, int segIndex1)
      This method is called by clients of the SegmentIntersector class to process intersections for two segments of the SegmentStrings being intersected. Note that some clients (such as MonotoneChains) may optimize away this call for segment pairs which they have determined do not intersect (e.g. by an disjoint envelope test).
      Specified by:
      processIntersections in interface SegmentIntersector
    • isDone

      public boolean isDone()
      Always process all intersections
      Specified by:
      isDone in interface SegmentIntersector
      Returns:
      false always