17#include <geos/geom/Curve.h>
18#include <geos/geom/GeometryCollection.h>
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;
DimensionType
Definition Dimension.h:29
@ L
Dimension value of a curve (1).
Definition Dimension.h:43
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