Go to the documentation of this file.
3 #include "../exceptions.h"
4 #include "../VariantValue.h"
27 template <
typename U,
typename V>
35 return (1 - t) * lhs + t * rhs;
40 return (1 - t) * lhs + t * rhs;
45 return lhs.
slerp(t, rhs);
55 template <
typename ReturnT>
59 return std::get<ReturnT>(result);
std::variant< float, Eigen::MatrixXf, Eigen::Quaternionf > VariantValue
Variant for trajectory values.
Linear interpolation visitor: Interpolates between the given values linearly.
VariantValue result_type
Exposed result type.
VariantValue operator()(const Eigen::Quaternionf &lhs, const Eigen::Quaternionf &rhs) const
Eigen::Matrix3f slerp(float, const Eigen::Matrix3f &)
ReturnT linear(float t, const VariantValue &lhs, const VariantValue &rhs)
Linear(float t)
Interpolator.
VariantValue operator()(const Eigen::MatrixXf &lhs, const Eigen::MatrixXf &rhs) const
VariantValue operator()(const U &, const V &) const
requires isVisitor< VisitorImplementation, typename VisitorImplementation::Input > void visit(VisitorImplementation &v, typename VisitorImplementation::Input &o)
VariantValue linear< VariantValue >(float t, const VariantValue &lhs, const VariantValue &rhs)
VariantValue operator()(const float &lhs, const float &rhs) const