17#include <geos/geom/GeometryCollection.h>
18#include <geos/geom/Surface.h>
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
Represents a collection of heterogeneous Geometry objects.
Definition GeometryCollection.h:51
GeometryTypeId
Geometry types.
Definition Geometry.h:74
Basic namespace for all GEOS functionalities.
Definition geos.h:39