47class GEOS_DLL MCIndexSegmentSetMutualIntersector :
public SegmentSetMutualIntersector {
50 MCIndexSegmentSetMutualIntersector(
double p_tolerance)
55 , overlapTolerance(p_tolerance)
60 MCIndexSegmentSetMutualIntersector(
const geom::Envelope* p_envelope)
65 , overlapTolerance(0.0)
67 , envelope(p_envelope)
70 MCIndexSegmentSetMutualIntersector()
71 : MCIndexSegmentSetMutualIntersector(0.0)
74 ~MCIndexSegmentSetMutualIntersector()
override
86 void process(SegmentString::ConstVect* segStrings)
override;
93 SegmentOverlapAction(
const SegmentOverlapAction& other) =
delete;
94 SegmentOverlapAction& operator=(
const SegmentOverlapAction& rhs) =
delete;
110 MCIndexSegmentSetMutualIntersector& operator=(
const MCIndexSegmentSetMutualIntersector&) =
delete;
114 typedef std::vector<index::chain::MonotoneChain> MonoChains;
115 MonoChains monoChains;
122 index::strtree::TemplateSTRtree<const index::chain::MonotoneChain*> index;
127 double overlapTolerance;
133 MonoChains indexChains;
138 void intersectChains();