17#include <geos/geom/SimpleCurve.h>
22class GEOS_DLL CircularString :
public SimpleCurve {
25 using SimpleCurve::SimpleCurve;
27 friend class GeometryFactory;
29 ~CircularString()
override;
31 std::unique_ptr<CircularString> clone()
const;
33 std::string getGeometryType()
const override;
37 double getLength()
const override;
39 bool hasCurvedComponents()
const override
44 bool isCurved()
const override {
48 std::unique_ptr<CircularString> reverse()
const
50 return std::unique_ptr<CircularString>(reverseImpl());
58 CircularString(std::unique_ptr<CoordinateSequence>&& pts,
59 const GeometryFactory& newFactory);
61 CircularString* cloneImpl()
const override
63 return new CircularString(*
this);
66 void geometryChangedAction()
override
68 envelope = computeEnvelopeInternal(
false);
72 getSortIndex()
const override
74 return SORTINDEX_LINESTRING;
77 CircularString* reverseImpl()
const override;
79 void validateConstruction();
GeometryTypeId
Geometry types.
Definition Geometry.h:74
Basic namespace for all GEOS functionalities.
Definition geos.h:39