# geos::planargraph::Edge Class Reference

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

`#include <Edge.h>`

Inheritance diagram for geos::planargraph::Edge:

List of all members.

## 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 an 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.

## Protected Attributes

std::vector< DirectedEdge * > | dirEdge
| The two DirectedEdges associated with this Edge.

## Friends

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

## 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

geos::planargraph::Edge::Edge | ( |  | ) | `[inline]`

Constructs an Edge whose DirectedEdges are not yet set.

Be sure to call setDirectedEdges(DirectedEdge, DirectedEdge) Constructs a Edge whose DirectedEdges are not yet set.

Be sure to call setDirectedEdges(DirectedEdge, DirectedEdge)

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.

## Member Function Documentation

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.

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

Returns one of the DirectedEdges associated with this Edge.

Parameters:

  | i | 0 or 1

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

- planargraph/Edge.h