19 #ifndef GEOS_OP_POLYGONIZE_HOLEASSIGNER_H
20 #define GEOS_OP_POLYGONIZE_HOLEASSIGNER_H
22 #include <geos/operation/polygonize/EdgeRing.h>
23 #include <geos/index/strtree/TemplateSTRtree.h>
29 namespace polygonize {
48 explicit HoleAssigner(std::vector<EdgeRing*> & shells) : m_shells(shells) {
52 void assignHolesToShells(std::vector<EdgeRing*> & holes);
53 void assignHoleToShell(
EdgeRing* holeER);
60 std::vector<EdgeRing*>& m_shells;
61 geos::index::strtree::TemplateSTRtree<EdgeRing*> m_shellIndex;
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition: Envelope.h:58
Represents a ring of PolygonizeDirectedEdge which form a ring of a polygon. The ring may be either an...
Definition: operation/polygonize/EdgeRing.h:61
Assigns hole rings to shell rings during polygonization.
Definition: HoleAssigner.h:38
static void assignHolesToShells(std::vector< EdgeRing * > &holes, std::vector< EdgeRing * > &shells)
Basic namespace for all GEOS functionalities.
Definition: Angle.h:26