29 #ifndef POLYNOMIAL_INCLUDED
30 #define POLYNOMIAL_INCLUDED
32 #define NEW_POLYNOMIAL_CODE 1
36 template<
int Degree >
46 double integral(
double tMin ,
double tMax )
const;
99 #include "Polynomial.inl"
static void BSplineComponentValues(double x, double *values)
Polynomial & operator/=(double s)
Polynomial< Degree+1 > integral(void) const
Polynomial & operator*=(double s)
Polynomial(const Polynomial< Degree2 > &P)
Polynomial operator+(const Polynomial &p) const
static void Subtract(const Polynomial &p1, const Polynomial &p2, Polynomial &q)
Polynomial & operator+=(const Polynomial &p)
void getSolutions(double c, std::vector< double > &roots, double EPS) const
Polynomial & addScaled(const Polynomial &p, double scale)
static void Negate(const Polynomial &in, Polynomial &out)
static void Scale(const Polynomial &p, double w, Polynomial &q)
int operator==(const Polynomial &p) const
static void BinomialCoefficients(int bCoefficients[Degree+1])
double operator()(double t) const
int getSolutions(double c, double *roots, double EPS) const
int operator!=(const Polynomial &p) const
Polynomial & operator-=(const Polynomial &p)
Polynomial & operator=(const Polynomial< Degree2 > &p)
Polynomial< Degree-1 > derivative(void) const
static void AddScaled(const Polynomial &p1, double w1, const Polynomial &p2, double w2, Polynomial &q)
Polynomial< Degree+Degree2 > operator*(const Polynomial< Degree2 > &p) const
double coefficients[Degree+1]
static void AddScaled(const Polynomial &p1, const Polynomial &p2, double w2, Polynomial &q)
Polynomial scale(double s) const
double integral(double tMin, double tMax) const
Polynomial shift(double t) const
static void AddScaled(const Polynomial &p1, double w1, const Polynomial &p2, Polynomial &q)
Polynomial operator/(double s) const
Polynomial operator-(void) const
static Polynomial BSplineComponent(int i)