GEOS
3.9.1dev
|
Represents an undirected edge of a PlanarGraph. More...
#include <Edge.h>
Public Types | |
typedef std::set< const Edge * > | ConstSet |
Set of const Edges pointers. More... | |
typedef std::set< Edge * > | NonConstSet |
Set of non-const Edges pointers. More... | |
typedef std::vector< Edge * > | NonConstVect |
Vector of non-const Edges pointers. More... | |
typedef std::vector< const Edge * > | ConstVect |
Vector of const Edges pointers. More... | |
Public Member Functions | |
Edge () | |
Constructs a Edge whose DirectedEdges are not yet set. More... | |
Edge (DirectedEdge *de0, DirectedEdge *de1) | |
Constructs an Edge initialized with the given DirectedEdges. More... | |
void | setDirectedEdges (DirectedEdge *de0, DirectedEdge *de1) |
Initializes this Edge's two DirectedEdges. More... | |
DirectedEdge * | getDirEdge (int i) |
Returns one of the DirectedEdges associated with this Edge. More... | |
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. More... | |
Node * | getOppositeNode (Node *node) |
If node is one of the two nodes associated with this Edge, returns the other node; otherwise returns null. More... | |
Public Member Functions inherited from geos::planargraph::GraphComponent | |
GraphComponent () | |
virtual | ~GraphComponent () |
virtual bool | isVisited () const |
Tests if a component has been visited during the course of a graph algorithm. More... | |
virtual void | setVisited (bool p_isVisited) |
Sets the visited flag for this component. More... | |
virtual bool | isMarked () const |
Tests if a component has been marked at some point during the processing involving this graph. More... | |
virtual void | setMarked (bool p_isMarked) |
Sets the marked flag for this component. More... | |
Protected Attributes | |
std::vector< DirectedEdge * > | dirEdge |
The two DirectedEdges associated with this Edge. More... | |
Protected Attributes inherited from geos::planargraph::GraphComponent | |
bool | isMarkedVar |
Variable holding ''marked'' status. More... | |
bool | isVisitedVar |
Variable holding ''visited'' status. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const Node &) |
Print a Node. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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.
Definition at line 54 of file planargraph/Edge.h.
typedef std::set<const Edge*> geos::planargraph::Edge::ConstSet |
Set of const Edges pointers.
Definition at line 61 of file planargraph/Edge.h.
typedef std::vector<const Edge*> geos::planargraph::Edge::ConstVect |
Vector of const Edges pointers.
Definition at line 70 of file planargraph/Edge.h.
typedef std::set<Edge*> geos::planargraph::Edge::NonConstSet |
Set of non-const Edges pointers.
Definition at line 64 of file planargraph/Edge.h.
typedef std::vector<Edge*> geos::planargraph::Edge::NonConstVect |
Vector of non-const Edges pointers.
Definition at line 67 of file planargraph/Edge.h.
|
inline |
Constructs a Edge whose DirectedEdges are not yet set.
Be sure to call setDirectedEdges(DirectedEdge* de0, DirectedEdge* de1)
Definition at line 85 of file planargraph/Edge.h.
|
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.
Definition at line 93 of file planargraph/Edge.h.
References geos::planargraph::operator<<().
DirectedEdge* geos::planargraph::Edge::getDirEdge | ( | int | i | ) |
Returns one of the DirectedEdges associated with this Edge.
i | 0 or 1 |
DirectedEdge* geos::planargraph::Edge::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.
If node
is one of the two nodes associated with this Edge, returns the other node; otherwise returns null.
void geos::planargraph::Edge::setDirectedEdges | ( | DirectedEdge * | de0, |
DirectedEdge * | de1 | ||
) |
Initializes this Edge's two DirectedEdges.
For each DirectedEdge:
|
protected |
The two DirectedEdges associated with this Edge.
Definition at line 75 of file planargraph/Edge.h.