GEOS: geos::operation::polygonize::PolygonizeGraph Class Reference

- Main Page
- Namespaces
- Classes
- Files
- Related Pages

- Class List
- Class Hierarchy
- Class Members

# geos::operation::polygonize::PolygonizeGraph Class Reference

Represents a planar graph of edges that can be used to compute a polygonization, and implements the algorithms to compute the EdgeRings formed by the graph. More...

`#include <PolygonizeGraph.h>`

Inheritance diagram for geos::operation::polygonize::PolygonizeGraph:

List of all members.

## Public Member Functions
| PolygonizeGraph (const geom::GeometryFactory *newFactory)
| Create a new polygonization graph.
| ~PolygonizeGraph ()
| Destroy a polygonization graph.
void | addEdge (const geom::LineString *line)
| Add a LineString forming an edge of the polygon graph.
std::vector< EdgeRing * > * | getEdgeRings ()
| Computes the EdgeRings formed by the edges in this graph.
std::vector< const geom::LineString * > * | deleteCutEdges ()
| Finds and removes all cut edges from the graph.
std::vector< const geom::LineString * > * | deleteDangles ()
| Marks all edges from the graph which are "dangles".
## Static Public Member Functions
static void | deleteAllEdges (planargraph::Node *node)
| Deletes all edges at a node.

## Detailed Description

Represents a planar graph of edges that can be used to compute a polygonization, and implements the algorithms to compute the EdgeRings formed by the graph.

The marked flag on DirectedEdge is used to indicate that a directed edge has be logically deleted from the graph.

## Member Function Documentation

void geos::operation::polygonize::PolygonizeGraph::addEdge | ( | const geom::LineString * | line | ) |

Add a LineString forming an edge of the polygon graph.

Parameters:

  | line | the line to add

std::vector<EdgeRing*>* geos::operation::polygonize::PolygonizeGraph::getEdgeRings | ( |  | ) |

Computes the EdgeRings formed by the edges in this graph.

Returns:
  a list of the EdgeRing found by the polygonization process.

std::vector<const geom::LineString*>* geos::operation::polygonize::PolygonizeGraph::deleteCutEdges | ( |  | ) |

Finds and removes all cut edges from the graph.

Returns:
  a list of the LineString forming the removed cut edges

std::vector<const geom::LineString*>* geos::operation::polygonize::PolygonizeGraph::deleteDangles | ( |  | ) |

Marks all edges from the graph which are "dangles".

Dangles are which are incident on a node with degree 1. This process is recursive, since removing a dangling edge may result in another edge becoming a dangle. In order to handle large recursion depths efficiently, an explicit recursion stack is used

Returns:
  a List containing the LineStrings that formed dangles

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

- PolygonizeGraph.h