GEOS 3.3.4

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

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
geos::geomgraph::DirectedEdge Class Reference

A directed EdgeEnd. More...

`#include <DirectedEdge.h>`

Inheritance diagram for geos::geomgraph::DirectedEdge:

## Public Member Functions
| DirectedEdge (Edge *newEdge, bool newIsForward)
void | setInResult (bool newIsInResult)
bool | isInResult ()
bool | isVisited ()
void | setVisited (bool newIsVisited)
void | setEdgeRing (EdgeRing *newEdgeRing)
EdgeRing * | getEdgeRing ()
void | setMinEdgeRing (EdgeRing *newMinEdgeRing)
EdgeRing * | getMinEdgeRing ()
int | getDepth (int position)
void | setDepth (int position, int newDepth)
int | getDepthDelta ()
void | setVisitedEdge (bool newIsVisited)
| Marks both DirectedEdges attached to a given Edge.
DirectedEdge * | getSym ()
| Each Edge gives rise to a pair of symmetric DirectedEdges, in opposite directions.
bool | isForward ()
void | setSym (DirectedEdge *de)
DirectedEdge * | getNext ()
void | setNext (DirectedEdge *newNext)
DirectedEdge * | getNextMin ()
void | setNextMin (DirectedEdge *newNextMin)
bool | isLineEdge ()
| Tells wheter this edge is a Line.
bool | isInteriorAreaEdge ()
| Tells wheter this edge is an Area.
void | setEdgeDepths (int position, int newDepth)
| Set both edge depths.
std::string | print ()
std::string | printEdge ()
Public Member Functions inherited from geos::geomgraph::EdgeEnd
| EdgeEnd (Edge *newEdge, const geom::Coordinate &newP0, const geom::Coordinate &newP1, Label *newLabel=NULL)
Edge * | getEdge ()
virtual Label * | getLabel ()
virtual geom::Coordinate & | getCoordinate ()
virtual geom::Coordinate & | getDirectedCoordinate ()
virtual int | getQuadrant ()
virtual double | getDx ()
virtual double | getDy ()
virtual void | setNode (Node *newNode)
virtual Node * | getNode ()
virtual int | compareTo (const EdgeEnd *e) const
virtual int | compareDirection (const EdgeEnd *e) const
virtual void | computeLabel (const algorithm::BoundaryNodeRule &bnr)

## Static Public Member Functions
static int | depthFactor (int currLocation, int nextLocation)
| Computes the factor for the change in depth when moving from one location to another. E.g. if crossing from the INTERIOR to the EXTERIOR the depth decreases, so the factor is -1.

## Protected Attributes
bool | isForwardVar
Protected Attributes inherited from geos::geomgraph::EdgeEnd
Edge * | edge
Label * | label

## Additional Inherited Members
Protected Member Functions inherited from geos::geomgraph::EdgeEnd
| EdgeEnd (Edge *newEdge)
virtual void | init (const geom::Coordinate &newP0, const geom::Coordinate &newP1)

## Detailed Description

A directed EdgeEnd.

## Member Function Documentation

DirectedEdge* geos::geomgraph::DirectedEdge::getSym | ( |  | ) |

Each Edge gives rise to a pair of symmetric DirectedEdges, in opposite directions.

Returns
  the DirectedEdge for the same Edge but in the opposite direction

bool geos::geomgraph::DirectedEdge::isInteriorAreaEdge | ( |  | ) |

Tells wheter this edge is an Area.

This is an interior Area edge if

- its label is an Area label for both Geometries
- and for each Geometry both sides are in the interior.

Returns
  true if this is an interior Area edge

bool geos::geomgraph::DirectedEdge::isLineEdge | ( |  | ) |

Tells wheter this edge is a Line.

This edge is a line edge if

- at least one of the labels is a line label
- any labels which are not line labels have all Locations = EXTERIOR

void geos::geomgraph::DirectedEdge::setEdgeDepths | ( | int | position,
|  | int | newDepth
| ) |  |

Set both edge depths.

One depth for a given side is provided. The other is computed depending on the Location transition and the depthDelta of the edge.

void geos::geomgraph::DirectedEdge::setVisitedEdge | ( | bool | newIsVisited | ) |

Marks both DirectedEdges attached to a given Edge.

This is used for edges corresponding to lines, which will only appear oriented in a single direction in the result.

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

- geomgraph/DirectedEdge.h