19 #ifndef GEOS_OP_OVERLAY_POLYGONBUILDER_H 20 #define GEOS_OP_OVERLAY_POLYGONBUILDER_H 29 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class 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();
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);
212 #endif // ndef GEOS_OP_OVERLAY_POLYGONBUILDER_H Determines the location of Coordinates relative to an areal geometry, using indexing for efficiency...
Forms Polygon out of a graph of geomgraph::DirectedEdge.
Represents a directed graph which is embeddable in a planar surface.
algorithm::locate::IndexedPointInAreaLocator * pipLocator
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Basic namespace for all GEOS functionalities.
std::vector< geomgraph::EdgeRing * > shellList
const geom::GeometryFactory * geometryFactory
geomgraph::EdgeRing * edgeRing