26 template <
typename U,
typename V>
36 return (1 - t) * lhs + t * rhs;
40 operator()(
const Eigen::MatrixXf& lhs,
const Eigen::MatrixXf& rhs)
const
42 return (1 - t) * lhs + t * rhs;
48 return lhs.
slerp(t, rhs);
56 template <
typename ReturnT>
61 return std::get<ReturnT>(result);
Eigen::Matrix3f slerp(float, const Eigen::Matrix3f &)
Linear interpolation visitor: Interpolates between the given values linearly.
VariantValue operator()(const float &lhs, const float &rhs) const
VariantValue operator()(const U &, const V &) const
Linear(float t)
Interpolator.
VariantValue result_type
Exposed result type.
VariantValue operator()(const Eigen::Quaternionf &lhs, const Eigen::Quaternionf &rhs) const
VariantValue operator()(const Eigen::MatrixXf &lhs, const Eigen::MatrixXf &rhs) const
Quaternion< float, 0 > Quaternionf
ReturnT linear(float t, const VariantValue &lhs, const VariantValue &rhs)
VariantValue linear< VariantValue >(float t, const VariantValue &lhs, const VariantValue &rhs)
std::variant< float, Eigen::MatrixXf, Eigen::Quaternionf > VariantValue
Variant for trajectory values.