19#include <geos/index/strtree/TemplateSTRtree.h>
20#include <geos/index/chain/MonotoneChain.h>
21#include <geos/export.h>
35 class RelateSegmentString;
36 class EdgeSegmentIntersector;
44using geos::index::strtree::TemplateSTRtree;
46using geos::operation::relateng::EdgeSegmentIntersector;
53class GEOS_DLL EdgeSetIntersector {
58 TemplateSTRtree<const MonotoneChain*> index;
61 std::deque<MonotoneChain> monoChains;
62 std::size_t overlapCounter = 0;
67 void addToIndex(
const SegmentString* segStr);
69 void addEdges(std::vector<const SegmentString*>& segStrings);
75 std::vector<const SegmentString*>& edgesA,
76 std::vector<const SegmentString*>& edgesB,
86 void process(EdgeSegmentIntersector& intersector);
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition Envelope.h:59
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:197
Monotone Chains are a way of partitioning the segments of a linestring to allow for fast searching of...
Definition index/chain/MonotoneChain.h:85
Basic namespace for all GEOS functionalities.
Definition geos.h:39