21 #ifndef GEOS_GEOS_MULTIPOLYGON_H
22 #define GEOS_GEOS_MULTIPOLYGON_H
24 #include <geos/export.h>
27 #include <geos/geom/GeometryCollection.h>
28 #include <geos/geom/Polygon.h>
29 #include <geos/geom/Dimension.h>
31 #include <geos/inline.h>
37 class CoordinateArraySequence;
48 #pragma warning(disable:4250) // T1 inherits T2 via dominance
59 class GEOS_DLL MultiPolygon:
public GeometryCollection {
62 friend class GeometryFactory;
64 ~MultiPolygon()
override;
74 int getBoundaryDimension()
const override;
82 std::unique_ptr<Geometry> getBoundary()
const override;
84 std::string getGeometryType()
const override;
88 bool equalsExact(
const Geometry* other,
double tolerance = 0)
const override;
90 std::unique_ptr<Geometry> clone()
const override;
92 std::unique_ptr<Geometry> reverse()
const override;
119 MultiPolygon(std::vector<std::unique_ptr<Polygon>> && newPolys,
122 MultiPolygon(std::vector<std::unique_ptr<Geometry>> && newPolys,
128 getSortIndex()
const override
130 return SORTINDEX_MULTIPOLYGON;
143 # include "geos/geom/MultiPolygon.inl"
146 #endif // ndef GEOS_GEOS_MULTIPOLYGON_H