GEOS
3.9.1dev
|
Detects and records an intersection between two SegmentStrings, if one exists. More...
#include <SegmentIntersectionDetector.h>
Public Member Functions | |
SegmentIntersectionDetector (algorithm::LineIntersector *p_li) | |
~SegmentIntersectionDetector () override | |
void | setFindProper (bool p_findProper) |
void | setFindAllIntersectionTypes (bool p_findAllTypes) |
bool | hasIntersection () const |
Tests whether an intersection was found. More... | |
bool | hasProperIntersection () const |
Tests whether a proper intersection was found. More... | |
bool | hasNonProperIntersection () const |
Tests whether a non-proper intersection was found. More... | |
const geom::Coordinate * | getIntersection () const |
Gets the computed location of the intersection. Due to round-off, the location may not be exact. More... | |
const geom::CoordinateSequence * | getIntersectionSegments () const |
Gets the endpoints of the intersecting segments. More... | |
bool | isDone () const override |
Reports whether the client of this class needs to continue testing all intersections in an arrangement. More... | |
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 segments of the SegmentStrings being intersected. More... | |
![]() | |
virtual | ~SegmentIntersector () |
Private Attributes | |
algorithm::LineIntersector * | li |
bool | findProper |
bool | findAllTypes |
bool | _hasIntersection |
bool | _hasProperIntersection |
bool | _hasNonProperIntersection |
const geom::Coordinate * | intPt |
geom::CoordinateArraySequence * | intSegments |
Additional Inherited Members | |
![]() | |
SegmentIntersector () | |
Detects and records an intersection between two SegmentStrings, if one exists.
This strategy can be configured to search for proper intersections. In this case, the presence of any intersection will still be recorded, but searching will continue until either a proper intersection has been found or no intersections are detected.
Only a single intersection is recorded.
Definition at line 42 of file SegmentIntersectionDetector.h.
|
inline |
Definition at line 58 of file SegmentIntersectionDetector.h.
|
inlineoverride |
Definition at line 70 of file SegmentIntersectionDetector.h.
References intSegments.
|
inline |
Gets the computed location of the intersection. Due to round-off, the location may not be exact.
Definition at line 129 of file SegmentIntersectionDetector.h.
References intPt.
|
inline |
Gets the endpoints of the intersecting segments.
Definition at line 141 of file SegmentIntersectionDetector.h.
References intSegments.
|
inline |
Tests whether an intersection was found.
Definition at line 95 of file SegmentIntersectionDetector.h.
References _hasIntersection.
|
inline |
Tests whether a non-proper intersection was found.
Definition at line 117 of file SegmentIntersectionDetector.h.
References _hasNonProperIntersection.
|
inline |
Tests whether a proper intersection was found.
true
if a proper intersection was found Definition at line 106 of file SegmentIntersectionDetector.h.
References _hasProperIntersection.
|
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.
Definition at line 147 of file SegmentIntersectionDetector.h.
References _hasIntersection, _hasNonProperIntersection, _hasProperIntersection, and processIntersections().
|
overridevirtual |
This method is called by clients of the SegmentIntersector class to process intersections for two segments of the SegmentStrings being intersected.
MonotoneChains
) may optimize away this call for segment pairs which they have determined do not intersect (e.g. by an disjoint envelope test). Implements geos::noding::SegmentIntersector.
Referenced by isDone().
|
inline |
Definition at line 84 of file SegmentIntersectionDetector.h.
|
inline |
Definition at line 78 of file SegmentIntersectionDetector.h.
|
private |
Definition at line 49 of file SegmentIntersectionDetector.h.
Referenced by hasIntersection(), and isDone().
|
private |
Definition at line 51 of file SegmentIntersectionDetector.h.
Referenced by hasNonProperIntersection(), and isDone().
|
private |
Definition at line 50 of file SegmentIntersectionDetector.h.
Referenced by hasProperIntersection(), and isDone().
|
private |
Definition at line 47 of file SegmentIntersectionDetector.h.
|
private |
Definition at line 46 of file SegmentIntersectionDetector.h.
|
private |
Definition at line 53 of file SegmentIntersectionDetector.h.
Referenced by getIntersection().
|
private |
Definition at line 54 of file SegmentIntersectionDetector.h.
Referenced by getIntersectionSegments(), and ~SegmentIntersectionDetector().
|
private |
Definition at line 44 of file SegmentIntersectionDetector.h.