#pragma once #include "Curve.h" #include "Point.h" class CubicBezierCurve : public Curve { public: CubicBezierCurve(const Point& startPoint, const Point& endPoint, const Point& startControlPoint, const Point& endControlPoint); Point getFirstPoint() const override; Point getEndPoint() const override; Bounds getBounds() const override; const Point& getLocation() const override; Type getType() const override; CurveType getCurveType() const override; void sample(SparseGrid*) const override; std::string toPostScriptString(std::size_t precision = 0) const override; private: Point mStartPoint; Point mEndPoint; Point mStartControlPoint; Point mEndControlPoint; };