17 #include <geos/geom/GeometryCollection.h>
18 #include <geos/geom/Surface.h>
22 class GEOS_DLL MultiSurface :
public GeometryCollection {
23 friend class GeometryFactory;
27 ~MultiSurface()
override;
29 std::unique_ptr<MultiSurface> clone()
const
31 return std::unique_ptr<MultiSurface>(cloneImpl());
40 std::unique_ptr<Geometry> getBoundary()
const override;
43 int getBoundaryDimension()
const override;
48 std::string getGeometryType()
const override;
62 std::unique_ptr<MultiSurface> reverse()
const
64 return std::unique_ptr<MultiSurface>(reverseImpl());
69 MultiSurface(std::vector<std::unique_ptr<Geometry>>&& newPolys,
70 const GeometryFactory& newFactory);
72 MultiSurface(std::vector<std::unique_ptr<Surface>>&& newPolys,
73 const GeometryFactory& newFactory);
75 MultiSurface(
const MultiSurface& mp)
76 : GeometryCollection(mp)
79 MultiSurface* cloneImpl()
const override
81 return new MultiSurface(*
this);
85 getSortIndex()
const override
87 return SORTINDEX_MULTISURFACE;
90 MultiSurface* reverseImpl()
const override;
DimensionType
Definition: Dimension.h:29
@ A
Dimension value of a surface (2).
Definition: Dimension.h:46
GeometryTypeId
Geometry types.
Definition: Geometry.h:74
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25