A list of the SegmentNode present along a NodedSegmentString.
More...
#include <SegmentNodeList.h>
A list of the SegmentNode present along a NodedSegmentString.
Definition at line 56 of file SegmentNodeList.h.
geos::noding::SegmentNodeList::SegmentNodeList |
( |
const SegmentNodeList & |
other | ) |
|
|
privatedelete |
geos::noding::SegmentNodeList::~SegmentNodeList |
( |
| ) |
|
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
-
intPt | the intersection Coordinate, will be copied |
segmentIndex | |
void geos::noding::SegmentNodeList::addCollapsedNodes |
( |
| ) |
|
|
private |
Adds nodes for any collapsed edge pairs. Collapsed edge pairs can be caused by inserted nodes, or they can be pre-existing in the edge vertex list. In order to provide the correct fully noded semantics, the vertex at the base of a collapsed pair must also be added as a node.
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).
Referenced by geos::noding::NodedSegmentString::getNodedSubstrings().
void geos::noding::SegmentNodeList::addSplitEdges |
( |
std::vector< SegmentString * > * |
edgeList | ) |
|
|
inline |
container::iterator geos::noding::SegmentNodeList::begin |
( |
| ) |
|
|
inline |
container::const_iterator geos::noding::SegmentNodeList::begin |
( |
| ) |
const |
|
inline |
void geos::noding::SegmentNodeList::checkSplitEdgesCorrectness |
( |
const std::vector< SegmentString * > & |
splitEdges | ) |
const |
|
private |
Checks the correctness of the set of split edges corresponding to this edge
- Parameters
-
splitEdges | the split edges for this edge (in order) |
Create a new "split edge" with the section of points between (and including) the two intersections. The label for the new edge is the same as the label for the parent edge.
ownership of return value is transferred
Extracts the points for a split edge running between two nodes. The extracted points should contain no duplicate points. There should always be at least two points extracted (which will be the given nodes).
- Parameters
-
ei0 | the start node of the split edge |
ei1 | the end node of the split edge |
- Returns
- the points for the split edge
container::iterator geos::noding::SegmentNodeList::end |
( |
| ) |
|
|
inline |
container::const_iterator geos::noding::SegmentNodeList::end |
( |
| ) |
const |
|
inline |
bool geos::noding::SegmentNodeList::findCollapseIndex |
( |
const SegmentNode & |
ei0, |
|
|
const SegmentNode & |
ei1, |
|
|
size_t & |
collapsedVertexIndex |
|
) |
| const |
|
private |
void geos::noding::SegmentNodeList::findCollapsesFromExistingVertices |
( |
std::vector< std::size_t > & |
collapsedVertexIndexes | ) |
const |
|
private |
Adds nodes for any collapsed edge pairs which are pre-existing in the vertex list.
void geos::noding::SegmentNodeList::findCollapsesFromInsertedNodes |
( |
std::vector< std::size_t > & |
collapsedVertexIndexes | ) |
const |
|
private |
Adds nodes for any collapsed edge pairs caused by inserted nodes Collapsed edge pairs occur when the same coordinate is inserted as a node both before and after an existing edge vertex. To provide the correct fully noded semantics, the vertex must be added as a node as well.
std::unique_ptr<std::vector<geom::Coordinate> > 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
size_t geos::noding::SegmentNodeList::size |
( |
| ) |
const |
|
inline |
std::deque<SegmentNode> geos::noding::SegmentNodeList::nodeQue |
|
private |
The documentation for this class was generated from the following file: