GEOS 3.14.0dev
Public Member Functions | List of all members
geos::noding::IteratedNoder Class Reference

Nodes a set of SegmentStrings completely. More...

#include <IteratedNoder.h>

Inheritance diagram for geos::noding::IteratedNoder:
geos::noding::Noder

Public Member Functions

 IteratedNoder (const geom::PrecisionModel *newPm)
 
void setMaximumIterations (int n)
 Sets the maximum number of noding iterations performed before the noding is aborted.
 
std::vector< SegmentString * > * getNodedSubstrings () const override
 Returns a collection of fully noded SegmentStrings. The SegmentStrings have the same context as their parent.
 
void computeNodes (std::vector< SegmentString * > *inputSegmentStrings) override
 Fully nodes a list of SegmentStrings, i.e. performs noding iteratively until no intersections are found between segments.
 

Detailed Description

Nodes a set of SegmentStrings completely.

The set of segmentStrings is fully noded; i.e. noding is repeated until no further intersections are detected.

Iterated noding using a FLOATING precision model is not guaranteed to converge, due to roundoff error. This problem is detected and an exception is thrown. Clients can choose to rerun the noding using a lower precision model.

Member Function Documentation

◆ computeNodes()

void geos::noding::IteratedNoder::computeNodes ( std::vector< SegmentString * > *  inputSegmentStrings)
overridevirtual

Fully nodes a list of SegmentStrings, i.e. performs noding iteratively until no intersections are found between segments.

Maintains labelling of edges correctly through the noding.

Parameters
inputSegmentStringsa collection of SegmentStrings to be noded
Exceptions
TopologyExceptionif the iterated noding fails to converge.

Implements geos::noding::Noder.

◆ getNodedSubstrings()

std::vector< SegmentString * > * geos::noding::IteratedNoder::getNodedSubstrings ( ) const
inlineoverridevirtual

Returns a collection of fully noded SegmentStrings. The SegmentStrings have the same context as their parent.

Returns
a newly allocated std::vector of newly allocated SegmentStrings (copies of input, if needs be). Caller is responsible to delete container and elements.

Implements geos::noding::Noder.

◆ setMaximumIterations()

void geos::noding::IteratedNoder::setMaximumIterations ( int  n)
inline

Sets the maximum number of noding iterations performed before the noding is aborted.

Experience suggests that this should rarely need to be changed from the default. The default is MAX_ITER.

Parameters
nthe maximum number of iterations to perform

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