51 #ifndef ACG_BSPLINEBASIS_HH_
52 #define ACG_BSPLINEBASIS_HH_
55 #include <ACG/Math/VectorT.hh>
66 template<
typename Scalar>
70 const std::vector<Scalar>& _knots);
83 template<
typename Scalar>
88 const std::vector<Scalar>& _knots);
104 template<
typename Scalar>
110 const std::vector<Scalar>& _knots,
111 std::vector<Scalar>* _functionVals);
125 template<
typename Scalar>
130 const std::vector<Scalar>& _knots);
144 template<
typename Scalar>
150 const std::vector<Scalar>& _knots);
156 #if defined(INCLUDE_TEMPLATES) && !defined(ACG_BSPLINEBASIS_C)
157 #define ACG_BSPLINEBASIS_TEMPLATES
158 #include "BSplineBasis.cc"
void bsplineBasisFunctions(std::vector< Scalar > &_N, const Vec2i &_span, Scalar _t, const std::vector< Scalar > &_knots)
Evaluate basis functions in a span.
Namespace providing different geometric functions concerning angles.
VectorT< signed int, 2 > Vec2i
Vec2i bsplineSpan(Scalar _t, int _degree, const std::vector< Scalar > &_knots)
Find the span of a parameter value.
void bsplineBasisDerivatives(std::vector< Scalar > &_ders, const Vec2i &_span, Scalar _t, int _der, const std::vector< Scalar > &_knots, std::vector< Scalar > *_functionVals)
Compute derivatives of basis functions in a span.
Scalar bsplineBasisFunction(int _i, int _degree, Scalar _t, const std::vector< Scalar > &_knots)
Evaluate a single basis function.
Scalar bsplineBasisDerivative(int _i, int _degree, Scalar _t, int _der, const std::vector< Scalar > &_knots)
Compute derivative of a single basis function.