public class FastNodingValidator
extends java.lang.Object
SegmentString
s is correctly noded.
Indexing is used to improve performance.
By default validation stops after a single
non-noded intersection is detected.
Alternatively, it can be requested to detect all intersections
by using setFindAllIntersections(boolean)
.
The validator does not check for topology collapse situations (e.g. where two segment strings are fully co-incident).
The validator checks for the following situations which indicated incorrect noding:
The client may either test the isValid()
condition,
or request that a suitable TopologyException
be thrown.
NodingIntersectionFinder
Constructor | Description |
---|---|
FastNodingValidator(java.util.Collection segStrings) |
Creates a new noding validator for a given set of linework.
|
Modifier and Type | Method | Description |
---|---|---|
void |
checkValid() |
Checks for an intersection and throws
a TopologyException if one is found.
|
static java.util.List |
computeIntersections(java.util.Collection segStrings) |
Gets a list of all intersections found.
|
java.lang.String |
getErrorMessage() |
Returns an error message indicating the segments containing
the intersection.
|
java.util.List |
getIntersections() |
Gets a list of all intersections found.
|
boolean |
isValid() |
Checks for an intersection and
reports if one is found.
|
void |
setFindAllIntersections(boolean findAllIntersections) |
public FastNodingValidator(java.util.Collection segStrings)
segStrings
- a collection of SegmentString
spublic static java.util.List computeIntersections(java.util.Collection segStrings)
Coordinate
s.
List is empty if none were found.segStrings
- a collection of SegmentStringspublic void setFindAllIntersections(boolean findAllIntersections)
public java.util.List getIntersections()
Coordinate
s.
List is empty if none were found.public boolean isValid()
public java.lang.String getErrorMessage()
public void checkValid()
TopologyException
- if an intersection is foundCopyright © 2018. All rights reserved.