Template Struct SO2Base¶
Defined in File SO2_base.h
Inheritance Relationships¶
Base Type¶
public manif::LieGroupBase< _Derived >
(Template Struct LieGroupBase)
Struct Documentation¶
-
template<typename _Derived>
struct SO2Base : public manif::LieGroupBase<_Derived>¶ The base class of the SO2 group.
Note
See Appendix A of the paper.
Public Types
Public Functions
-
template<typename _EigenDerived>
Eigen::Matrix<typename SO2Base<_Derived>::Scalar, 2, 1> act(const Eigen::MatrixBase<_EigenDerived> &v, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, 2, 1>>> J_vout_m, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, 2, 2>>> J_vout_v) 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(SO2Base) public Tangent log (OptJacobianRef J_t_m={}) const
Get the inverse of this.
Get the SO2 corresponding Lie algebra element in vector form.
See also
Note
z^-1 = z*
Note
See Eqs. (118,124).
Note
This is the log() map in vector form.
Note
See Eq. (115) & Eqs. (79,126).
- 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 SO2 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 SO2 element.
Note
z_c = z_a z_b.
Note
See Eq. (125).
- Parameters:
m – [in] Another SO2 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, 2, 1> act(const Eigen::MatrixBase<_EigenDerived> &v, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, 2, 1>>> J_vout_m = {}, tl::optional<Eigen::Ref<Eigen::Matrix<Scalar, 2, 2>>> J_vout_v = {}) const¶ Rotation action on a 2-vector.
Note
See Eqs. (129, 130).
- Parameters:
v – A 2-vector.
-optional- – [out] J_vout_m The Jacobian of the new object wrt this.
-optional- – [out] J_vout_v The Jacobian of the new object wrt input object.
- Returns:
The rotated 2-vector.
-
Transformation transform() const¶
Get the transformation matrix (2D isometry).
Note
T = | R 0 | | 0 1 |
-
Scalar real() const¶
Get the real part of the underlying complex number.
-
Scalar imag() const¶
Get the imaginary part of the underlying complex number.
-
Scalar angle() const¶
Get the angle (rad.).
-
void normalize()¶
Normalize the underlying complex number.
-
template<typename _EigenDerived>