stuff-from-scratch/src/base/geometry/path/QuadraticBezierCurve.h
2023-01-20 16:47:39 +00:00

31 lines
No EOL
641 B
C++

#pragma once
#include "Curve.h"
#include "Point.h"
class QuadraticBezierCurve : public Curve
{
public:
QuadraticBezierCurve(const Point& startPoint, const Point& endPoint, const Point& controlPoint);
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<bool>* grid) const override;
std::string toPostScriptString(std::size_t precision = 0) const override;
private:
Point mStartPoint;
Point mEndPoint;
Point mControlPoint;
};