geos::planargraph::Edge Class Reference

Represents an undirected edge of a PlanarGraph. More...

`#include <Edge.h>`

Inheritance diagram for geos::planargraph::Edge:

## Public Types

typedef std::set< const Edge * > | ConstSet
| Set of const Edges pointers.
typedef std::set< Edge * > | NonConstSet
| Set of non-const Edges pointers.
typedef std::vector< Edge * > | NonConstVect
| Vector of non-const Edges pointers.
typedef std::vector< const Edge * > | ConstVect
| Vector of const Edges pointers.

## Public Member Functions

| Edge ()
| Constructs a Edge whose DirectedEdges are not yet set.
| Edge (DirectedEdge *de0, DirectedEdge *de1)
| Constructs an Edge initialized with the given DirectedEdges.
void | setDirectedEdges (DirectedEdge *de0, DirectedEdge *de1)
| Initializes this Edge's two DirectedEdges.
DirectedEdge * | getDirEdge (int i)
| Returns one of the DirectedEdges associated with this Edge.
DirectedEdge * | getDirEdge (Node *fromNode)
| Returns the DirectedEdge that starts from the given node, or null if the node is not one of the two nodes associated with this Edge.
Node * | getOppositeNode (Node *node)
| If `node` is one of the two nodes associated with this Edge, returns the other node; otherwise returns null.
Public Member Functions inherited from geos::planargraph::GraphComponent
virtual bool | isVisited () const
| Tests if a component has been visited during the course of a graph algorithm.
virtual void | setVisited (bool p_isVisited)
| Sets the visited flag for this component.
virtual bool | isMarked () const
| Tests if a component has been marked at some point during the processing involving this graph.
virtual void | setMarked (bool p_isMarked)
| Sets the marked flag for this component.

## Protected Attributes

std::vector< DirectedEdge * > | dirEdge
| The two DirectedEdges associated with this Edge.
Protected Attributes inherited from geos::planargraph::GraphComponent
bool | isMarkedVar
| Variable holding ''marked'' status.
bool | isVisitedVar
| Variable holding ''visited'' status.

## Friends

std::ostream & | operator<< (std::ostream &os, const Node &n)
| Print a Node.

## Additional Inherited Members

Static Public Member Functions inherited from geos::planargraph::GraphComponent
template<typename T>
static void | setVisited (T start, T end, bool visited)
| Sets the Visited state for the elements of a container, from start to end iterator.
template<typename T>
static void | setVisitedMap (T start, T end, bool visited)
| Sets the Visited state for the values of each map container element, from start to end iterator.
template<typename T>
static void | setMarked (T start, T end, bool marked)
| Sets the Marked state for the elements of a container, from start to end iterator.
template<typename T>
static void | setMarkedMap (T start, T end, bool marked)
| Sets the Marked state for the values of each map container element, from start to end iterator.

## Detailed Description

Represents an undirected edge of a PlanarGraph.

An undirected edge in fact simply acts as a central point of reference for two opposite DirectedEdge.

Usually a client using a PlanarGraph will subclass Edge to add its own application-specific data and methods.

## Constructor & Destructor Documentation

## Edge() [1/2]

geos::planargraph::Edge::Edge | ( |  | ) |

inline

Constructs a Edge whose DirectedEdges are not yet set.

Be sure to call `setDirectedEdges(DirectedEdge* de0, DirectedEdge* de1)`

References dirEdge.

## Edge() [2/2]

geos::planargraph::Edge::Edge | ( | DirectedEdge * | de0,
|  | DirectedEdge * | de1 )

inline

Constructs an Edge initialized with the given DirectedEdges.

For each DirectedEdge: sets the Edge, sets the symmetric DirectedEdge, and adds this Edge to its from-Node.

References dirEdge, and setDirectedEdges().

## Member Function Documentation

## getDirEdge()

DirectedEdge * geos::planargraph::Edge::getDirEdge | ( | int | i | ) |

Returns one of the DirectedEdges associated with this Edge.

Parameters

  i | 0 or 1

## setDirectedEdges()

void geos::planargraph::Edge::setDirectedEdges | ( | DirectedEdge * | de0,
|  | DirectedEdge * | de1 )

Initializes this Edge's two DirectedEdges.

For each DirectedEdge:

- sets the Edge, sets the symmetric DirectedEdge, and
- adds this Edge to its from-Node.

Referenced by Edge().

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

- planargraph/Edge.h