GEOS  3.8.0dev
Public Member Functions | List of all members
geos::noding::FastNodingValidator Class Reference

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...
 

Detailed Description

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.

Member Function Documentation

void geos::noding::FastNodingValidator::checkValid ( )

Checks for an intersection and throws a TopologyException if one is found.

Exceptions
TopologyExceptionif an intersection is found
std::string geos::noding::FastNodingValidator::getErrorMessage ( ) const

Returns an error message indicating the segments containing the intersection.

Returns
an error message documenting the intersection location
bool geos::noding::FastNodingValidator::isValid ( )
inline

Checks for an intersection and reports if one is found.

Returns
true if the arrangement contains an interior intersection

The documentation for this class was generated from the following file: