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

#include <BoundaryChainNoder.h>

Inheritance diagram for geos::noding::BoundaryChainNoder:
geos::noding::Noder

Public Types

using SegmentSet = std::unordered_set< Segment, Segment::HashCode >
 

Public Member Functions

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 * > *inputSegStrings) override
 Computes the noding for a collection of SegmentStrings.
 

Detailed Description

A noder which extracts chains of boundary segments as SegmentStrings from a polygonal coverage. Boundary segments are those which are not duplicated in the input polygonal coverage. Extracting chains of segments minimize the number of segment strings created, which produces a more efficient topological graph structure.

This enables fast overlay of polygonal coverages in CoverageUnion. Using this noder is faster than SegmentExtractingNoder and BoundarySegmentNoder.

No precision reduction is carried out. If that is required, another noder must be used (such as a snap-rounding noder), or the input must be precision-reduced beforehand.

Author
Martin Davis

Member Function Documentation

◆ computeNodes()

void geos::noding::BoundaryChainNoder::computeNodes ( std::vector< SegmentString * > *  segStrings)
overridevirtual

Computes the noding for a collection of SegmentStrings.

Some Noders may add all these nodes to the input SegmentStrings; others may only add some or none at all.

Parameters
segStringsa collection of SegmentStrings to node The caller remains responsible for releasing the memory associated with the container and its elements.

Implements geos::noding::Noder.

◆ getNodedSubstrings()

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

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.


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