GEOS
3.14.0dev
|
Validates that a collection of SegmentStrings is correctly noded. More...
#include <FastNodingValidator.h>
Public Member Functions | |
FastNodingValidator (std::vector< noding::SegmentString * > &newSegStrings) | |
bool | isValid () |
Checks for an intersection and reports if one is found. More... | |
std::string | getErrorMessage () const |
Returns an error message indicating the segments containing the intersection. More... | |
void | checkValid () |
Checks for an intersection and throws a TopologyException if one is found. More... | |
Validates that a collection of SegmentStrings 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.
void geos::noding::FastNodingValidator::checkValid | ( | ) |
Checks for an intersection and throws a TopologyException if one is found.
TopologyException | if an intersection is found |
std::string geos::noding::FastNodingValidator::getErrorMessage | ( | ) | const |
Returns an error message indicating the segments containing the intersection.
|
inline |
Checks for an intersection and reports if one is found.