22struct man<std::variant<Ms...>>
 
   25  using Scalar      = std::common_type_t<typename traits::man<Ms>::Scalar...>;
 
   27  template<
typename NewScalar>
 
   30  static constexpr int Dof = -1;
 
   35    return std::visit(visitor, m);
 
   43  template<
typename NewScalar>
 
   49    return std::visit(visitor, m);
 
   52  template<
typename Derived>
 
   56    return std::visit(visitor, m);
 
   61    const auto visitor = [&m2]<
Manifold Mi>(
const Mi & x) -> Eigen::VectorX<Scalar> {
 
   64    return std::visit(visitor, m1);
 
 
Class-external Manifold interface defined through the traits::man trait class.
PlainObject< M > Default()
Default-initialized Manifold with static dof.
typename traits::man< M >::Scalar Scalar
Manifold scalar type.
Eigen::Index dof(const M &m)
Manifold degrees of freedom (tangent space dimension)
Tangent< M > rminus(const M &g1, const Mo &g2)
Manifold right-minus.
PlainObject< M > rplus(const M &m, const Eigen::MatrixBase< Derived > &a)
Manifold right-plus.
typename traits::man< M >::template CastT< NewScalar > CastT
Cast'ed type.
CastT< NewScalar, M > cast(const M &m)
Cast to different scalar type.
typename traits::man< M >::PlainObject PlainObject
Manifold default type.
Trait class for making a class a Manifold instance via specialization.