16 template <
int N,
typename Real>
45 virtual void Evaluate(Real
t,
unsigned int maxOrder,
57 template <
int N,
typename Real>
89 template <
int N,
typename Real>
95 template <
int N,
typename Real>
98 return static_cast<int>(
mControls.size());
101 template <
int N,
typename Real>
107 template <
int N,
typename Real>
113 template <
int N,
typename Real>
122 template <
int N,
typename Real>
135 template <
int N,
typename Real>
153 values[0] =
Compute(0, imin, imax);
157 values[1] =
Compute(1, imin, imax);
161 values[2] =
Compute(2, imin, imax);
164 values[3] =
Compute(3, imin, imax);
174 template <
int N,
typename Real>
185 for (
int i = imin; i <= imax; ++i)
188 int j = (i >= numControls ? i - numControls : i);
GLfixed GLfixed GLint GLint order
std::vector< Real > mTime
int GetNumControls() const
GLenum GLsizei GLsizei GLint * values
Vector< N, Real > const & GetControl(int i) const
std::vector< Vector< N, Real > > mControls
Vector< N, Real > const * GetControls() const
virtual void Evaluate(Real t, unsigned int maxOrder, Vector< N, Real > values[4]) const
BasisFunction< Real > mBasisFunction
void SetControl(int i, Vector< N, Real > const &control)
GLenum GLenum GLenum input
Vector< N, Real > Compute(unsigned int order, int imin, int imax) const
BSplineCurve(BasisFunctionInput< Real > const &input, Vector< N, Real > const *controls)
BasisFunction< Real > const & GetBasisFunction() const