| 
    smooth
    
   A C++ library for Lie theory 
   | 
 
Const memory mapping of SO3 Lie group. More...
#include <so3.hpp>

Additional Inherited Members | |
  Public Types inherited from LieGroupBase< Derived > | |
| using | Scalar = typename traits::Scalar | 
| Scalar type.   | |
| using | Matrix = Eigen::Matrix< Scalar, Dim, Dim > | 
| Lie group matrix type.   | |
| using | Tangent = Eigen::Matrix< Scalar, Dof, 1 > | 
| Lie group parameterized tangent type.   | |
| using | TangentMap = Eigen::Matrix< Scalar, Dof, Dof > | 
| Matrix representing map between tangent elements.   | |
| using | Hessian = Eigen::Matrix< Scalar, Dof, Dof *Dof > | 
| Plain return type with different scalar.   | |
| template<typename NewScalar > | |
| using | CastT = typename traits::template PlainObject< NewScalar > | 
| Plain return type with different scalar.   | |
| using | PlainObject = CastT< Scalar > | 
| Plain return type.   | |
  Public Member Functions inherited from SO3Base< Map< const SO3< _Scalar > > > | |
| Eigen::Map< Eigen::Quaternion< Scalar > > | quat () | 
| Access quaterion.   | |
| Eigen::Map< const Eigen::Quaternion< Scalar > > | quat () const | 
| Access const quaterion.   | |
| Eigen::Vector3< Scalar > | eulerAngles (Eigen::Index i1=2, Eigen::Index i2=1, Eigen::Index i3=0) const | 
| Return euler angles.   | |
| Eigen::Vector3< Scalar > | operator* (const Eigen::MatrixBase< EigenDerived > &v) const | 
| Rotation action on 3D vector.   | |
| Eigen::Matrix3< Scalar > | dr_action (const Eigen::MatrixBase< EigenDerived > &v) const | 
| Jacobian of rotation action w.r.t. group.   | |
| SO2< Scalar > | project_so2 () const | 
| Project to SO2.   | |
  Public Member Functions inherited from LieGroupBase< Derived > | |
| template<bool  = true>  requires (is_mutable)  | |
| auto & | coeffs () const | 
| Access underlying storages.   | |
| const auto & | coeffs () const | 
| Const access underlying storages.   | |
| template<bool  = true>  requires (is_mutable)  | |
| auto * | data () const | 
| Access raw pointer.   | |
| const auto * | data () const | 
| Const access raw pointer.   | |
| template<typename OtherDerived >  requires (is_mutable && std::is_same_v<Impl, typename liebase_info<OtherDerived>::Impl>)  | |
| Derived & | operator= (const LieGroupBase< OtherDerived > &o) noexcept | 
| Eigen::Index | dof () const noexcept | 
| Dynamic size (degrees of freedom).   | |
| void | setIdentity () noexcept | 
| Set to group identity element.   | |
| void | setRandom () noexcept | 
| Set to a random element.   | |
| Matrix | matrix () const noexcept | 
| Return as matrix Lie group element in \( \mathbb{R}^{\mathtt{dim} \times \mathtt{dim}}
\).   | |
| template<typename OtherDerived >  requires (std::is_same_v<Impl, typename liebase_info<OtherDerived>::Impl>)  | |
| bool | isApprox (const LieGroupBase< OtherDerived > &o, const Scalar &eps=Eigen::NumTraits< Scalar >::dummy_precision()) const noexcept | 
Check if (approximately) equal to other element o.   | |
| template<typename NewScalar > | |
| CastT< NewScalar > | cast () const noexcept | 
| Cast to different scalar type.   | |
| template<typename OtherDerived >  requires (std::is_same_v<Impl, typename liebase_info<OtherDerived>::Impl>)  | |
| PlainObject | operator* (const LieGroupBase< OtherDerived > &o) const noexcept | 
| Group binary composition operation.   | |
| template<typename OtherDerived >  requires (is_mutable && std::is_same_v<Impl, typename liebase_info<OtherDerived>::Impl>)  | |
| Derived & | operator*= (const LieGroupBase< OtherDerived > &o) noexcept | 
| Inplace group binary composition operation.   | |
| PlainObject | inverse () const noexcept | 
| Group inverse operation.   | |
| Tangent | log () const noexcept | 
| Lie group logarithm.   | |
| TangentMap | Ad () const noexcept | 
| Lie group adjoint.   | |
| template<typename TangentDerived > | |
| PlainObject | operator+ (const Eigen::MatrixBase< TangentDerived > &a) const noexcept | 
| Right-plus.   | |
| template<typename TangentDerived >  requires (is_mutable)  | |
| Derived & | operator+= (const Eigen::MatrixBase< TangentDerived > &a) noexcept | 
| Inplace right-plus: \( \mathbf{x} \leftarrow \mathbf{x} \circ \exp(\mathbf{a}) \).   | |
| template<typename OtherDerived >  requires (std::is_same_v<Impl, typename liebase_info<OtherDerived>::Impl>)  | |
| Tangent | operator- (const LieGroupBase< OtherDerived > &xo) const noexcept | 
| Right-minus.   | |
  Static Public Member Functions inherited from LieGroupBase< Derived > | |
| static PlainObject | Identity () noexcept | 
| Construct the identity element.   | |
| static PlainObject | Random () noexcept | 
| Construct a random element.   | |
| template<typename TangentDerived > | |
| static PlainObject | exp (const Eigen::MatrixBase< TangentDerived > &a) noexcept | 
| Lie group exponential map.   | |
| template<typename TangentDerived > | |
| static Matrix | hat (const Eigen::MatrixBase< TangentDerived > &a) noexcept | 
| Lie algebra hat map.   | |
| template<typename MatrixDerived > | |
| static Tangent | vee (const Eigen::MatrixBase< MatrixDerived > &A) noexcept | 
| Lie alebra vee map.   | |
| template<typename TangentDerived > | |
| static TangentMap | ad (const Eigen::MatrixBase< TangentDerived > &a) noexcept | 
| Lie algebra adjoint.   | |
| template<typename TangentDerived1 , typename TangentDerived2 > | |
| static Tangent | lie_bracket (const Eigen::MatrixBase< TangentDerived1 > &a, const Eigen::MatrixBase< TangentDerived2 > &b) noexcept | 
| Lie algebra bracket.   | |
| template<typename TangentDerived > | |
| static TangentMap | dr_exp (const Eigen::MatrixBase< TangentDerived > &a) noexcept | 
| Right jacobian of the exponential map.   | |
| template<typename TangentDerived > | |
| static TangentMap | dr_expinv (const Eigen::MatrixBase< TangentDerived > &a) noexcept | 
| Inverse of right jacobian of the exponential map.   | |
| template<typename TangentDerived > | |
| static TangentMap | dl_exp (const Eigen::MatrixBase< TangentDerived > &a) noexcept | 
| Left jacobian of the exponential map.   | |
| template<typename TangentDerived > | |
| static TangentMap | dl_expinv (const Eigen::MatrixBase< TangentDerived > &a) noexcept | 
| Inverse of left jacobian of the exponential map.   | |
| template<typename TangentDerived > | |
| static Hessian | d2r_exp (const Eigen::MatrixBase< TangentDerived > &a) noexcept | 
| Right Hessian of the exponential map.   | |
| template<typename TangentDerived > | |
| static Hessian | d2r_expinv (const Eigen::MatrixBase< TangentDerived > &a) noexcept | 
| Right Hessian of the log map.   | |
| template<typename TangentDerived > | |
| static Hessian | d2l_exp (const Eigen::MatrixBase< TangentDerived > &a) noexcept | 
| Left Hessian of the exponential map.   | |
| template<typename TangentDerived > | |
| static Hessian | d2l_expinv (const Eigen::MatrixBase< TangentDerived > &a) noexcept | 
| Left Hessian of the log map.   | |
  Public Attributes inherited from SO3Base< Map< const SO3< _Scalar > > > | |
| SMOOTH_INHERIT_TYPEDEFS | |
  Static Public Attributes inherited from LieGroupBase< Derived > | |
| static constexpr int | RepSize = Impl::RepSize | 
| Number of scalars in internal representation.   | |
| static constexpr int | Dof = Impl::Dof | 
| Degrees of freedom of manifold (equal to tangent space dimension).   | |
| static constexpr int | Dim = Impl::Dim | 
| Side of Lie group matrix representation.   | |
| static constexpr bool | IsCommutative = Impl::IsCommutative | 
| Commutativity of group. A commutative group has a zero Lie bracket.   | |
  Protected Types inherited from LieGroupBase< Derived > | |
| using | traits = liebase_info< Derived > | 
| CRTP traits.   | |
| using | Impl = typename traits::Impl | 
| Group-specific Lie group implementation.   | |
  Static Protected Attributes inherited from LieGroupBase< Derived > | |
| static constexpr bool | is_mutable = traits::is_mutable | 
| True if underlying storage supports modification.   | |
Const memory mapping of SO3 Lie group.