46template<
int K, LieGroup G>
50 static_assert(Dof<G> > 0,
"Dof<G> must be known at compile time.");
72 template<std::ranges::range Rv>
73 requires(std::is_same_v<std::ranges::range_value_t<Rv>, G>)
90 [[nodiscard]]
double dt()
const;
95 [[nodiscard]]
double t_min()
const;
119 template<
typename S =
double>
124 std::vector<G> m_ctrl_pts;
128#include "detail/bspline_impl.hpp"
Cardinal Bspline on a Lie group.
double t_min() const
Minimal time for which spline is defined.
BSpline(double t0, double dt, std::vector< G > &&ctrl_pts)
Create a BSpline.
BSpline & operator=(const BSpline &)=default
Copy assignment.
const std::vector< G > & ctrl_pts() const
Access spline control points.
CastT< S, G > operator()(const S &t, OptTangent< CastT< S, G > > vel={}, OptTangent< CastT< S, G > > acc={}) const
Evaluate BSpline.
BSpline(const BSpline &)=default
Copy constructor.
double t_max() const
Maximal time for which spline is defined.
BSpline(double t0, double dt, const Rv &ctrl_pts)
Create a BSpline.
BSpline()
Construct a constant bspline defined on [0, 1) equal to identity.
BSpline(BSpline &&)=default
Move constructor.
double dt() const
Distance between knots.
~BSpline()=default
Descructor.
BSpline & operator=(BSpline &&)=default
Move assignment.
Evaluation of cumulative Lie group splines.
typename traits::man< M >::template CastT< NewScalar > CastT
Cast'ed type.