GEOS  3.9.1dev
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
geos::noding::MCIndexSegmentSetMutualIntersector Class Reference

Intersects two sets of SegmentStrings using a index based on MonotoneChains and a SpatialIndex. More...

#include <MCIndexSegmentSetMutualIntersector.h>

Inheritance diagram for geos::noding::MCIndexSegmentSetMutualIntersector:
[legend]
Collaboration diagram for geos::noding::MCIndexSegmentSetMutualIntersector:
[legend]

Classes

class  SegmentOverlapAction
 

Public Member Functions

 MCIndexSegmentSetMutualIntersector ()
 
 ~MCIndexSegmentSetMutualIntersector () override
 
index::SpatialIndexgetIndex ()
 
void setBaseSegments (SegmentString::ConstVect *segStrings) override
 
void process (SegmentString::ConstVect *segStrings) override
 
 MCIndexSegmentSetMutualIntersector (const MCIndexSegmentSetMutualIntersector &)=delete
 
MCIndexSegmentSetMutualIntersectoroperator= (const MCIndexSegmentSetMutualIntersector &)=delete
 
- Public Member Functions inherited from geos::noding::SegmentSetMutualIntersector
 SegmentSetMutualIntersector ()
 
virtual ~SegmentSetMutualIntersector ()
 
void setSegmentIntersector (SegmentIntersector *si)
 

Private Types

typedef std::vector< std::unique_ptr< index::chain::MonotoneChain > > MonoChains
 

Private Member Functions

void addToIndex (SegmentString *segStr)
 
void intersectChains ()
 
void addToMonoChains (SegmentString *segStr)
 

Private Attributes

MonoChains monoChains
 
index::SpatialIndexindex
 
int indexCounter
 
int processCounter
 
int nOverlaps
 
MonoChains chainStore
 

Additional Inherited Members

- Protected Attributes inherited from geos::noding::SegmentSetMutualIntersector
SegmentIntersectorsegInt
 

Detailed Description

Intersects two sets of SegmentStrings using a index based on MonotoneChains and a SpatialIndex.

Version
1.7

Definition at line 55 of file MCIndexSegmentSetMutualIntersector.h.

Member Typedef Documentation

Definition at line 99 of file MCIndexSegmentSetMutualIntersector.h.

Constructor & Destructor Documentation

geos::noding::MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector ( )
geos::noding::MCIndexSegmentSetMutualIntersector::~MCIndexSegmentSetMutualIntersector ( )
override
geos::noding::MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector ( const MCIndexSegmentSetMutualIntersector )
delete

Disable copy construction and assignment. Apparently needed to make this class compile under MSVC. (See https://stackoverflow.com/q/29565299)

Member Function Documentation

void geos::noding::MCIndexSegmentSetMutualIntersector::addToIndex ( SegmentString segStr)
private
void geos::noding::MCIndexSegmentSetMutualIntersector::addToMonoChains ( SegmentString segStr)
private
index::SpatialIndex* geos::noding::MCIndexSegmentSetMutualIntersector::getIndex ( )
inline

Definition at line 63 of file MCIndexSegmentSetMutualIntersector.h.

void geos::noding::MCIndexSegmentSetMutualIntersector::intersectChains ( )
private
MCIndexSegmentSetMutualIntersector& geos::noding::MCIndexSegmentSetMutualIntersector::operator= ( const MCIndexSegmentSetMutualIntersector )
delete
void geos::noding::MCIndexSegmentSetMutualIntersector::process ( SegmentString::ConstVect segStrings)
overridevirtual

Computes the intersections for two collections of SegmentStrings.

Parameters
segStringsa collection of SegmentStrings to node

Implements geos::noding::SegmentSetMutualIntersector.

void geos::noding::MCIndexSegmentSetMutualIntersector::setBaseSegments ( SegmentString::ConstVect segStrings)
overridevirtual
Parameters
segStringsa collection of SegmentStrings to node

Implements geos::noding::SegmentSetMutualIntersector.

Member Data Documentation

MonoChains geos::noding::MCIndexSegmentSetMutualIntersector::chainStore
private

Definition at line 116 of file MCIndexSegmentSetMutualIntersector.h.

index::SpatialIndex* geos::noding::MCIndexSegmentSetMutualIntersector::index
private

Definition at line 107 of file MCIndexSegmentSetMutualIntersector.h.

int geos::noding::MCIndexSegmentSetMutualIntersector::indexCounter
private

Definition at line 108 of file MCIndexSegmentSetMutualIntersector.h.

MonoChains geos::noding::MCIndexSegmentSetMutualIntersector::monoChains
private

Definition at line 100 of file MCIndexSegmentSetMutualIntersector.h.

int geos::noding::MCIndexSegmentSetMutualIntersector::nOverlaps
private

Definition at line 111 of file MCIndexSegmentSetMutualIntersector.h.

int geos::noding::MCIndexSegmentSetMutualIntersector::processCounter
private

Definition at line 109 of file MCIndexSegmentSetMutualIntersector.h.


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