GEOS  3.14.0dev
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 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...
 

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: