GEOS  3.14.0dev
Public Member Functions | Protected Attributes | List of all members
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. More...
 
void computeNodes (std::vector< SegmentString * > *segStrings) override=0
 Computes the noding for a collection of SegmentStrings. More...
 
std::vector< SegmentString * > * getNodedSubstrings () const override=0
 Returns a Collection of fully noded SegmentStrings. More...
 

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::SimpleNoder, and geos::noding::MCIndexNoder.

◆ 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::SimpleNoder, and geos::noding::MCIndexNoder.

◆ 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

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