Template Struct SGal3Base¶
Defined in File SGal3_base.h
Inheritance Relationships¶
Base Type¶
public manif::LieGroupBase< _Derived >
(Template Struct LieGroupBase)
Struct Documentation¶
-
template<typename _Derived>
struct SGal3Base : public manif::LieGroupBase<_Derived>¶ The base class of the SGal3 group.
Note
See “All About the Galilean Group SGal(3)” J. Kelly. https://arxiv.org/abs/2312.07555
Public Types
-
using Time = Scalar¶
-
using Transformation = Eigen::Matrix<Scalar, 5, 5>¶
-
using Isometry = Eigen::Matrix<Scalar, 5, 5>¶
Double direct spatial isometry
-
using QuaternionDataType = Eigen::Quaternion<Scalar>¶
Public Functions
-
template<typename _EigenDerived>
Eigen::Matrix<typename SGal3Base<_Derived>::Scalar, 3, 1> 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¶
-
DataType &coeffs()¶
Access the underlying data by const reference.
-
const DataType &coeffs() const¶
Access the underlying data by const reference.
Protected Functions
- MANIF_DEFAULT_CONSTRUCTOR(SGal3Base) public Tangent log (OptJacobianRef J_t_m={}) const
Get the inverse.
Get the SGal3 corresponding Lie algebra element in vector form.
See also
Note
This is the log() map in vector form.
- Parameters:
-optional- – [out] J_minv_m Jacobian of the inverse wrt this.
-optional- – [out] J_t_m Jacobian of the tangent wrt to this.
- Returns:
The SGal3 tangent of this.
- MANIF_DEPRECATED Tangent lift (OptJacobianRef J_t_m={}) const
This function is deprecated. Please considere using log instead.
-
template<typename _DerivedOther>
LieGroup compose(const LieGroupBase<_DerivedOther> &m, OptJacobianRef J_mc_ma = {}, OptJacobianRef J_mc_mb = {}) const¶ Composition of this and another SGal3 element.
- Parameters:
m – [in] Another SGal3 element.
-optional- – [out] J_mc_ma Jacobian of the composition wrt this.
-optional- – [out] J_mc_mb Jacobian of the composition wrt m.
- Returns:
The composition of ‘this . m’.
-
template<typename _EigenDerived>
Eigen::Matrix<Scalar, 3, 1> 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:
p – [in] A 3D point.
-optional- – [out] J_pout_m The Jacobian of the new object wrt this.
-optional- – [out] J_pout_p The Jacobian of the new object wrt input object.
-
Transformation transform() const¶
Get the isometry object (double direct isometry).
Note
T = | R v t| | 1 s| | 1|
-
Isometry isometry() const¶
Get the isometry object (double direct isometry).
Note
T = | R v t| | 1 s| | 1|
-
QuaternionDataType quat() const¶
Get the rotational part of this as a quaternion.
-
Translation translation() const¶
Get the translational part in vector form.
-
Scalar x() const¶
Get the x component of the translational part.
-
Scalar y() const¶
Get the y component of translational part.
-
Scalar z() const¶
Get the z component of translational part.
-
LinearVelocity linearVelocity() const¶
Get the linear velocity part in vector form.
-
Scalar vx() const¶
Get the x component of the linear velocity part.
-
Scalar vy() const¶
Get the y component of linear velocity part.
-
Scalar vz() const¶
Get the z component of linear velocity part.
-
Scalar t() const¶
Get the time.
-
void normalize()¶
Normalize the underlying quaternion.
-
using Time = Scalar¶