GEOS 3.13.1
geos::planargraph::Edge Class Reference

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

#include <Edge.h>

Inheritance diagram for geos::planargraph::Edge:
geos::planargraph::GraphComponent geos::operation::linemerge::LineMergeEdge geos::operation::polygonize::PolygonizeEdge

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.
DirectedEdgegetDirEdge (int i)
 Returns one of the DirectedEdges associated with this Edge.
DirectedEdgegetDirEdge (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.
NodegetOppositeNode (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
i0 or 1

◆ setDirectedEdges()

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

Initializes this Edge's two DirectedEdges.

For each DirectedEdge:

Referenced by Edge().


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