15 #ifndef GEOS_NODING_NODINGINTERSECTIONFINDER_H 16 #define GEOS_NODING_NODINGINTERSECTIONFINDER_H 26 class LineIntersector;
60 interiorIntersection(geom::Coordinate::getNull()),
62 isCheckEndSegmentsOnly(false),
63 findAllIntersections(false)
75 return !interiorIntersection.isNull();
87 return interiorIntersection;
98 return intersectionCount;
114 isCheckEndSegmentsOnly = isCESO;
131 findAllIntersections = fAI;
139 const std::vector<geom::Coordinate>&
154 void processIntersections(
161 return !interiorIntersection.isNull();
186 bool isInteriorVertexIntersection(
188 bool isEnd0,
bool isEnd1);
206 bool isInteriorVertexIntersection(
209 bool isEnd00,
bool isEnd01,
bool isEnd10,
bool isEnd11);
219 bool isEndSegment(
const SegmentString* segStr,
size_t index);
227 #endif // GEOS_NODING_NODINGINTERSECTIONFINDER_H Coordinate is the lightweight class used to store coordinates.
bool findAllIntersections
An interface for classes which represent a sequence of contiguous line segments.
const geom::Coordinate & getInteriorIntersection() const
Gets the computed location of the intersection. Due to round-off, the location may not be exact...
algorithm::LineIntersector & li
const std::vector< geom::Coordinate > & getIntersectionSegments() const
Gets the endpoints of the intersecting segments.
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
std::vector< geom::Coordinate > intSegments
bool isCheckEndSegmentsOnly
void setCheckEndSegmentsOnly(bool isCESO)
Sets whether only end segments should be tested for interior intersection.
bool isDone() const override
Reports whether the client of this class needs to continue testing all intersections in an arrangemen...
Basic namespace for all GEOS functionalities.
Finds non-noded intersections in a set of SegmentStrings, if any exist.
Processes possible intersections detected by a Noder.
size_t count() const
Gets the count of intersections found.
bool hasIntersection() const
Tests whether an intersection was found.
NodingIntersectionFinder(algorithm::LineIntersector &newLi)
Creates an intersection finder which finds an interior intersection if one exists.
void setFindAllIntersections(bool fAI)
Sets whether all intersections should be computed.
geom::Coordinate interiorIntersection