#ifndef UBINTERPOLATOR_H #define UBINTERPOLATOR_H #include class UBInterpolator { /* Abstract class representing an interpolator */ public: enum InterpolationMethod { NoInterpolation, //SimpleSpline, //CatmullRom, Bezier }; UBInterpolator(); virtual ~UBInterpolator(); virtual void setPoints(QList points) = 0; //virtual double y(double x) {} }; class UBQuadraticBezier : public UBInterpolator { public: UBQuadraticBezier(); virtual ~UBQuadraticBezier(); virtual void setPoints(QList points); void setPoints(QPointF start, QPointF control, QPointF end); //virtual double y(double x); QList getPoints(int n); private: QPainterPath* mPath; }; #endif // UBINTERPOLATOR_H