Class xlifepp::BezierSpline#

class BezierSpline : public xlifepp::Spline#

BezierSpline class

Public Functions

BezierSpline(const BezierSpline&)#

copy constructor

inline virtual BezierSpline *clone() const#

virtual copy like constructor

void copy(const BezierSpline&)#

copy BezierSpline data in a cleaned BezierSpline (re-allocate parametrization_ pointer)

virtual Point evaluate(real_t t, DiffOpType d = _id) const#

return parameter bounds

evaluate Bezier spline Q(t)=sum_{i=0,n} C(n,i) t^i (1-t)^(n-i) P_i or its derivative of order r<=3: Q^(r)(t) = n(n-1)…(n-r+1) sum_{i=0,n-r} B_{i,n-r}(t) D^r P_i (D^r: forward differences of order r) computed with the de Casteljau algorithm

evaluate spline or its derivative at t

Vector<real_t> funParametrization(const Point &pt, Parameters &pars, DiffOpType d = _id) const#

parametrization

< parametrization s(t)

Vector<real_t> invParametrization(const Point &pt, Parameters &pars, DiffOpType d = _id) const#

inverse of parametrization

inverse of parametrization: parameter t in [0,1] of the point pt of the curve (closest point) (an inverse that always fails disabled the generic Newton method of Parametrization::toParameter)

BezierSpline &operator=(const BezierSpline&)#

assign BezierSpline to current one

inline virtual RealPair parameterBounds() const#

return parameter bounds

return parameter bounds same as knot bounds!

virtual void print(std::ostream&) const#

print utility