template<typename _Derived>
manif::SGal3Base struct

The base class of the SGal3 group.

Base classes

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

Public types

using Rotation = typename internal::traits<_Derived>::Rotation
using Translation = typename internal::traits<_Derived>::Translation
using LinearVelocity = typename internal::traits<_Derived>::LinearVelocity
using Time = Scalar
using Transformation = Eigen::Matrix<Scalar, 5, 5>
using Isometry = Eigen::Matrix<Scalar, 5, 5>
using QuaternionDataType = Eigen::Quaternion<Scalar>

Public functions

auto inverse(OptJacobianRef J_minv_m = {}) const -> LieGroup
Get the inverse.
auto log(OptJacobianRef J_t_m = {}) const -> Tangent
Get the SGal3 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 SGal3 element.
template<typename _EigenDerived>
auto act(const Eigen::MatrixBase<_EigenDerived>& p, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, 3, 10>>> J_pout_m = {}, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, 3, 3>>> J_pout_p = {}) const -> Eigen::Matrix<Scalar, 3, 1>
Get the action.
auto adj() const -> Jacobian
Get the adjoint matrix of SGal3 at this.
auto transform() const -> Transformation
auto isometry() const -> Isometry
auto rotation() const -> Rotation
Get the rotational part of this as a rotation matrix.
auto quat() const -> QuaternionDataType
Get the rotational part of this as a quaternion.
auto translation() const -> Translation
Get the translational part in vector form.
auto x() const -> Scalar
Get the x component of the translational part.
auto y() const -> Scalar
Get the y component of translational part.
auto z() const -> Scalar
Get the z component of translational part.
auto linearVelocity() const -> LinearVelocity
Get the linear velocity part in vector form.
auto vx() const -> Scalar
Get the x component of the linear velocity part.
auto vy() const -> Scalar
Get the y component of linear velocity part.
auto vz() const -> Scalar
Get the z component of linear velocity part.
auto t() const -> Scalar
Get the time.
void normalize()
Normalize the underlying quaternion.
auto asSO3() const -> Eigen::Map<const SO3<Scalar>>
auto asSO3() -> Eigen::Map<SO3<Scalar>>
template<typename _EigenDerived>
auto act(const Eigen::MatrixBase<_EigenDerived>& p, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, 3, 10>>> J_pout_m, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, 3, 3>>> J_pout_p) const -> Eigen::Matrix<typename SGal3Base<_Derived>::Scalar, 3, 1>
auto coeffs() -> DataType&
Access the underlying data by const reference.
auto coeffs() const -> const DataType&
Access the underlying data by const reference.

Protected functions

auto derived() & -> _Derived& noexcept
auto derived() const & -> const _Derived& noexcept

Typedef documentation

template<typename _Derived>
using manif::SGal3Base<_Derived>::Isometry = Eigen::Matrix<Scalar, 5, 5>

Double direct spatial isometry

Function documentation

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

Get the SGal3 corresponding Lie algebra element in vector form.

Returns The SGal3 tangent of this.

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

Composition of this and another SGal3 element.

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

template<typename _Derived> template<typename _EigenDerived>
Eigen::Matrix<Scalar, 3, 1> manif::SGal3Base<_Derived>::act(const Eigen::MatrixBase<_EigenDerived>& p, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, 3, 10>>> J_pout_m = {}, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, 3, 3>>> J_pout_p = {}) const

Get the action.

Parameters
in A 3D point.
J_pout_m
J_pout_p

template<typename _Derived>
Transformation manif::SGal3Base<_Derived>::transform() const

Get the isometry object (double direct isometry).

template<typename _Derived>
Isometry manif::SGal3Base<_Derived>::isometry() const

Get the isometry object (double direct isometry).