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