template<typename _Derived>
manif::BundleBase struct

The base class of the Bundle group.

Base classes

template<class _Derived>
struct LieGroupBase<_Derived>
Base class for Lie groups. Defines the minimum common API.

Public types

using Elements = typename internal::traits<_Derived>::Elements
template<int Idx>
using Element = typename internal::traits<_Derived>::template Element<Idx>
template<int Idx>
using MapElement = typename internal::traits<_Derived>::template MapElement<Idx>
template<int Idx>
using MapConstElement = typename internal::traits<_Derived>::template MapConstElement<Idx>
using Transformation = typename internal::traits<_Derived>::Transformation

Public static variables

static std::size_t BundleSize constexpr
Number of elements in bundle.

Public functions

auto inverse(OptJacobianRef J_minv_m = {}) const -> LieGroup
Get the inverse of this.
auto log(OptJacobianRef J_t_m = {}) const -> Tangent
Get the corresponding Lie algebra element.
auto lift(OptJacobianRef J_t_m = {}) const -> MANIF_DEPRECATED Tangent
This function is deprecated. Please consider using log instead.
template<typename _DerivedOther>
auto compose(const LieGroupBase<_DerivedOther>& m, OptJacobianRef J_mc_ma = {}, OptJacobianRef J_mc_mb = {}) const -> LieGroup
Composition of this and another Bundle element.
auto act(const Vector& v, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, Dim, DoF>>> J_vout_m = {}, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, Dim, Dim>>> J_vout_v = {}) const -> Vector
Bundle group action.
auto adj() const -> Jacobian
Get the adjoint matrix at this.
auto transform() const -> Transformation
Get the element-diagonal transformation matrix.
template<int _Idx>
auto element() -> MapElement<_Idx>
Access Bundle element as Map.
template<int _Idx>
auto element() const -> MapConstElement<_Idx>
Access Bundle element as Map to const.
template<int ... _Idx>
auto act_impl(const typename BundleBase<_Derived>::Vector& v, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, Dim, DoF>>> J_vout_m, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, Dim, Dim>>> J_vout_v, internal::intseq<_Idx...>) const -> BundleBase<_Derived>::Vector
template<int _Idx>
auto element() -> MapElement< _Idx > -> auto
template<int _Idx>
auto element() const -> MapConstElement< _Idx > -> auto
auto coeffs() -> DataType&
Access the underlying data by const reference.
auto coeffs() const -> const DataType&
Access the underlying data by const reference.

Protected functions

template<int ... _Idx>
auto inverse_impl(OptJacobianRef, internal::intseq<_Idx...>) const -> LieGroup
template<int ... _Idx>
auto log_impl(OptJacobianRef, internal::intseq<_Idx...>) const -> Tangent
template<typename _DerivedOther, int ... _Idx>
auto compose_impl(const LieGroupBase<_DerivedOther>& m, OptJacobianRef J_mc_ma, OptJacobianRef J_mc_mb, internal::intseq<_Idx...>) const -> LieGroup
template<int ... _Idx>
auto act_impl(const Vector& v, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, Dim, DoF>>> J_vout_m, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, Dim, Dim>>> J_vout_v, internal::intseq<_Idx...>) const -> Vector
template<int ... _Idx>
auto adj_impl(internal::intseq<_Idx...>) const -> Jacobian
template<int ... _Idx>
auto transform_impl(internal::intseq<_Idx...>) const -> Transformation
auto derived() & -> _Derived& noexcept
auto derived() const & -> const _Derived& noexcept

Function documentation

template<typename _Derived>
Tangent manif::BundleBase<_Derived>::log(OptJacobianRef J_t_m = {}) const

Get the corresponding Lie algebra element.

Returns The tangent of this.

template<typename _Derived> template<typename _DerivedOther>
LieGroup manif::BundleBase<_Derived>::compose(const LieGroupBase<_DerivedOther>& m, OptJacobianRef J_mc_ma = {}, OptJacobianRef J_mc_mb = {}) const

Composition of this and another Bundle element.

Parameters
in Another Bundle element.
J_mc_ma
J_mc_mb
Returns The composition of 'this . m'.

template<typename _Derived>
Vector manif::BundleBase<_Derived>::act(const Vector& v, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, Dim, DoF>>> J_vout_m = {}, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, Dim, Dim>>> J_vout_v = {}) const

Bundle group action.

Parameters
v vector.
J_vout_m
J_vout_v
Returns The translated vector.

template<typename _Derived> template<int _Idx>
MapElement<_Idx> manif::BundleBase<_Derived>::element()

Access Bundle element as Map.

Template parameters
_Idx element index

template<typename _Derived> template<int _Idx>
MapConstElement<_Idx> manif::BundleBase<_Derived>::element() const

Access Bundle element as Map to const.

Template parameters
_Idx element index