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