Public Member Functions | Static Public Member Functions | Protected Attributes

geos::geomgraph::DirectedEdge Class Reference

A directed EdgeEnd. More...

#include <DirectedEdge.h>

Inheritance diagram for geos::geomgraph::DirectedEdge:
geos::geomgraph::EdgeEnd

List of all members.

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.
DirectedEdgegetSym ()
 Each Edge gives rise to a pair of symmetric DirectedEdges, in opposite directions.
bool isForward ()
void setSym (DirectedEdge *de)
DirectedEdgegetNext ()
void setNext (DirectedEdge *newNext)
DirectedEdgegetNextMin ()
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 ()

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

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: