GEOS  3.8.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

typedef std::set< SegmentNode
*, SegmentNodeLT > 
container
 
typedef container::iterator iterator
 
typedef container::const_iterator const_iterator
 

Public Member Functions

 SegmentNodeList (const NodedSegmentString *newEdge)
 
 SegmentNodeList (const NodedSegmentString &newEdge)
 
const NodedSegmentStringgetEdge () const
 
SegmentNodeadd (const geom::Coordinate &intPt, std::size_t segmentIndex)
 
SegmentNodeadd (const geom::Coordinate *intPt, std::size_t segmentIndex)
 
std::set< SegmentNode
*, SegmentNodeLT > * 
getNodes ()
 
size_t size () const
 Return the number of nodes in this list.
 
container::iterator begin ()
 
container::const_iterator begin () const
 
container::iterator end ()
 
container::const_iterator end () const
 
void addEndpoints ()
 
void addSplitEdges (std::vector< SegmentString * > &edgeList)
 
void addSplitEdges (std::vector< SegmentString * > *edgeList)
 

Friends

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

Detailed Description

A list of the SegmentNode present along a NodedSegmentString.

Member Function Documentation

SegmentNode* geos::noding::SegmentNodeList::add ( const geom::Coordinate intPt,
std::size_t  segmentIndex 
)

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

Returns
the SegmentIntersection found or added. It will be destroyed at SegmentNodeList destruction time.
Parameters
intPtthe intersection Coordinate, will be copied
segmentIndex
void geos::noding::SegmentNodeList::addEndpoints ( )

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

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


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