21#include <geos/noding/NodingIntersectionFinder.h>
22#include <geos/algorithm/LineIntersector.h>
59class FastNodingValidator {
63 FastNodingValidator(
const std::vector<std::unique_ptr<SegmentString>>& newSegStrings)
69 segStrings.resize(newSegStrings.size());
70 for (std::size_t i = 0; i < newSegStrings.size(); ++i) {
71 segStrings[i] = newSegStrings[i].get();
108 std::vector<SegmentString*> segStrings;
110 std::unique_ptr<NodingIntersectionFinder> segInt;
117 if(segInt.get() !=
nullptr) {
120 checkInteriorIntersections();
123 void checkInteriorIntersections();
126 FastNodingValidator(
const FastNodingValidator& other) =
delete;
127 FastNodingValidator& operator=(
const FastNodingValidator& rhs) =
delete;
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
Definition LineIntersector.h:53
void checkValid()
Checks for an intersection and throws a TopologyException if one is found.
std::string getErrorMessage() const
Returns an error message indicating the segments containing the intersection.
bool isValid()
Checks for an intersection and reports if one is found.
Definition FastNodingValidator.h:82
An interface for classes which represent a sequence of contiguous line segments.
Definition SegmentString.h:49
Classes to compute nodings for arrangements of line segments and line segment sequences.
Definition CoverageCleaner.h:42
Basic namespace for all GEOS functionalities.
Definition geos.h:38