GEOS
3.9.1dev
|
Tests if any line segments in two sets of CoordinateSequences intersect. More...
#include <SegmentIntersectionTester.h>
Public Member Functions | |
SegmentIntersectionTester () | |
bool | hasIntersectionWithLineStrings (const geom::LineString &line, const std::vector< const geom::LineString * > &lines) |
bool | hasIntersection (const geom::LineString &line, const geom::LineString &testLine) |
bool | hasIntersectionWithEnvelopeFilter (const geom::LineString &line, const geom::LineString &testLine) |
Private Attributes | |
algorithm::LineIntersector | li |
For purposes of intersection testing, don't need to set precision model. More... | |
bool | hasIntersectionVar |
Tests if any line segments in two sets of CoordinateSequences intersect.
The algorithm is optimized for use when the first input has smaller extent than the set of test lines. The code is short-circuited to return as soon an intersection is found.
Definition at line 48 of file SegmentIntersectionTester.h.
|
inline |
Definition at line 62 of file SegmentIntersectionTester.h.
bool geos::operation::predicate::SegmentIntersectionTester::hasIntersection | ( | const geom::LineString & | line, |
const geom::LineString & | testLine | ||
) |
bool geos::operation::predicate::SegmentIntersectionTester::hasIntersectionWithEnvelopeFilter | ( | const geom::LineString & | line, |
const geom::LineString & | testLine | ||
) |
Tests the segments of a LineString against the segs in another LineString for intersection. Uses the envelope of the query LineString to filter before testing segments directly. This is optimized for the case when the query LineString is a rectangle.
Testing shows this is somewhat faster than not checking the envelope.
line | |
testLine |
bool geos::operation::predicate::SegmentIntersectionTester::hasIntersectionWithLineStrings | ( | const geom::LineString & | line, |
const std::vector< const geom::LineString * > & | lines | ||
) |
|
private |
Definition at line 58 of file SegmentIntersectionTester.h.
|
private |
For purposes of intersection testing, don't need to set precision model.
Definition at line 56 of file SegmentIntersectionTester.h.