19 #ifndef GEOS_OP_OVERLAY_POLYGONBUILDER_H
20 #define GEOS_OP_OVERLAY_POLYGONBUILDER_H
22 #include <geos/export.h>
23 #include <geos/algorithm/locate/IndexedPointInAreaLocator.h>
29 #pragma warning(disable: 4251)
37 class GeometryFactory;
47 class MaximalEdgeRing;
48 class MinimalEdgeRing;
82 void add(
const std::vector<geomgraph::DirectedEdge*>* dirEdges,
83 const std::vector<geomgraph::Node*>* nodes);
86 std::vector<geom::Geometry*>* getPolygons();
92 std::vector<geomgraph::EdgeRing*> shellList;
101 void buildMaximalEdgeRings(
102 const std::vector<geomgraph::DirectedEdge*>* dirEdges,
103 std::vector<MaximalEdgeRing*>& maxEdgeRings);
106 void buildMinimalEdgeRings(
107 std::vector<MaximalEdgeRing*>& maxEdgeRings,
108 std::vector<geomgraph::EdgeRing*>& newShellList,
109 std::vector<geomgraph::EdgeRing*>& freeHoleList,
110 std::vector<MaximalEdgeRing*>& edgeRings);
137 std::vector<MinimalEdgeRing*>* minEdgeRings);
146 void sortShellsAndHoles(std::vector<MaximalEdgeRing*>& edgeRings,
147 std::vector<geomgraph::EdgeRing*>& newShellList,
148 std::vector<geomgraph::EdgeRing*>& freeHoleList);
169 void placeFreeHoles(std::vector<FastPIPRing>& newShellList,
170 std::vector<geomgraph::EdgeRing*>& freeHoleList);
192 std::vector<FastPIPRing>& newShellList);
194 std::vector<geom::Geometry*>* computePolygons(
195 std::vector<geomgraph::EdgeRing*>& newShellList);
Determines the location of Coordinates relative to an areal geometry, using indexing for efficiency.
Definition: IndexedPointInAreaLocator.h:55
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:68
Definition: geomgraph/EdgeRing.h:60
Represents a directed graph which is embeddable in a planar surface.
Definition: geomgraph/PlanarGraph.h:75
Forms Polygon out of a graph of geomgraph::DirectedEdge.
Definition: overlay/PolygonBuilder.h:62
void add(const std::vector< geomgraph::DirectedEdge * > *dirEdges, const std::vector< geomgraph::Node * > *nodes)
void add(geomgraph::PlanarGraph *graph)
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26