Package org.locationtech.jts.noding
Class IntersectionAdder
- java.lang.Object
-
- org.locationtech.jts.noding.IntersectionAdder
-
- All Implemented Interfaces:
SegmentIntersector
public class IntersectionAdder extends java.lang.Object implements SegmentIntersector
Computes the possible intersections between two line segments inNodedSegmentString
s and adds them to each string usingNodedSegmentString.addIntersection(LineIntersector, int, int, int)
.- Version:
- 1.7
-
-
Field Summary
Fields Modifier and Type Field Description int
numInteriorIntersections
int
numIntersections
int
numProperIntersections
int
numTests
-
Constructor Summary
Constructors Constructor Description IntersectionAdder(LineIntersector li)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description LineIntersector
getLineIntersector()
Coordinate
getProperIntersectionPoint()
boolean
hasInteriorIntersection()
An interior intersection is an intersection which is in the interior of some segment.boolean
hasIntersection()
boolean
hasProperInteriorIntersection()
A proper interior intersection is a proper intersection which is not contained in the set of boundary nodes set for this SegmentIntersector.boolean
hasProperIntersection()
A proper intersection is an intersection which is interior to at least two line segments.static boolean
isAdjacentSegments(int i1, int i2)
boolean
isDone()
Always process all intersectionsvoid
processIntersections(SegmentString e0, int segIndex0, SegmentString e1, int segIndex1)
This method is called by clients of theSegmentIntersector
class to process intersections for two segments of theSegmentString
s being intersected.
-
-
-
Constructor Detail
-
IntersectionAdder
public IntersectionAdder(LineIntersector li)
-
-
Method Detail
-
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.
-
processIntersections
public void processIntersections(SegmentString e0, int segIndex0, SegmentString e1, int segIndex1)
This method is called by clients of theSegmentIntersector
class to process intersections for two segments of theSegmentString
s being intersected. Note that some clients (such asMonotoneChain
s) 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 interfaceSegmentIntersector
-
isDone
public boolean isDone()
Always process all intersections- Specified by:
isDone
in interfaceSegmentIntersector
- Returns:
- false always
-
-