farm-ng-core
sophus::Rotation3< TScalar > Class Template Reference

#include <rotation3.h>

Inheritance diagram for sophus::Rotation3< TScalar >:
Collaboration diagram for sophus::Rotation3< TScalar >:

Public Types

using Scalar = TScalar
 
using Base = lie::Group< Rotation3, TScalar, lie::Rotation3Impl >
 
using Tangent = typename Base::Tangent
 
using Params = typename Base::Params
 
using Point = typename Base::Point
 
- Public Types inherited from sophus::lie::Group< Rotation3, TScalar, lie::Rotation3Impl >
using Scalar = TScalar
 
using Impl = lie::Rotation3Impl< TScalar >
 
using ScalarReturn = typename Eigen::ScalarBinaryOpTraits< Scalar, TCompatibleScalar >::ReturnType
 
using Derived = Rotation3< Scalar >
 
using DerivedReturn = Rotation3< ScalarReturn< TCompatibleScalar > >
 
using PointReturn = Eigen::Vector< ScalarReturn< TCompatibleScalar >, kPointDim >
 
using UnitVectorReturn = UnitVector< ScalarReturn< TCompatibleScalar >, kPointDim >
 
using Tangent = Eigen::Vector< Scalar, kDof >
 
using Params = Eigen::Vector< Scalar, kNumParams >
 
using Point = Eigen::Vector< Scalar, kPointDim >
 

Public Member Functions

 Rotation3 ()=default
 
 Rotation3 (UninitTag)
 
template<class TOtherScalar >
auto cast () const -> Rotation3< TOtherScalar >
 
auto rotationMatrix () const -> Eigen::Matrix3< TScalar >
 
auto unitQuaternion () const -> Quaternion< TScalar >
 
auto setUnitQuaternion (Quaternion< TScalar > const &z) const -> void
 
- Public Member Functions inherited from sophus::lie::Group< Rotation3, TScalar, lie::Rotation3Impl >
 Group ()
 
 Group (Group const &)=default
 
auto operator= (Group const &) -> Group &=default
 
auto log () const -> Tangent
 
auto hasShortestPathAmbiguity () -> bool
 
auto operator* (Rotation3< TCompatibleScalar > const &rhs) const -> DerivedReturn< TCompatibleScalar >
 
auto operator* (Eigen::MatrixBase< TMatrixDerived > const &point) const -> PointReturn< typename TMatrixDerived::Scalar >
 
auto operator* (UnitVector< TCompatibleScalar, kPointDim > const &direction_vector) const -> UnitVectorReturn< TCompatibleScalar >
 
auto operator*= (Derived const &rhs) -> Derived &
 
auto inverse () const -> Derived
 
auto adj () const -> Eigen::Matrix< Scalar, kDof, kDof >
 
auto leftPlus (Tangent const &tangent) const -> Derived
 
auto rightPlus (Tangent const &tangent) const -> Derived
 
auto leftMinus (Derived const &other) const -> Tangent
 
auto rightMinus (Derived const &other) const -> Tangent
 
auto compactMatrix () const -> Eigen::Matrix< Scalar, kPointDim, kAmbientDim >
 
auto matrix () const -> Eigen::Matrix< Scalar, kAmbientDim, kAmbientDim >
 
auto dxThisMulExpXAt0 () const -> Eigen::Matrix< Scalar, kNumParams, kDof >
 
auto dxLogThisInvTimesXAtThis () const -> Eigen::Matrix< Scalar, kDof, kNumParams >
 
auto params () const -> Params const &
 
auto ptr () const
 
auto unsafeMutPtr ()
 
void setParams (Params const &params)
 

Static Public Member Functions

static auto fromRx (TScalar const &x) -> Rotation3
 Construct x-axis rotation. More...
 
static auto fromRy (TScalar const &y) -> Rotation3
 Construct y-axis rotation. More...
 
static auto fromRz (TScalar const &z) -> Rotation3
 Construct z-axis rotation. More...
 
static auto fromUnitQuaternion (Quaternion< TScalar > const &q) -> Rotation3
 
static auto fitFromQuaternion (Quaternion< TScalar > const &q) -> Rotation3
 
static auto fromRotationMatrix (Eigen::Matrix3< TScalar > const &mat_r) -> Rotation3
 
static auto fitFromMatrix (Eigen::Matrix3< TScalar > const &mat_r) -> Rotation3
 
- Static Public Member Functions inherited from sophus::lie::Group< Rotation3, TScalar, lie::Rotation3Impl >
static auto fromParams (Params const &params) -> Derived
 
static auto identity () -> Derived
 
static auto exp (Tangent const &tangent) -> Derived
 
static auto hat (Tangent const &tangent) -> Eigen::Matrix< Scalar, kAmbientDim, kAmbientDim >
 
static auto vee (Eigen::Matrix< Scalar, kAmbientDim, kAmbientDim > const &mat) -> Tangent
 
static auto toAmbient (Point const &point)
 
static auto ad (Tangent const &tangent) -> Eigen::Matrix< Scalar, kDof, kDof >
 
static auto dxExpXAt0 () -> Eigen::Matrix< Scalar, kNumParams, kDof >
 
static auto dxExpXTimesPointAt0 (Point const &point) -> Eigen::Matrix< Scalar, kPointDim, kDof >
 
static auto tangentExamples () -> std::vector< Tangent >
 
static auto paramsExamples () -> std::vector< Params >
 
static auto elementExamples () -> std::vector< Derived >
 
static auto invalidParamsExamples () -> std::vector< Params >
 

Additional Inherited Members

- Static Public Attributes inherited from sophus::lie::Group< Rotation3, TScalar, lie::Rotation3Impl >
static constexpr bool kIsOriginPreserving
 
static constexpr bool kIsAxisDirectionPreserving
 
static constexpr bool kIsDirectionVectorPreserving
 
static constexpr bool kIsShapePreserving
 
static constexpr bool kIisSizePreserving
 
static constexpr bool kIisParallelLinePreserving
 
static constexpr int kDof
 
static constexpr int kNumParams
 
static constexpr int kPointDim
 
static constexpr int kAmbientDim
 
- Protected Member Functions inherited from sophus::lie::Group< Rotation3, TScalar, lie::Rotation3Impl >
 Group (UninitTag)
 
auto self () -> Derived &
 
auto self () const -> Derived const &
 
void setParamsUnchecked (Params const &params)
 
- Static Protected Member Functions inherited from sophus::lie::Group< Rotation3, TScalar, lie::Rotation3Impl >
static auto fromParamsUnchecked (Params const &params) -> Derived
 
- Protected Attributes inherited from sophus::lie::Group< Rotation3, TScalar, lie::Rotation3Impl >
Params params_
 

Member Typedef Documentation

◆ Base

template<class TScalar >
using sophus::Rotation3< TScalar >::Base = lie::Group<Rotation3, TScalar, lie::Rotation3Impl>

◆ Params

template<class TScalar >
using sophus::Rotation3< TScalar >::Params = typename Base::Params

◆ Point

template<class TScalar >
using sophus::Rotation3< TScalar >::Point = typename Base::Point

◆ Scalar

template<class TScalar >
using sophus::Rotation3< TScalar >::Scalar = TScalar

◆ Tangent

template<class TScalar >
using sophus::Rotation3< TScalar >::Tangent = typename Base::Tangent

Constructor & Destructor Documentation

◆ Rotation3() [1/2]

template<class TScalar >
sophus::Rotation3< TScalar >::Rotation3 ( )
default

◆ Rotation3() [2/2]

template<class TScalar >
sophus::Rotation3< TScalar >::Rotation3 ( UninitTag  )
inlineexplicit

Member Function Documentation

◆ cast()

template<class TScalar >
template<class TOtherScalar >
auto sophus::Rotation3< TScalar >::cast ( ) const -> Rotation3<TOtherScalar>
inline

◆ fitFromMatrix()

template<class TScalar >
static auto sophus::Rotation3< TScalar >::fitFromMatrix ( Eigen::Matrix3< TScalar > const &  mat_r) -> Rotation3
inlinestatic

◆ fitFromQuaternion()

template<class TScalar >
static auto sophus::Rotation3< TScalar >::fitFromQuaternion ( Quaternion< TScalar > const &  q) -> Rotation3
inlinestatic

◆ fromRotationMatrix()

template<class TScalar >
static auto sophus::Rotation3< TScalar >::fromRotationMatrix ( Eigen::Matrix3< TScalar > const &  mat_r) -> Rotation3
inlinestatic

◆ fromRx()

template<class TScalar >
static auto sophus::Rotation3< TScalar >::fromRx ( TScalar const &  x) -> Rotation3
inlinestatic

Construct x-axis rotation.

◆ fromRy()

template<class TScalar >
static auto sophus::Rotation3< TScalar >::fromRy ( TScalar const &  y) -> Rotation3
inlinestatic

Construct y-axis rotation.

◆ fromRz()

template<class TScalar >
static auto sophus::Rotation3< TScalar >::fromRz ( TScalar const &  z) -> Rotation3
inlinestatic

Construct z-axis rotation.

◆ fromUnitQuaternion()

template<class TScalar >
static auto sophus::Rotation3< TScalar >::fromUnitQuaternion ( Quaternion< TScalar > const &  q) -> Rotation3
inlinestatic

◆ rotationMatrix()

template<class TScalar >
auto sophus::Rotation3< TScalar >::rotationMatrix ( ) const -> Eigen::Matrix3<TScalar>
inline

◆ setUnitQuaternion()

template<class TScalar >
auto sophus::Rotation3< TScalar >::setUnitQuaternion ( Quaternion< TScalar > const &  z) const -> void
inline

◆ unitQuaternion()

template<class TScalar >
auto sophus::Rotation3< TScalar >::unitQuaternion ( ) const -> Quaternion<TScalar>
inline

The documentation for this class was generated from the following file: