17#include <geos/geom/GeometryCollection.h>
18#include <geos/geom/Surface.h>
22class 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;
46 Dimension::DimensionType getDimension()
const override;
48 std::string getGeometryType()
const override;
52 bool hasDimension(Dimension::DimensionType d)
const override
54 return d == Dimension::A;
57 bool isDimensionStrict(Dimension::DimensionType d)
const override
59 return d == Dimension::A;
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;
GeometryTypeId
Geometry types.
Definition Geometry.h:74
Basic namespace for all GEOS functionalities.
Definition geos.h:39