GEOS  3.3.3
Public Member Functions
geos::operation::linemerge::LineMergeGraph Class Reference

A planar graph of edges that is analyzed to sew the edges together. More...

#include <LineMergeGraph.h>

Inheritance diagram for geos::operation::linemerge::LineMergeGraph:
geos::planargraph::PlanarGraph

List of all members.

Public Member Functions

void addEdge (const geom::LineString *lineString)
 Adds an Edge, DirectedEdges, and Nodes for the given LineString representation of an edge.
- Public Member Functions inherited from geos::planargraph::PlanarGraph
 PlanarGraph ()
 Constructs a PlanarGraph without any Edges, DirectedEdges, or Nodes.
NodefindNode (const geom::Coordinate &pt)
 Returns the Node at the given location, or null if no Node was there.
NodeMap::container::iterator nodeIterator ()
 Returns an Iterator over the Nodes in this PlanarGraph.
NodeMap::container::iterator nodeBegin ()
NodeMap::container::const_iterator nodeBegin () const
NodeMap::container::iterator nodeEnd ()
NodeMap::container::const_iterator nodeEnd () const
void getNodes (std::vector< Node * > &nodes)
 Returns the Nodes in this PlanarGraph.
std::vector< DirectedEdge * >
::iterator 
dirEdgeIterator ()
 Returns an Iterator over the DirectedEdges in this PlanarGraph, in the order in which they were added.
std::vector< Edge * >::iterator edgeIterator ()
 Alias for edgeBegin()
std::vector< Edge * >::iterator edgeBegin ()
 Returns an iterator to first Edge in this graph.
std::vector< Edge * >::iterator edgeEnd ()
 Returns an iterator to one-past last Edge in this graph.
std::vector< Edge * > * getEdges ()
 Returns the Edges that have been added to this PlanarGraph.
void remove (Edge *edge)
 Removes an Edge and its associated DirectedEdges from their from-Nodes and from this PlanarGraph.
void remove (DirectedEdge *de)
 Removes DirectedEdge from its from-Node and from this PlanarGraph.
void remove (Node *node)
 Removes a node from the graph, along with any associated DirectedEdges and Edges.
std::vector< Node * > * findNodesOfDegree (std::size_t degree)
 Returns all Nodes with the given number of Edges around it. The return value is a newly allocated vector of existing nodes.
void findNodesOfDegree (std::size_t degree, std::vector< Node * > &to)
 Get all Nodes with the given number of Edges around it.

Additional Inherited Members

- Public Types inherited from geos::planargraph::PlanarGraph
typedef std::vector< Edge * > EdgeContainer
typedef EdgeContainer::iterator EdgeIterator
- Protected Member Functions inherited from geos::planargraph::PlanarGraph
void add (Node *node)
 Adds a node to the std::map, replacing any that is already at that location.
void add (Edge *edge)
 Adds the Edge and its DirectedEdges with this PlanarGraph.
void add (DirectedEdge *dirEdge)
 Adds the Edge to this PlanarGraph.
- Protected Attributes inherited from geos::planargraph::PlanarGraph
std::vector< Edge * > edges
std::vector< DirectedEdge * > dirEdges
NodeMap nodeMap

Detailed Description

A planar graph of edges that is analyzed to sew the edges together.

The marked flag on planargraph::Edge and planargraph::Node indicates whether they have been logically deleted from the graph.


Member Function Documentation

void geos::operation::linemerge::LineMergeGraph::addEdge ( const geom::LineString lineString)

Adds an Edge, DirectedEdges, and Nodes for the given LineString representation of an edge.

Empty lines or lines with all coordinates equal are not added.

Parameters:
lineStringthe linestring to add to the graph

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