GEOS 3.11.1
|
Finds all intersections in one or two sets of edges, using a simple x-axis sweepline algorithm. More...
#include <SimpleSweepLineIntersector.h>
Public Member Functions | |
void | computeIntersections (std::vector< Edge * > *edges, SegmentIntersector *si, bool testAllSegments) override |
Computes all self-intersections between edges in a set of edges, allowing client to choose whether self-intersections are computed. More... | |
void | computeIntersections (std::vector< Edge * > *edges0, std::vector< Edge * > *edges1, SegmentIntersector *si) override |
Computes all mutual intersections between two sets of edges. More... | |
virtual void | computeIntersections (std::vector< Edge * > *edges, SegmentIntersector *si, bool testAllSegments)=0 |
Computes all self-intersections between edges in a set of edges, allowing client to choose whether self-intersections are computed. More... | |
virtual void | computeIntersections (std::vector< Edge * > *edges0, std::vector< Edge * > *edges1, SegmentIntersector *si)=0 |
Computes all mutual intersections between two sets of edges. More... | |
Finds all intersections in one or two sets of edges, using a simple x-axis sweepline algorithm.
While still O(n^2) in the worst case, this algorithm drastically improves the average-case time.
|
overridevirtual |
Computes all self-intersections between edges in a set of edges, allowing client to choose whether self-intersections are computed.
edges | a list of edges to test for intersections |
si | the SegmentIntersector to use |
testAllSegments | true if self-intersections are to be tested as well |
Implements geos::geomgraph::index::EdgeSetIntersector.
|
overridevirtual |
Computes all mutual intersections between two sets of edges.
Implements geos::geomgraph::index::EdgeSetIntersector.