20#ifndef GEOS_OP_POLYGONIZE_POLYGONIZEGRAPH_H
21#define GEOS_OP_POLYGONIZE_POLYGONIZEGRAPH_H
23#include <geos/export.h>
25#include <geos/planargraph/PlanarGraph.h>
31#pragma warning(disable: 4251)
48 namespace polygonize {
143 void computeNextCWEdges();
154 void convertMaximalToMinimalEdgeRings(
155 std::vector<PolygonizeDirectedEdge*> &ringEdges);
168 long label, std::vector<planargraph::Node*>& intNodes
180 static void findLabeledEdgeRings(
181 std::vector<planargraph::DirectedEdge*> &dirEdgesIn,
182 std::vector<PolygonizeDirectedEdge*> &dirEdgesOut);
184 static void label(std::vector<planargraph::DirectedEdge*> &dirEdges,
long label);
208 std::vector<planargraph::DirectedEdge*>& edgesInRing);
213 std::vector<planargraph::Edge *> newEdges;
214 std::vector<planargraph::DirectedEdge *> newDirEdges;
215 std::vector<planargraph::Node *> newNodes;
216 std::vector<EdgeRing *> newEdgeRings;
217 std::vector<geom::CoordinateSequence *> newCoords;
The internal representation of a list of coordinates inside a Geometry.
Definition CoordinateSequence.h:59
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:60
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition GeometryFactory.h:67
Definition LineString.h:70
Represents a ring of PolygonizeDirectedEdge which form a ring of a polygon. The ring may be either an...
Definition operation/polygonize/EdgeRing.h:57
A DirectedEdge of a PolygonizeGraph, which represents an edge of a polygon formed by the graph.
Definition PolygonizeDirectedEdge.h:54
void getEdgeRings(std::vector< EdgeRing * > &edgeRingList)
Computes the EdgeRings formed by the edges in this graph.
static void deleteAllEdges(planargraph::Node *node)
Deletes all edges at a node.
~PolygonizeGraph()
Destroy a polygonization graph.
void deleteCutEdges(std::vector< const geom::LineString * > &cutLines)
Finds and removes all cut edges from the graph.
void addEdge(const geom::LineString *line)
Add a LineString forming an edge of the polygon graph.
PolygonizeGraph(const geom::GeometryFactory *newFactory)
Create a new polygonization graph.
void deleteDangles(std::vector< const geom::LineString * > &dangleLines)
Marks all edges from the graph which are "dangles".
Represents a directed edge in a PlanarGraph.
Definition planargraph/DirectedEdge.h:46
Represents an undirected edge of a PlanarGraph.
Definition planargraph/Edge.h:54
A node in a PlanarGraph is a location where 0 or more Edge meet.
Definition planargraph/Node.h:45
Represents a directed graph which is embeddable in a planar surface.
Definition planargraph/PlanarGraph.h:60
Contains the Geometry interface hierarchy and supporting classes.
Definition IndexedNestedRingTester.h:26
Provides classes for implementing operations on geometries.
Definition IndexedNestedRingTester.h:40
Contains classes to implement a planar graph data structure.
Definition LineMergeDirectedEdge.h:32
Basic namespace for all GEOS functionalities.
Definition IndexedNestedRingTester.h:25