GEOS  3.9.1dev
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:
[legend]
Collaboration diagram for geos::noding::SinglePassNoder:
[legend]

Public Member Functions

 SinglePassNoder (SegmentIntersector *nSegInt=nullptr)
 
 ~SinglePassNoder () override
 
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...
 
- Public Member Functions inherited from geos::noding::Noder
virtual ~Noder ()
 

Protected Attributes

SegmentIntersectorsegInt
 Externally owned. More...
 

Additional Inherited Members

- Protected Member Functions inherited from geos::noding::Noder
 Noder ()
 

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!)

Definition at line 51 of file SinglePassNoder.h.

Constructor & Destructor Documentation

geos::noding::SinglePassNoder::SinglePassNoder ( SegmentIntersector nSegInt = nullptr)
inline

Definition at line 60 of file SinglePassNoder.h.

geos::noding::SinglePassNoder::~SinglePassNoder ( )
inlineoverride

Definition at line 62 of file SinglePassNoder.h.

Member Function Documentation

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.

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.

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

Definition at line 75 of file SinglePassNoder.h.

Member Data Documentation

SegmentIntersector* geos::noding::SinglePassNoder::segInt
protected

Externally owned.

Definition at line 56 of file SinglePassNoder.h.


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