19 #include <geos/noding/SegmentIntersector.h>
20 #include <geos/algorithm/LineIntersector.h>
21 #include <geos/geom/Coordinate.h>
22 #include <geos/geom/CoordinateSequence.h>
23 #include <geos/noding/SegmentString.h>
48 bool _hasIntersection;
49 bool _hasProperIntersection;
50 bool _hasNonProperIntersection;
62 _hasIntersection(
false),
63 _hasProperIntersection(
false),
64 _hasNonProperIntersection(
false),
77 setFindProper(
bool p_findProper)
79 this->findProper = p_findProper;
83 setFindAllIntersectionTypes(
bool p_findAllTypes)
85 this->findAllTypes = p_findAllTypes;
96 return _hasIntersection;
107 return _hasProperIntersection;
118 return _hasNonProperIntersection;
151 return _hasProperIntersection && _hasNonProperIntersection;
156 return _hasProperIntersection;
159 return _hasIntersection;
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
Definition: LineIntersector.h:53
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:56
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:217
Detects and records an intersection between two SegmentStrings, if one exists.
Definition: SegmentIntersectionDetector.h:41
bool hasIntersection() const
Tests whether an intersection was found.
Definition: SegmentIntersectionDetector.h:94
bool isDone() const override
Reports whether the client of this class needs to continue testing all intersections in an arrangemen...
Definition: SegmentIntersectionDetector.h:146
const geom::CoordinateSequence * getIntersectionSegments() const
Gets the endpoints of the intersecting segments.
Definition: SegmentIntersectionDetector.h:140
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:128
bool hasNonProperIntersection() const
Tests whether a non-proper intersection was found.
Definition: SegmentIntersectionDetector.h:116
void processIntersections(noding::SegmentString *e0, std::size_t segIndex0, noding::SegmentString *e1, std::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:105
Processes possible intersections detected by a Noder.
Definition: noding/SegmentIntersector.h:45
An interface for classes which represent a sequence of contiguous line segments.
Definition: SegmentString.h:47
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25