17 #include <geos/geom/Curve.h> 18 #include <geos/geom/GeometryCollection.h> 23 class GEOS_DLL MultiCurve :
public GeometryCollection {
24 friend class GeometryFactory;
27 ~MultiCurve()
override =
default;
29 std::unique_ptr<MultiCurve> clone()
const 31 return std::unique_ptr<MultiCurve>(cloneImpl());
35 std::unique_ptr<Geometry> getBoundary()
const override;
42 int getBoundaryDimension()
const override;
47 const Curve* getGeometryN(std::size_t n)
const override;
49 std::string getGeometryType()
const override;
60 bool isClosed()
const;
76 std::unique_ptr<MultiCurve> reverse()
const 78 return std::unique_ptr<MultiCurve>(reverseImpl());
100 MultiCurve(std::vector<std::unique_ptr<Curve>>&& newLines,
101 const GeometryFactory& newFactory);
103 MultiCurve(std::vector<std::unique_ptr<Geometry>>&& newLines,
104 const GeometryFactory& newFactory);
106 MultiCurve(
const MultiCurve& mp)
107 : GeometryCollection(mp)
110 MultiCurve* cloneImpl()
const override 112 return new MultiCurve(*
this);
115 MultiCurve* reverseImpl()
const override;
118 getSortIndex()
const override 120 return SORTINDEX_MULTICURVE;
GeometryTypeId
Geometry types.
Definition: Geometry.h:74
Dimension value of a curve (1).
Definition: Dimension.h:43
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25
DimensionType
Definition: Dimension.h:29