GEOS
3.9.1dev
|
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... | |
Private Member Functions | |
void | execute () |
void | checkInteriorIntersections () |
FastNodingValidator (const FastNodingValidator &other)=delete | |
FastNodingValidator & | operator= (const FastNodingValidator &rhs)=delete |
Private Attributes | |
geos::algorithm::LineIntersector | li |
std::vector< noding::SegmentString * > & | segStrings |
std::unique_ptr< NodingIntersectionFinder > | segInt |
bool | isValidVar |
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.
Definition at line 60 of file FastNodingValidator.h.
|
inline |
Definition at line 64 of file FastNodingValidator.h.
|
privatedelete |
|
private |
void geos::noding::FastNodingValidator::checkValid | ( | ) |
Checks for an intersection and throws a TopologyException if one is found.
TopologyException | if an intersection is found |
Referenced by geos::geomgraph::EdgeNodingValidator::checkValid().
|
inlineprivate |
Definition at line 113 of file FastNodingValidator.h.
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.
Definition at line 80 of file FastNodingValidator.h.
|
privatedelete |
|
private |
Definition at line 110 of file FastNodingValidator.h.
|
private |
Definition at line 104 of file FastNodingValidator.h.
|
private |
Definition at line 108 of file FastNodingValidator.h.
|
private |
Definition at line 106 of file FastNodingValidator.h.