template<class _Derived>
LieGroupBase struct
Base class for Lie groups. Defines the minimum common API.
Derived classes
-
template<typename _Derived>struct BundleBase
- The base class of the Bundle group.
-
template<typename _Derived>struct BundleBase
- The base class of the Bundle group.
-
template<typename _Derived>struct BundleBase
- The base class of the Bundle group.
-
template<typename _Derived>struct RnBase
- The base class of the Rn group.
-
template<typename _Derived>struct RnBase
- The base class of the Rn group.
-
template<typename _Derived>struct RnBase
- The base class of the Rn group.
-
template<typename _Derived>struct SE2Base
- The base class of the SE2 group.
-
template<typename _Derived>struct SE2Base
- The base class of the SE2 group.
-
template<typename _Derived>struct SE2Base
- The base class of the SE2 group.
-
template<typename _Derived>struct SE3Base
- The base class of the SE3 group.
-
template<typename _Derived>struct SE3Base
- The base class of the SE3 group.
-
template<typename _Derived>struct SE3Base
- The base class of the SE3 group.
-
template<typename _Derived>struct SE_2_3Base
- The base class of the SE_
2_ 3 group. -
template<typename _Derived>struct SE_2_3Base
- The base class of the SE_
2_ 3 group. -
template<typename _Derived>struct SE_2_3Base
- The base class of the SE_
2_ 3 group. -
template<typename _Derived>struct SGal3Base
- The base class of the SGal3 group.
-
template<typename _Derived>struct SGal3Base
- The base class of the SGal3 group.
-
template<typename _Derived>struct SGal3Base
- The base class of the SGal3 group.
-
template<typename _Derived>struct SO2Base
- The base class of the SO2 group.
-
template<typename _Derived>struct SO2Base
- The base class of the SO2 group.
-
template<typename _Derived>struct SO2Base
- The base class of the SO2 group.
-
template<typename _Derived>struct SO3Base
- The base class of the SO3 group.
-
template<typename _Derived>struct SO3Base
- The base class of the SO3 group.
-
template<typename _Derived>struct SO3Base
- The base class of the SO3 group.
-
template<typename _Derived>struct BundleBase
- The base class of the Bundle group.
-
template<typename _Derived>struct RnBase
- The base class of the Rn group.
-
template<typename _Derived>struct SE2Base
- The base class of the SE2 group.
-
template<typename _Derived>struct SE3Base
- The base class of the SE3 group.
-
template<typename _Derived>struct SE_2_3Base
- The base class of the SE_
2_ 3 group. -
template<typename _Derived>struct SGal3Base
- The base class of the SGal3 group.
-
template<typename _Derived>struct SO2Base
- The base class of the SO2 group.
-
template<typename _Derived>struct SO3Base
- The base class of the SO3 group.
Public types
-
using Scalar = typename internal::
traits<_Derived>::Scalar -
using LieGroup = typename internal::
traits<_Derived>::LieGroup -
using DataType = typename internal::
traits<_Derived>::DataType -
using Tangent = typename internal::
traits<_Derived>::Tangent -
using Jacobian = typename internal::
traits<_Derived>::Jacobian -
using Vector = typename internal::
traits<_Derived>::Vector - using OptJacobianRef = tl::optional<Eigen::Ref<Jacobian>>
-
template<typename _Scalar>using LieGroupTemplate = typename internal::
traitscast<LieGroup, _Scalar>::cast
Public static variables
Public static functions
Public functions
- auto operator=(const LieGroupBase& m) -> _Derived&
- Assignment operator.
-
template<typename _DerivedOther>auto operator=(const LieGroupBase<_DerivedOther>& m) -> _Derived&
- Assignment operator.
-
template<typename _EigenDerived>auto operator=(const Eigen::MatrixBase<_EigenDerived>& data) -> _Derived&
- Assignment operator given Eigen object.
- auto coeffs() -> DataType&
- Access the underlying data by const reference.
- auto coeffs() const -> const DataType&
- Access the underlying data by const reference.
- auto data() -> Scalar*
- Access the underlying data by pointer.
- auto data() const -> const Scalar*
- Access the underlying data by const pointer.
-
template<class _NewScalar>auto cast() const -> LieGroupTemplate<_NewScalar>
- Cast the LieGroup object to a copy of a different scalar type.
- auto setIdentity() -> _Derived&
- Set the LieGroup object this to Identity.
- auto setRandom() -> _Derived&
- Set the LieGroup object this to a random value.
- auto inverse(OptJacobianRef J_m_t = {}) const -> LieGroup
- Get the inverse of the LieGroup object this.
- auto log(OptJacobianRef J_t_m = {}) const -> Tangent
- Get the corresponding Lie algebra element in vector form.
- auto lift(OptJacobianRef J_t_m = {}) const -> MANIF_DEPRECATED Tangent
- This function is deprecated. Please considere 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 element of the same Lie group.
-
template<typename _EigenDerived>auto act(const Eigen::MatrixBase<_EigenDerived>& 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
- Get the action of the Lie group object on a point.
- auto adj() const -> Jacobian
- Get the Adjoint of the Lie group element this.
-
template<typename _DerivedOther>auto rplus(const TangentBase<_DerivedOther>& t, OptJacobianRef J_mout_m = {}, OptJacobianRef J_mout_t = {}) const -> LieGroup
- Right oplus operation of the Lie group.
-
template<typename _DerivedOther>auto lplus(const TangentBase<_DerivedOther>& t, OptJacobianRef J_mout_m = {}, OptJacobianRef J_mout_t = {}) const -> LieGroup
- Left oplus operation of the Lie group.
-
template<typename _DerivedOther>auto plus(const TangentBase<_DerivedOther>& t, OptJacobianRef J_mout_m = {}, OptJacobianRef J_mout_t = {}) const -> LieGroup
- An alias for the right oplus operation.
-
template<typename _DerivedOther>auto rminus(const LieGroupBase<_DerivedOther>& m, OptJacobianRef J_t_ma = {}, OptJacobianRef J_t_mb = {}) const -> Tangent
- Right ominus operation of the Lie group.
-
template<typename _DerivedOther>auto lminus(const LieGroupBase<_DerivedOther>& m, OptJacobianRef J_t_ma = {}, OptJacobianRef J_t_mb = {}) const -> Tangent
- Left ominus operation of the Lie group.
-
template<typename _DerivedOther>auto minus(const LieGroupBase<_DerivedOther>& m, OptJacobianRef J_t_ma = {}, OptJacobianRef J_t_mb = {}) const -> Tangent
- An alias for the right ominus operation.
-
template<typename _DerivedOther>auto between(const LieGroupBase<_DerivedOther>& m, OptJacobianRef J_mc_ma = {}, OptJacobianRef J_mc_mb = {}) const -> LieGroup
-
template<typename _DerivedOther>auto isApprox(const LieGroupBase<_DerivedOther>& m, const Scalar eps = Constants<Scalar>::eps) const -> bool
- Evaluate whether this and m are 'close'.
-
template<typename _DerivedOther>auto operator==(const LieGroupBase<_DerivedOther>& m) const -> bool
- Equality operator.
-
template<typename _DerivedOther>auto operator+(const TangentBase<_DerivedOther>& t) const -> LieGroup
- Right oplus operator.
-
template<typename _DerivedOther>auto operator+=(const TangentBase<_DerivedOther>& t) -> _Derived&
- Right in-place oplus operator.
-
template<typename _DerivedOther>auto operator-(const LieGroupBase<_DerivedOther>& m) const -> Tangent
- Right ominus operator.
-
template<typename _DerivedOther>auto operator*(const LieGroupBase<_DerivedOther>& m) const -> LieGroup
- Lie group composition operator.
-
template<typename _DerivedOther>auto operator*=(const LieGroupBase<_DerivedOther>& m) -> _Derived&
- Lie group in-place composition operator.
- auto operator[](const unsigned int i) -> auto
- Access the ith coeffs.
- auto operator[](const unsigned int i) -> auto
- Access the ith coeffs.
- auto size() const -> unsigned int constexpr
- The size of the underlying vector.
-
template<class _NewScalar>auto cast() const -> LieGroupBase<_Derived>::template LieGroupTemplate<_NewScalar>
Protected functions
Function documentation
template<class _Derived>
_Derived& manif:: LieGroupBase<_Derived>:: operator=(const LieGroupBase& m)
Assignment operator.
Returns | A reference to this. |
---|
template<class _Derived>
template<typename _DerivedOther>
_Derived& manif:: LieGroupBase<_Derived>:: operator=(const LieGroupBase<_DerivedOther>& m)
Assignment operator.
Returns | A reference to this. |
---|
template<class _Derived>
template<typename _EigenDerived>
_Derived& manif:: LieGroupBase<_Derived>:: operator=(const Eigen::MatrixBase<_EigenDerived>& data)
Assignment operator given Eigen object.
Returns | A reference to this. |
---|
template<class _Derived>
_Derived& manif:: LieGroupBase<_Derived>:: setIdentity()
Set the LieGroup object this to Identity.
Returns | A reference to this. |
---|
template<class _Derived>
_Derived& manif:: LieGroupBase<_Derived>:: setRandom()
Set the LieGroup object this to a random value.
Returns | A reference to this. |
---|
template<class _Derived>
LieGroup manif:: LieGroupBase<_Derived>:: inverse(OptJacobianRef J_m_t = {}) const
Get the inverse of the LieGroup object this.
Returns | The Inverse of this. |
---|
template<class _Derived>
Tangent manif:: LieGroupBase<_Derived>:: log(OptJacobianRef J_t_m = {}) const
Get the corresponding Lie algebra element in vector form.
Returns | The tangent element in vector form. |
---|
template<class _Derived>
template<typename _DerivedOther>
LieGroup manif:: LieGroupBase<_Derived>:: compose(const LieGroupBase<_DerivedOther>& m,
OptJacobianRef J_mc_ma = {},
OptJacobianRef J_mc_mb = {}) const
Composition of this and another element of the same Lie group.
Parameters | |
---|---|
m in | Another element of the same Lie group. |
J_mc_ma | |
J_mc_mb | |
Returns | The composition of 'this . m'. |
template<class _Derived>
template<typename _EigenDerived>
Vector manif:: LieGroupBase<_Derived>:: act(const Eigen::MatrixBase<_EigenDerived>& 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
Get the action of the Lie group object on a point.
Parameters | |
---|---|
v in | A point. |
J_vout_m | |
J_vout_v | |
Returns | A point acted upon by the object. |
template<class _Derived>
Jacobian manif:: LieGroupBase<_Derived>:: adj() const
Get the Adjoint of the Lie group element this.
template<class _Derived>
template<typename _DerivedOther>
LieGroup manif:: LieGroupBase<_Derived>:: rplus(const TangentBase<_DerivedOther>& t,
OptJacobianRef J_mout_m = {},
OptJacobianRef J_mout_t = {}) const
Right oplus operation of the Lie group.
Parameters | |
---|---|
t in | An element of the tangent of the Lie group. |
J_mout_m | |
J_mout_t | |
Returns | An element of the Lie group. |
template<class _Derived>
template<typename _DerivedOther>
LieGroup manif:: LieGroupBase<_Derived>:: lplus(const TangentBase<_DerivedOther>& t,
OptJacobianRef J_mout_m = {},
OptJacobianRef J_mout_t = {}) const
Left oplus operation of the Lie group.
Parameters | |
---|---|
t in | An element of the tangent of the Lie group. |
J_mout_m | |
J_mout_t | |
Returns | An element of the Lie group. |
template<class _Derived>
template<typename _DerivedOther>
LieGroup manif:: LieGroupBase<_Derived>:: plus(const TangentBase<_DerivedOther>& t,
OptJacobianRef J_mout_m = {},
OptJacobianRef J_mout_t = {}) const
An alias for the right oplus operation.
template<class _Derived>
template<typename _DerivedOther>
Tangent manif:: LieGroupBase<_Derived>:: rminus(const LieGroupBase<_DerivedOther>& m,
OptJacobianRef J_t_ma = {},
OptJacobianRef J_t_mb = {}) const
Right ominus operation of the Lie group.
Parameters | |
---|---|
m in | Another element of the same Lie group. |
J_t_ma | |
J_t_mb | |
Returns | An element of the tangent space of the Lie group. |
template<class _Derived>
template<typename _DerivedOther>
Tangent manif:: LieGroupBase<_Derived>:: lminus(const LieGroupBase<_DerivedOther>& m,
OptJacobianRef J_t_ma = {},
OptJacobianRef J_t_mb = {}) const
Left ominus operation of the Lie group.
Parameters | |
---|---|
m in | Another element of the same Lie group. |
J_t_ma | |
J_t_mb | |
Returns | An element of the tangent space of the Lie group. |
template<class _Derived>
template<typename _DerivedOther>
Tangent manif:: LieGroupBase<_Derived>:: minus(const LieGroupBase<_DerivedOther>& m,
OptJacobianRef J_t_ma = {},
OptJacobianRef J_t_mb = {}) const
An alias for the right ominus operation.
template<class _Derived>
template<typename _DerivedOther>
LieGroup manif:: LieGroupBase<_Derived>:: between(const LieGroupBase<_DerivedOther>& m,
OptJacobianRef J_mc_ma = {},
OptJacobianRef J_mc_mb = {}) const
Parameters | |
---|---|
m in | [description] |
J_mc_ma | |
J_mc_mb | |
Returns | [description] |
template<class _Derived>
template<typename _DerivedOther>
bool manif:: LieGroupBase<_Derived>:: isApprox(const LieGroupBase<_DerivedOther>& m,
const Scalar eps = Constants<Scalar>::eps) const
Evaluate whether this and m are 'close'.
Parameters | |
---|---|
m in | An element of the same Lie Group. |
eps in | Threshold for equality comparison. |
Returns | true if the Lie group element m is 'close' to this, false otherwise. |
template<class _Derived>
template<typename _DerivedOther>
bool manif:: LieGroupBase<_Derived>:: operator==(const LieGroupBase<_DerivedOther>& m) const
Equality operator.
Returns | true if the Lie group element m is 'close' to this, false otherwise. |
---|
template<class _Derived>
template<typename _DerivedOther>
LieGroup manif:: LieGroupBase<_Derived>:: operator+(const TangentBase<_DerivedOther>& t) const
Right oplus operator.
template<class _Derived>
template<typename _DerivedOther>
_Derived& manif:: LieGroupBase<_Derived>:: operator+=(const TangentBase<_DerivedOther>& t)
Right in-place oplus operator.
template<class _Derived>
template<typename _DerivedOther>
Tangent manif:: LieGroupBase<_Derived>:: operator-(const LieGroupBase<_DerivedOther>& m) const
Right ominus operator.
template<class _Derived>
template<typename _DerivedOther>
LieGroup manif:: LieGroupBase<_Derived>:: operator*(const LieGroupBase<_DerivedOther>& m) const
Lie group composition operator.
template<class _Derived>
template<typename _DerivedOther>
_Derived& manif:: LieGroupBase<_Derived>:: operator*=(const LieGroupBase<_DerivedOther>& m)
Lie group in-place composition operator.