16 #ifndef GEOS_GEOM_PREP_SEGMENTINTERSECTIONDETECTOR_H
17 #define GEOS_GEOM_PREP_SEGMENTINTERSECTIONDETECTOR_H
20 #include <geos/noding/SegmentIntersector.h>
21 #include <geos/algorithm/LineIntersector.h>
22 #include <geos/geom/Coordinate.h>
23 #include <geos/geom/CoordinateArraySequence.h>
24 #include <geos/noding/SegmentString.h>
49 bool _hasIntersection;
50 bool _hasProperIntersection;
51 bool _hasNonProperIntersection;
63 _hasIntersection(
false),
64 _hasProperIntersection(
false),
65 _hasNonProperIntersection(
false),
78 setFindProper(
bool p_findProper)
80 this->findProper = p_findProper;
84 setFindAllIntersectionTypes(
bool p_findAllTypes)
86 this->findAllTypes = p_findAllTypes;
97 return _hasIntersection;
108 return _hasProperIntersection;
119 return _hasNonProperIntersection;
152 return _hasProperIntersection && _hasNonProperIntersection;
157 return _hasProperIntersection;
160 return _hasIntersection;
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
Definition: LineIntersector.h:49
The default implementation of CoordinateSequence.
Definition: CoordinateArraySequence.h:37
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:58
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
Detects and records an intersection between two SegmentStrings, if one exists.
Definition: SegmentIntersectionDetector.h:42
bool hasIntersection() const
Tests whether an intersection was found.
Definition: SegmentIntersectionDetector.h:95
bool isDone() const override
Reports whether the client of this class needs to continue testing all intersections in an arrangemen...
Definition: SegmentIntersectionDetector.h:147
const geom::CoordinateSequence * getIntersectionSegments() const
Gets the endpoints of the intersecting segments.
Definition: SegmentIntersectionDetector.h:141
const geom::Coordinate * getIntersection() const
Gets the computed location of the intersection. Due to round-off, the location may not be exact.
Definition: SegmentIntersectionDetector.h:129
bool hasNonProperIntersection() const
Tests whether a non-proper intersection was found.
Definition: SegmentIntersectionDetector.h:117
void processIntersections(noding::SegmentString *e0, size_t segIndex0, noding::SegmentString *e1, size_t segIndex1) override
This method is called by clients of the SegmentIntersector class to process intersections for two seg...
bool hasProperIntersection() const
Tests whether a proper intersection was found.
Definition: SegmentIntersectionDetector.h:106
Processes possible intersections detected by a Noder.
Definition: noding/SegmentIntersector.h:48
An interface for classes which represent a sequence of contiguous line segments.
Definition: SegmentString.h:46
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26