template<typename _Scalar, template<typename> class ... _T>
Bundle struct
Represents a Bundle (or Composite) element as described in Section IV of the reference paper (see also Example 7).
A Bundle <G1, ..., Gn> of Lie groups can be utilized as a single group with element-wise operations. This can be convenient when working with aggregate states that consist of multiple Lie group sub-states, like the example in Section VIIb of the reference paper.
Example: create an element of the composite <SO3, E3, E3> using double as the scalar type.
Bundle<double, SO3, R3, R3> element;
Base classes
-
template<typename _Derived>struct BundleBase<Bundle<_Scalar, _T ...>>
- The base class of the Bundle group.
Public types
-
template<int Idx>using Element = typename Base::template Element<Idx>
Public static variables
- static std::size_t BundleSize constexpr
- Number of elements in bundle.
Constructors, destructors, conversion operators
- ~Bundle() defaulted
-
template<typename _DerivedOther>Bundle(const LieGroupBase<_DerivedOther>& o)
- Bundle(const _T<_Scalar>&... elements)
- Construct from Bundle elements.
-
template<int ... _Idx>Bundle(internal::
intseq<_Idx...>, const _T<_Scalar>&... elements) protected
Public functions
Protected variables
- DataType data_
- Underlying data (Eigen) vector.