20 #ifndef GEOS_NODING_MCINDEXSEGMENTSETMUTUALINTERSECTOR_H
21 #define GEOS_NODING_MCINDEXSEGMENTSETMUTUALINTERSECTOR_H
23 #include <geos/noding/SegmentSetMutualIntersector.h>
24 #include <geos/index/chain/MonotoneChainOverlapAction.h>
25 #include <geos/index/chain/MonotoneChain.h>
26 #include <geos/index/strtree/TemplateSTRtree.h>
40 class SegmentIntersector;
79 void process(SegmentString::ConstVect* segStrings)
override;
86 SegmentOverlapAction(
const SegmentOverlapAction& other) =
delete;
87 SegmentOverlapAction& operator=(
const SegmentOverlapAction& rhs) =
delete;
91 index::chain::MonotoneChainOverlapAction(), si(p_si)
107 typedef std::vector<index::chain::MonotoneChain> MonoChains;
108 MonoChains monoChains;
115 index::strtree::TemplateSTRtree<const index::chain::MonotoneChain*> index;
125 MonoChains indexChains;
129 void intersectChains();
Abstract class defines basic insertion and query operations supported by classes implementing spatial...
Definition: SpatialIndex.h:47
The action for the internal iterator for performing overlap queries on a MonotoneChain.
Definition: MonotoneChainOverlapAction.h:43
Monotone Chains are a way of partitioning the segments of a linestring to allow for fast searching of...
Definition: index/chain/MonotoneChain.h:86
Intersects two sets of SegmentStrings using a index based on MonotoneChains and a SpatialIndex.
Definition: MCIndexSegmentSetMutualIntersector.h:56
MCIndexSegmentSetMutualIntersector(const MCIndexSegmentSetMutualIntersector &)=delete
void setBaseSegments(SegmentString::ConstVect *segStrings) override
void process(SegmentString::ConstVect *segStrings) override
Processes possible intersections detected by a Noder.
Definition: noding/SegmentIntersector.h:48
An intersector for the red-blue intersection problem.
Definition: SegmentSetMutualIntersector.h:37
An interface for classes which represent a sequence of contiguous line segments.
Definition: SegmentString.h:46
Basic namespace for all GEOS functionalities.
Definition: Angle.h:26