#include #ifndef QUADRATIC_MODEL_H #define QUADRATIC_MODEL_H namespace icl{ /// specialization of the GeneralModel class /** The feature function of a quadratic model must not produces features with a higher oder then 2. In this case, the Equations for x and y can be solved with the pq-Formula - so just the formulas for px,py and qx, and qy must be implemented. @see EllipseModel @see RestrictedEllipseModel @see CircleModel */ template class QuadraticModel : public GeneralModel{ public: virtual ~QuadraticModel(){} virtual Array x(T y) const; virtual Array y(T x) const; virtual T px(T y) const = 0; virtual T qx(T y) const = 0; virtual T py(T x) const = 0; virtual T qy(T x) const = 0; virtual void features(T x,T y, T *dst) const = 0; virtual void center(T &x, T &y) const = 0; protected: QuadraticModel(int dim); }; } #endif