GEOS 3.15.0dev
Public Member Functions | List of all members
geos::noding::ValidatingNoder Class Reference

#include <ValidatingNoder.h>

Inheritance diagram for geos::noding::ValidatingNoder:
geos::noding::Noder

Public Member Functions

 ValidatingNoder (Noder &noderArg)
 
void computeNodes (const std::vector< SegmentString * > &segStrings) override
 Computes the noding for a collection of SegmentStrings.
 
void validate () const
 
std::vector< std::unique_ptr< SegmentString > > getNodedSubstrings () override
 Returns a collection of fully noded SegmentStrings. The SegmentStrings have the same context as their parent.
 
 ValidatingNoder (ValidatingNoder const &)=delete
 
ValidatingNoderoperator= (ValidatingNoder const &)=delete
 

Detailed Description

A wrapper for noding::Noders which validates the output arrangement is correctly noded. An arrangement of line segments is fully noded if there is no line segment which has another segment intersecting its interior. If the noding is not correct, a util::TopologyException is thrown with details of the first invalid location found.

Author
mdavis
See also
FastNodingValidator

Member Function Documentation

◆ computeNodes()

void geos::noding::ValidatingNoder::computeNodes ( const 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 SegmentStrings.

Implements geos::noding::Noder.

◆ getNodedSubstrings()

std::vector< std::unique_ptr< SegmentString > > geos::noding::ValidatingNoder::getNodedSubstrings ( )
overridevirtual

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

Returns
a std::vector of SegmentStrings (copies of input, if needs be). Caller is responsible to delete elements of container. This method may only be called once.

Implements geos::noding::Noder.


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