44 #ifndef ACG_BSPLINEBASIS_HH_ 45 #define ACG_BSPLINEBASIS_HH_ 48 #include <ACG/Math/VectorT.hh> 59 template<
typename Scalar>
63 const std::vector<Scalar>& _knots);
76 template<
typename Scalar>
81 const std::vector<Scalar>& _knots);
97 template<
typename Scalar>
103 const std::vector<Scalar>& _knots,
104 std::vector<Scalar>* _functionVals);
118 template<
typename Scalar>
123 const std::vector<Scalar>& _knots);
137 template<
typename Scalar>
143 const std::vector<Scalar>& _knots);
149 #if defined(INCLUDE_TEMPLATES) && !defined(ACG_BSPLINEBASIS_C) 150 #define ACG_BSPLINEBASIS_TEMPLATES 151 #include "BSplineBasis.cc" Scalar bsplineBasisFunction(int _i, int _degree, Scalar _t, const std::vector< Scalar > &_knots)
Evaluate a single basis function.
VectorT< signed int, 2 > Vec2i
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.
Namespace providing different geometric functions concerning angles.
Vec2i bsplineSpan(Scalar _t, int _degree, const std::vector< Scalar > &_knots)
Find the span of a parameter value.
void bsplineBasisFunctions(std::vector< Scalar > &_N, const Vec2i &_span, Scalar _t, const std::vector< Scalar > &_knots)
Evaluate basis functions in a span.
Scalar bsplineBasisDerivative(int _i, int _degree, Scalar _t, int _der, const std::vector< Scalar > &_knots)
Compute derivative of a single basis function.