GEOS  3.8.0dev
Public Member Functions | Protected Attributes | List of all members
geos::geomgraph::index::SimpleMCSweepLineIntersector Class Reference

Finds all intersections in one or two sets of edges, using an x-axis sweepline algorithm in conjunction with Monotone Chains. More...

#include <SimpleMCSweepLineIntersector.h>

Inherits geos::geomgraph::index::EdgeSetIntersector.

Public Member Functions

void computeIntersections (std::vector< Edge * > *edges, SegmentIntersector *si, bool testAllSegments) override
 
void computeIntersections (std::vector< Edge * > *edges0, std::vector< Edge * > *edges1, SegmentIntersector *si) override
 

Protected Attributes

std::vector< SweepLineEvent * > events
 
int nOverlaps
 

Detailed Description

Finds all intersections in one or two sets of edges, using an x-axis sweepline algorithm in conjunction with Monotone Chains.

While still O(n^2) in the worst case, this algorithm drastically improves the average-case time. The use of MonotoneChains as the items in the index seems to offer an improvement in performance over a sweep-line alone.


The documentation for this class was generated from the following file: