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 ()
std::string getErrorMessage () const
void checkValid ()

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.

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

Returns an error message indicating the segments containing the intersection.

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

Checks for an intersection and reports if one is found.

true if the arrangement contains an interior intersection

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