GEOS  3.13.0dev
Public Types | Public Member Functions | Friends | List of all members
geos::noding::SegmentNodeList Class Reference

A list of the SegmentNode present along a NodedSegmentString. More...

#include <SegmentNodeList.h>

Public Types

using container = decltype(nodeMap)
 
using iterator = container::iterator
 
using const_iterator = container::const_iterator
 

Public Member Functions

 SegmentNodeList (const SegmentNodeList &other)=delete
 
SegmentNodeListoperator= (const SegmentNodeList &rhs)=delete
 
 SegmentNodeList (const NodedSegmentString &newEdge, bool p_constructZ, bool p_constructM)
 
const NodedSegmentStringgetEdge () const
 
bool getConstructZ () const
 
bool getConstructM () const
 
template<typename CoordType >
void add (const CoordType &intPt, std::size_t segmentIndex)
 
size_t size () const
 Return the number of nodes in this list.
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
void addEndpoints ()
 
void addSplitEdges (std::vector< SegmentString * > &edgeList)
 
void addSplitEdges (std::vector< SegmentString * > *edgeList)
 
std::unique_ptr< geom::CoordinateSequencegetSplitCoordinates ()
 

Friends

std::ostream & operator<< (std::ostream &os, const SegmentNodeList &l)
 

Detailed Description

A list of the SegmentNode present along a NodedSegmentString.

Member Function Documentation

◆ add()

template<typename CoordType >
void geos::noding::SegmentNodeList::add ( const CoordType &  intPt,
std::size_t  segmentIndex 
)
inline

Adds an intersection into the list, if it isn't already there. The input segmentIndex is expected to be normalized.

Parameters
intPtthe intersection Coordinate, will be copied
segmentIndex

◆ addEndpoints()

void geos::noding::SegmentNodeList::addEndpoints ( )

Adds entries for the first and last points of the edge to the list

◆ addSplitEdges()

void geos::noding::SegmentNodeList::addSplitEdges ( std::vector< SegmentString * > &  edgeList)

Creates new edges for all the edges that the intersections in this list split the parent edge into. Adds the edges to the input list (this is so a single list can be used to accumulate all split edges for a Geometry).

◆ getSplitCoordinates()

std::unique_ptr<geom::CoordinateSequence> geos::noding::SegmentNodeList::getSplitCoordinates ( )

Gets the list of coordinates for the fully noded segment string, including all original segment string vertices and vertices introduced by nodes in this list. Repeated coordinates are collapsed.

Returns
an array of Coordinates

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