A DirectedEdgeStar is an ordered list of outgoing DirectedEdges around a node.
More...
#include <DirectedEdgeStar.h>
A DirectedEdgeStar is an ordered list of outgoing DirectedEdges around a node.
It supports labelling the edges as well as linking the edges to form both MaximalEdgeRings and MinimalEdgeRings.
Definition at line 55 of file geomgraph/DirectedEdgeStar.h.
geos::geomgraph::DirectedEdgeStar::DirectedEdgeStar |
( |
| ) |
|
|
inline |
geos::geomgraph::DirectedEdgeStar::~DirectedEdgeStar |
( |
| ) |
|
|
overridedefault |
void geos::geomgraph::DirectedEdgeStar::computeDepths |
( |
DirectedEdge * |
de | ) |
|
Compute the DirectedEdge depths for a subsequence of the edge array.
void geos::geomgraph::DirectedEdgeStar::computeLabelling |
( |
std::vector< GeometryGraph * > * |
geom | ) |
|
|
overridevirtual |
void geos::geomgraph::DirectedEdgeStar::findCoveredLineEdges |
( |
| ) |
|
Traverse the star of edges, maintaing the current location in the result area at this node (if any).
If any L edges are found in the interior of the result, mark them as covered.
Label& geos::geomgraph::DirectedEdgeStar::getLabel |
( |
| ) |
|
|
inline |
int geos::geomgraph::DirectedEdgeStar::getOutgoingDegree |
( |
| ) |
|
int geos::geomgraph::DirectedEdgeStar::getOutgoingDegree |
( |
EdgeRing * |
er | ) |
|
const std::vector<DirectedEdge*>& geos::geomgraph::DirectedEdgeStar::getResultAreaEdges |
( |
| ) |
|
|
private |
DirectedEdge* geos::geomgraph::DirectedEdgeStar::getRightmostEdge |
( |
| ) |
|
void geos::geomgraph::DirectedEdgeStar::insert |
( |
EdgeEnd * |
ee | ) |
|
|
overridevirtual |
void geos::geomgraph::DirectedEdgeStar::linkAllDirectedEdges |
( |
| ) |
|
void geos::geomgraph::DirectedEdgeStar::linkMinimalDirectedEdges |
( |
EdgeRing * |
er | ) |
|
void geos::geomgraph::DirectedEdgeStar::linkResultDirectedEdges |
( |
| ) |
|
Traverse the star of DirectedEdges, linking the included edges together.
To link two dirEdges, the next
pointer for an incoming dirEdge is set to the next outgoing edge.
DirEdges are only linked if:
- they belong to an area (i.e. they have sides)
- they are marked as being in the result
Edges are linked in CCW order (the order they are stored). This means that rings have their face on the Right (in other words, the topological location of the face is given by the RHS label of the DirectedEdge)
PRECONDITION: No pair of dirEdges are both marked as being in the result
Referenced by geos::geomgraph::PlanarGraph::linkResultDirectedEdges().
void geos::geomgraph::DirectedEdgeStar::mergeSymLabels |
( |
| ) |
|
For each dirEdge in the star, merge the label from the sym dirEdge into the label.
std::string geos::geomgraph::DirectedEdgeStar::print |
( |
| ) |
const |
|
overridevirtual |
void geos::geomgraph::DirectedEdgeStar::updateLabelling |
( |
const Label & |
nodeLabel | ) |
|
Update incomplete dirEdge labels from the labelling for the node.
Label geos::geomgraph::DirectedEdgeStar::label |
|
private |
std::vector<DirectedEdge*> geos::geomgraph::DirectedEdgeStar::resultAreaEdgeList |
|
private |
bool geos::geomgraph::DirectedEdgeStar::resultAreaEdgesComputed |
|
private |
The documentation for this class was generated from the following file: