GEOS 3.14.0dev
|
#include <InvalidSegmentDetector.h>
Public Member Functions | |
InvalidSegmentDetector () | |
InvalidSegmentDetector (double p_distanceTol) | |
bool | isDone () const override |
Reports whether the client of this class needs to continue testing all intersections in an arrangement. | |
void | processIntersections (SegmentString *ssAdj, std::size_t iAdj, SegmentString *ssTarget, std::size_t iTarget) override |
Detects invalid coverage topology where ring segments interact. The inputs to processIntersections(SegmentString, int, SegmentString, int)} must be CoverageRing s. If an invalid situation is detected the input target segment is marked invalid using CoverageRing::markInvalid(int).
This class assumes it is used with SegmentSetMutualIntersector, so that segments in the same ring are not evaluated.
|
inline |
Creates an invalid segment detector.
|
inlineoverridevirtual |
Reports whether the client of this class needs to continue testing all intersections in an arrangement.
The default implementation always return false (process all intersections).
Reimplemented from geos::noding::SegmentIntersector.
|
overridevirtual |
Process interacting segments. The input order is important. The adjacent segment is first, the target is second. The inputs must be CoverageRing.
Implements geos::noding::SegmentIntersector.