GEOS  3.6.1
Public Member Functions | Static Public Member Functions | Protected Attributes | Friends | List of all members
geos::planargraph::Node Class Reference

A node in a PlanarGraph is a location where 0 or more Edge meet. More...

#include <Node.h>

Inheritance diagram for geos::planargraph::Node:
geos::planargraph::GraphComponent

Public Member Functions

 Node (const geom::Coordinate &newPt)
 Constructs a Node with the given location.
 
 Node (geom::Coordinate &newPt, DirectedEdgeStar *newDeStar)
 Constructs a Node with the given location and collection of outgoing DirectedEdges. Takes ownership of the given DirectedEdgeStar!!
 
geom::CoordinategetCoordinate ()
 Returns the location of this Node.
 
void addOutEdge (DirectedEdge *de)
 Adds an outgoing DirectedEdge to this Node.
 
DirectedEdgeStargetOutEdges ()
 Returns the collection of DirectedEdges that leave this Node.
 
const DirectedEdgeStargetOutEdges () const
 
size_t getDegree () const
 Returns the number of edges around this Node.
 
int getIndex (Edge *edge)
 Returns the zero-based index of the given Edge, after sorting in ascending order by angle with the positive x-axis.
 
- 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. More...
 
virtual void setVisited (bool 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 isMarked)
 Sets the marked flag for this component. More...
 

Static Public Member Functions

static std::vector< Edge * > * getEdgesBetween (Node *node0, Node *node1)
 Returns all Edges that connect the two nodes (which are assumed to be different). More...
 
- 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...
 

Protected Attributes

geom::Coordinate pt
 The location of this Node.
 
DirectedEdgeStardeStar
 The collection of DirectedEdges that leave this Node.
 
- 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 &)
 Print a Node.
 

Detailed Description

A node in a PlanarGraph is a location where 0 or more Edge meet.

A node is connected to each of its incident Edges via an outgoing DirectedEdge. Some clients using a PlanarGraph may want to subclass Node to add their own application-specific data and methods.

Member Function Documentation

◆ getEdgesBetween()

static std::vector<Edge*>* geos::planargraph::Node::getEdgesBetween ( Node node0,
Node node1 
)
static

Returns all Edges that connect the two nodes (which are assumed to be different).

Note: returned vector is newly allocated, ownership to the caller.


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