com.vividsolutions.jts.noding
Class SegmentIntersector
java.lang.Object
com.vividsolutions.jts.noding.SegmentIntersector
public class SegmentIntersector
extends java.lang.Object
Computes the intersections between two line segments in
SegmentString
s
and adds them to each string.
The
SegmentIntersector
is passed to a
Noder
.
The
addIntersections
method is called whenever the
Noder
detects that two SegmentStrings
might intersect.
This class is an example of the
Strategy pattern.
numInteriorIntersections
public int numInteriorIntersections
numIntersections
public int numIntersections
numProperIntersections
public int numProperIntersections
numTests
public int numTests
getProperIntersectionPoint
public Coordinate getProperIntersectionPoint()
- the proper intersection point, or
null
if none was found
hasInteriorIntersection
public boolean hasInteriorIntersection()
An interior intersection is an intersection which is
in the interior of some segment.
hasIntersection
public boolean hasIntersection()
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.
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.
isAdjacentSegments
public static boolean isAdjacentSegments(int i1,
int i2)
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
MonotoneChain
s) may optimize away
this call for segment pairs which they have determined do not intersect
(e.g. by an disjoint envelope test).