17#include <geos/geom/Geometry.h>
24class GEOS_DLL Curve :
public Geometry {
27 using Geometry::apply_ro;
28 using Geometry::apply_rw;
30 void apply_ro(GeometryComponentFilter* filter)
const override;
32 void apply_ro(GeometryFilter* filter)
const override;
34 void apply_rw(GeometryComponentFilter* filter)
override;
36 void apply_rw(GeometryFilter* filter)
override;
44 getBoundaryDimension()
const override
46 return isClosed() ? Dimension::False : 0;
50 Dimension::DimensionType getDimension()
const override
58 virtual std::unique_ptr<Point> getEndPoint()
const = 0;
63 virtual std::unique_ptr<Point> getPointN(std::size_t n)
const = 0;
68 virtual std::unique_ptr<Point> getStartPoint()
const = 0;
71 virtual bool isClosed()
const = 0;
76 virtual std::size_t getNumCurves()
const = 0;
78 virtual const SimpleCurve* getCurveN(std::size_t)
const = 0;
80 std::unique_ptr<Curve> reverse()
const;
83 Curve(
const GeometryFactory& factory) : Geometry(&factory) {}
Basic namespace for all GEOS functionalities.
Definition geos.h:38