GEOS 3.13.1
geos::noding::SinglePassNoder Class Referenceabstract

Base class for Noders which make a single pass to find intersections. More...

#include <SinglePassNoder.h>

Inheritance diagram for geos::noding::SinglePassNoder:
geos::noding::Noder geos::noding::MCIndexNoder geos::noding::SimpleNoder

Public Member Functions

 SinglePassNoder (SegmentIntersector *nSegInt=nullptr)
virtual void setSegmentIntersector (SegmentIntersector *newSegInt)
 Sets the SegmentIntersector to use with this noder.
void computeNodes (std::vector< SegmentString * > *segStrings) override=0
 Computes the noding for a collection of SegmentStrings.
std::vector< SegmentString * > * getNodedSubstrings () const override=0
 Returns a Collection of fully noded SegmentStrings.

Protected Attributes

SegmentIntersectorsegInt
 Externally owned.

Detailed Description

Base class for Noders which make a single pass to find intersections.

This allows using a custom SegmentIntersector (which for instance may simply identify intersections, rather than insert them).

Last port: noding/SinglePassNoder.java rev. 1.3 (JTS-1.7)

TODO: Noder inheritance (that's just an interface!)

Member Function Documentation

◆ computeNodes()

void geos::noding::SinglePassNoder::computeNodes ( std::vector< SegmentString * > * segStrings)
overridepure virtual

Computes the noding for a collection of SegmentStrings.

Parameters
segStringsa collection of SegmentStrings to node

Implements geos::noding::Noder.

Implemented in geos::noding::MCIndexNoder, and geos::noding::SimpleNoder.

◆ getNodedSubstrings()

std::vector< SegmentString * > * geos::noding::SinglePassNoder::getNodedSubstrings ( ) const
overridepure virtual

Returns a Collection of fully noded SegmentStrings.

The SegmentStrings have the same context as their parent.

Returns
a Collection of SegmentStrings

Implements geos::noding::Noder.

Implemented in geos::noding::MCIndexNoder, and geos::noding::SimpleNoder.

◆ setSegmentIntersector()

virtual void geos::noding::SinglePassNoder::setSegmentIntersector ( SegmentIntersector * newSegInt)
inlinevirtual

Sets the SegmentIntersector to use with this noder.

A SegmentIntersector will normally add intersection nodes to the input segment strings, but it may not - it may simply record the presence of intersections. However, some Noders may require that intersections be added.

Parameters
newSegInt

References segInt.


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