JTS Topology Suite version 1.13

com.vividsolutions.jts.geomgraph.index
Class SegmentIntersector

java.lang.Object
  extended by com.vividsolutions.jts.geomgraph.index.SegmentIntersector

public class SegmentIntersector
extends java.lang.Object

Computes the intersection of line segments, and adds the intersection to the edges containing the segments.

Version:
1.7

Field Summary
 int numTests
           
 
Constructor Summary
SegmentIntersector(LineIntersector li, boolean includeProper, boolean recordIsolated)
           
 
Method Summary
 void addIntersections(Edge e0, int segIndex0, Edge e1, int segIndex1)
          This method is called by clients of the EdgeIntersector class to test for and add intersections for two segments of the edges being intersected.
 Coordinate getProperIntersectionPoint()
           
 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)
           
 void setBoundaryNodes(java.util.Collection bdyNodes0, java.util.Collection bdyNodes1)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

numTests

public int numTests
Constructor Detail

SegmentIntersector

public SegmentIntersector(LineIntersector li,
                          boolean includeProper,
                          boolean recordIsolated)
Method Detail

isAdjacentSegments

public static boolean isAdjacentSegments(int i1,
                                         int i2)

setBoundaryNodes

public void setBoundaryNodes(java.util.Collection bdyNodes0,
                             java.util.Collection bdyNodes1)

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.


addIntersections

public void addIntersections(Edge e0,
                             int segIndex0,
                             Edge e1,
                             int segIndex1)
This method is called by clients of the EdgeIntersector class to test for and add intersections for two segments of the edges being intersected. Note that clients (such as MonotoneChainEdges) may choose not to intersect certain pairs of segments for efficiency reasons.


JTS Topology Suite version 1.13