44#include "AnimationHelper.hh"
49template<
typename Scalar>
51 float bezierParam = AnimationHelper::approximateCubicBezierParameter<Scalar>(_atX, P0_.first, P1_.first, C0_.first, C1_.first);
52 return AnimationHelper::evaluateBezier<Scalar>(bezierParam, P0_.second, P1_.second, C0_.second, C1_.second);
57template<
typename Scalar>
59 typedef std::vector<Scalar> Scalars;
61 Scalars p0_x; p0_x.push_back(P0_.first);
62 Scalars p1_x; p1_x.push_back(P1_.first);
63 Scalars c0_x; c0_x.push_back(C0_.first);
64 Scalars c1_x; c1_x.push_back(C1_.first);
66 return AnimationHelper::evaluateBezier<Scalar>(1.0f, p0_x, p1_x, c0_x, c1_x)[0];
71template<
typename Scalar>
73 typedef std::vector<Scalar> Scalars;
75 Scalars p0_x; p0_x.push_back(P0_.first);
76 Scalars p1_x; p1_x.push_back(P1_.first);
77 Scalars c0_x; c0_x.push_back(C0_.first);
78 Scalars c1_x; c1_x.push_back(C1_.first);
80 return AnimationHelper::evaluateBezier<Scalar>(0.0f, p0_x, p1_x, c0_x, c1_x)[0];
85template<
typename Scalar>
86typename BezierInterpolationT<Scalar>::Point&
93template<
typename Scalar>
94typename BezierInterpolationT<Scalar>::Point&
101template<
typename Scalar>
102typename BezierInterpolationT<Scalar>::Point&
109template<
typename Scalar>
110typename BezierInterpolationT<Scalar>::Point&