GEOS: geos::geomgraph::DirectedEdgeStar Class Reference

GEOS 3.3.8

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
geos::geomgraph::DirectedEdgeStar Class Reference

A DirectedEdgeStar is an ordered list of outgoing DirectedEdges around a node. More...

`#include <DirectedEdgeStar.h>`

Inheritance diagram for geos::geomgraph::DirectedEdgeStar:

## Public Member Functions
void | insert (EdgeEnd *ee)
| Insert a directed edge in the list.
Label & | getLabel ()
int | getOutgoingDegree ()
int | getOutgoingDegree (EdgeRing *er)
DirectedEdge * | getRightmostEdge ()
void | computeLabelling (std::vector< GeometryGraph * > *geom)
| Compute the labelling for all dirEdges in this star, as well as the overall labelling.
void | mergeSymLabels ()
| For each dirEdge in the star, merge the label from the sym dirEdge into the label.
void | updateLabelling (Label *nodeLabel)
| Update incomplete dirEdge labels from the labelling for the node.
void | linkResultDirectedEdges ()
void | linkMinimalDirectedEdges (EdgeRing *er)
void | linkAllDirectedEdges ()
void | findCoveredLineEdges ()
| Traverse the star of edges, maintaing the current location in the result area at this node (if any).
void | computeDepths (DirectedEdge *de)
| Compute the DirectedEdge depths for a subsequence of the edge array.
std::string | print ()
Public Member Functions inherited from geos::geomgraph::EdgeEndStar
virtual geom::Coordinate & | getCoordinate ()
virtual std::size_t | getDegree ()
virtual iterator | begin ()
virtual iterator | end ()
virtual reverse_iterator | rbegin ()
virtual reverse_iterator | rend ()
virtual container & | getEdges ()
virtual EdgeEnd * | getNextCW (EdgeEnd *ee)
virtual bool | isAreaLabelsConsistent (const GeometryGraph &geomGraph)
virtual void | propagateSideLabels (int geomIndex)
virtual iterator | find (EdgeEnd *eSearch)

## Additional Inherited Members
Public Types inherited from geos::geomgraph::EdgeEndStar
typedef std::set< EdgeEnd *, EdgeEndLT > | container
typedef container::iterator | iterator
typedef container::reverse_iterator | reverse_iterator
Protected Member Functions inherited from geos::geomgraph::EdgeEndStar
virtual void | insertEdgeEnd (EdgeEnd *e)
| Insert an EdgeEnd into the map.
Protected Attributes inherited from geos::geomgraph::EdgeEndStar
EdgeEndStar::container | edgeMap
| A map which maintains the edges in sorted order around the node.

## Detailed Description

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.

## Member Function Documentation

void geos::geomgraph::DirectedEdgeStar::computeDepths | ( | DirectedEdge * | de | ) |

Compute the DirectedEdge depths for a subsequence of the edge array.

Returns
  the last depth assigned (from the R side of the last edge visited)

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.

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

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

- geomgraph/DirectedEdgeStar.h