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

Nodes a set of SegmentString using a index based on MonotoneChain and a SpatialIndex. More...

#include <MCIndexNoder.h>

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

Classes

class  SegmentOverlapAction
 

Public Member Functions

 MCIndexNoder (SegmentIntersector *nSegInt=nullptr, double p_overlapTolerance=0.0)
 
 ~MCIndexNoder () override
 
std::vector< index::chain::MonotoneChain * > & getMonotoneChains ()
 Return a reference to this instance's std::vector of MonotoneChains. More...
 
index::SpatialIndexgetIndex ()
 
std::vector< SegmentString * > * getNodedSubstrings () const override
 Returns a Collection of fully noded SegmentStrings. More...
 
void computeNodes (std::vector< SegmentString * > *inputSegmentStrings) override
 Computes the noding for a collection of SegmentStrings. More...
 
- Public Member Functions inherited from geos::noding::SinglePassNoder
 SinglePassNoder (SegmentIntersector *nSegInt=nullptr)
 
 ~SinglePassNoder () override
 
virtual void setSegmentIntersector (SegmentIntersector *newSegInt)
 Sets the SegmentIntersector to use with this noder. More...
 
- Public Member Functions inherited from geos::noding::Noder
virtual ~Noder ()
 

Private Member Functions

void intersectChains ()
 
void add (SegmentString *segStr)
 

Private Attributes

std::vector< index::chain::MonotoneChain * > monoChains
 
index::strtree::SimpleSTRtree index
 
int idCounter
 
std::vector< SegmentString * > * nodedSegStrings
 
int nOverlaps
 
double overlapTolerance
 

Additional Inherited Members

- Protected Member Functions inherited from geos::noding::Noder
 Noder ()
 
- Protected Attributes inherited from geos::noding::SinglePassNoder
SegmentIntersectorsegInt
 Externally owned. More...
 

Detailed Description

Nodes a set of SegmentString using a index based on MonotoneChain and a SpatialIndex.

The SpatialIndex used should be something that supports envelope (range) queries efficiently (such as a Quadtree or STRtree).

Last port: noding/MCIndexNoder.java rev. 1.4 (JTS-1.7)

Definition at line 65 of file MCIndexNoder.h.

Constructor & Destructor Documentation

geos::noding::MCIndexNoder::MCIndexNoder ( SegmentIntersector nSegInt = nullptr,
double  p_overlapTolerance = 0.0 
)
inline

Definition at line 82 of file MCIndexNoder.h.

geos::noding::MCIndexNoder::~MCIndexNoder ( )
override

Member Function Documentation

void geos::noding::MCIndexNoder::add ( SegmentString segStr)
private
void geos::noding::MCIndexNoder::computeNodes ( std::vector< SegmentString * > *  segStrings)
overridevirtual

Computes the noding for a collection of SegmentStrings.

Parameters
segStringsa collection of SegmentStrings to node

Implements geos::noding::SinglePassNoder.

index::SpatialIndex& geos::noding::MCIndexNoder::getIndex ( )
std::vector<index::chain::MonotoneChain*>& geos::noding::MCIndexNoder::getMonotoneChains ( )
inline

Return a reference to this instance's std::vector of MonotoneChains.

Definition at line 95 of file MCIndexNoder.h.

std::vector<SegmentString*>* geos::noding::MCIndexNoder::getNodedSubstrings ( ) const
overridevirtual

Returns a Collection of fully noded SegmentStrings.

The SegmentStrings have the same context as their parent.

Returns
a Collection of SegmentStrings

Implements geos::noding::SinglePassNoder.

void geos::noding::MCIndexNoder::intersectChains ( )
private

Member Data Documentation

int geos::noding::MCIndexNoder::idCounter
private

Definition at line 70 of file MCIndexNoder.h.

index::strtree::SimpleSTRtree geos::noding::MCIndexNoder::index
private

Definition at line 69 of file MCIndexNoder.h.

std::vector<index::chain::MonotoneChain*> geos::noding::MCIndexNoder::monoChains
private

Definition at line 68 of file MCIndexNoder.h.

std::vector<SegmentString*>* geos::noding::MCIndexNoder::nodedSegStrings
private

Definition at line 71 of file MCIndexNoder.h.

int geos::noding::MCIndexNoder::nOverlaps
private

Definition at line 73 of file MCIndexNoder.h.

double geos::noding::MCIndexNoder::overlapTolerance
private

Definition at line 74 of file MCIndexNoder.h.


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