19 #ifndef GEOS_OP_OVERLAY_POLYGONBUILDER_H 20 #define GEOS_OP_OVERLAY_POLYGONBUILDER_H 22 #include <geos/export.h> 28 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class 36 class GeometryFactory;
46 class MaximalEdgeRing;
47 class MinimalEdgeRing;
81 void add(
const std::vector<geomgraph::DirectedEdge*> *dirEdges,
82 const std::vector<geomgraph::Node*> *nodes);
85 std::vector<geom::Geometry*>* getPolygons();
97 std::vector<geomgraph::EdgeRing*> shellList;
106 void buildMaximalEdgeRings(
107 const std::vector<geomgraph::DirectedEdge*> *dirEdges,
108 std::vector<MaximalEdgeRing*> &maxEdgeRings);
111 void buildMinimalEdgeRings(
112 std::vector<MaximalEdgeRing*> &maxEdgeRings,
113 std::vector<geomgraph::EdgeRing*> &newShellList,
114 std::vector<geomgraph::EdgeRing*> &freeHoleList,
115 std::vector<MaximalEdgeRing*> &edgeRings);
142 std::vector<MinimalEdgeRing*> *minEdgeRings);
151 void sortShellsAndHoles(std::vector<MaximalEdgeRing*> &edgeRings,
152 std::vector<geomgraph::EdgeRing*> &newShellList,
153 std::vector<geomgraph::EdgeRing*> &freeHoleList);
169 void placeFreeHoles(std::vector<geomgraph::EdgeRing*>& newShellList,
170 std::vector<geomgraph::EdgeRing*>& freeHoleList);
192 std::vector<geomgraph::EdgeRing*>& newShellList);
194 std::vector<geom::Geometry*>* computePolygons(
195 std::vector<geomgraph::EdgeRing*>& newShellList);
212 #endif // ndef GEOS_OP_OVERLAY_POLYGONBUILDER_H Forms Polygon out of a graph of geomgraph::DirectedEdge.
Definition: PolygonBuilder.h:61
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
Represents a directed graph which is embeddable in a planar surface.
Definition: geomgraph/PlanarGraph.h:75
Definition: geomgraph/EdgeRing.h:59
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:67
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:25