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

#include <isometry3.h>

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

Public Types

using Scalar = TScalar
 
using Base = lie::Group< Isometry3, TScalar, lie::WithDimAndSubgroup< 3, lie::Rotation3Impl >::SemiDirectProduct >
 
using Rotation = Rotation3< Scalar >
 
using Tangent = typename Base::Tangent
 
using Params = typename Base::Params
 
using Point = typename Base::Point
 
- Public Types inherited from sophus::lie::Group< Isometry3, TScalar, lie::WithDimAndSubgroup< 3, lie::Rotation3Impl >::SemiDirectProduct >
using Scalar = TScalar
 
using Impl = lie::WithDimAndSubgroup< 3, lie::Rotation3Impl >::SemiDirectProduct< TScalar >
 
using ScalarReturn = typename Eigen::ScalarBinaryOpTraits< Scalar, TCompatibleScalar >::ReturnType
 
using Derived = Isometry3< Scalar >
 
using DerivedReturn = Isometry3< 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

 Isometry3 ()=default
 
 Isometry3 (UninitTag)
 
 Isometry3 (Eigen::Vector< Scalar, 3 > const &translation, Rotation3< Scalar > const &group)
 
 Isometry3 (Rotation3< Scalar > const &group, Eigen::Vector< Scalar, 3 > const &translation)
 
 Isometry3 (Rotation3< Scalar > const &group)
 
 Isometry3 (Eigen::Vector< Scalar, 3 > const &translation)
 
template<class TOtherScalar >
auto cast () const -> Isometry3< TOtherScalar >
 
auto translation () -> Eigen::VectorBlock< Params, 3 >
 
auto translation () const -> Eigen::VectorBlock< Params const, 3 >
 
auto rotation () const -> Rotation3< Scalar > const
 
auto setRotation (Rotation3< Scalar > const &rotation)
 
auto rotationMatrix () const -> Eigen::Matrix3< Scalar >
 
auto unitQuaternion () const -> Quaternion< Scalar >
 
auto setUnitQuaternion (Quaternion< Scalar > const &z) const -> void
 
auto so3 () const -> Rotation3< Scalar > const
 
- Public Member Functions inherited from sophus::lie::Group< Isometry3, TScalar, lie::WithDimAndSubgroup< 3, lie::Rotation3Impl >::SemiDirectProduct >
 Group ()
 
 Group (Group const &)=default
 
auto operator= (Group const &) -> Group &=default
 
auto log () const -> Tangent
 
auto hasShortestPathAmbiguity () -> bool
 
auto operator* (Isometry3< 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 fromRotationMatrix (Eigen::Matrix3< Scalar > const &mat_r) -> Isometry3
 
static auto fromUnitQuaternion (Quaternion< Scalar > const &q) -> Isometry3
 
static auto fitFromQuaternion (Quaternion< Scalar > const &q) -> Isometry3
 
template<class TT0 , class TT1 , class TT2 >
static auto fromT (TT0 const &x, TT1 const &y, TT2 const &z) -> Isometry3
 Construct a translation only Isometry3 instance. More...
 
static auto fromTx (Scalar const &x) -> Isometry3
 Construct x-axis translation. More...
 
static auto fromTy (Scalar const &y) -> Isometry3
 Construct y-axis translation. More...
 
static auto fromTz (Scalar const &z) -> Isometry3
 Construct z-axis translation. More...
 
static auto fromRx (Scalar const &x) -> Isometry3
 Construct x-axis rotation. More...
 
static auto fromRy (Scalar const &y) -> Isometry3
 Construct y-axis rotation. More...
 
static auto fromRz (Scalar const &z) -> Isometry3
 Construct z-axis rotation. More...
 
- Static Public Member Functions inherited from sophus::lie::Group< Isometry3, TScalar, lie::WithDimAndSubgroup< 3, lie::Rotation3Impl >::SemiDirectProduct >
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< Isometry3, TScalar, lie::WithDimAndSubgroup< 3, lie::Rotation3Impl >::SemiDirectProduct >
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< Isometry3, TScalar, lie::WithDimAndSubgroup< 3, lie::Rotation3Impl >::SemiDirectProduct >
 Group (UninitTag)
 
auto self () -> Derived &
 
auto self () const -> Derived const &
 
void setParamsUnchecked (Params const &params)
 
- Static Protected Member Functions inherited from sophus::lie::Group< Isometry3, TScalar, lie::WithDimAndSubgroup< 3, lie::Rotation3Impl >::SemiDirectProduct >
static auto fromParamsUnchecked (Params const &params) -> Derived
 
- Protected Attributes inherited from sophus::lie::Group< Isometry3, TScalar, lie::WithDimAndSubgroup< 3, lie::Rotation3Impl >::SemiDirectProduct >
Params params_
 

Member Typedef Documentation

◆ Base

template<class TScalar >
using sophus::Isometry3< TScalar >::Base = lie::Group< Isometry3, TScalar, lie::WithDimAndSubgroup<3, lie::Rotation3Impl>::SemiDirectProduct>

◆ Params

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

◆ Point

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

◆ Rotation

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

◆ Scalar

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

◆ Tangent

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

Constructor & Destructor Documentation

◆ Isometry3() [1/6]

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

◆ Isometry3() [2/6]

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

◆ Isometry3() [3/6]

template<class TScalar >
sophus::Isometry3< TScalar >::Isometry3 ( Eigen::Vector< Scalar, 3 > const &  translation,
Rotation3< Scalar > const &  group 
)
inline

◆ Isometry3() [4/6]

template<class TScalar >
sophus::Isometry3< TScalar >::Isometry3 ( Rotation3< Scalar > const &  group,
Eigen::Vector< Scalar, 3 > const &  translation 
)
inlineexplicit

◆ Isometry3() [5/6]

template<class TScalar >
sophus::Isometry3< TScalar >::Isometry3 ( Rotation3< Scalar > const &  group)
inline

◆ Isometry3() [6/6]

template<class TScalar >
sophus::Isometry3< TScalar >::Isometry3 ( Eigen::Vector< Scalar, 3 > const &  translation)
inline

Member Function Documentation

◆ cast()

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

◆ fitFromQuaternion()

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

◆ fromRotationMatrix()

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

◆ fromRx()

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

Construct x-axis rotation.

◆ fromRy()

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

Construct y-axis rotation.

◆ fromRz()

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

Construct z-axis rotation.

◆ fromT()

template<class TScalar >
template<class TT0 , class TT1 , class TT2 >
static auto sophus::Isometry3< TScalar >::fromT ( TT0 const &  x,
TT1 const &  y,
TT2 const &  z 
) -> Isometry3
inlinestatic

Construct a translation only Isometry3 instance.

◆ fromTx()

template<class TScalar >
static auto sophus::Isometry3< TScalar >::fromTx ( Scalar const &  x) -> Isometry3
inlinestatic

Construct x-axis translation.

◆ fromTy()

template<class TScalar >
static auto sophus::Isometry3< TScalar >::fromTy ( Scalar const &  y) -> Isometry3
inlinestatic

Construct y-axis translation.

◆ fromTz()

template<class TScalar >
static auto sophus::Isometry3< TScalar >::fromTz ( Scalar const &  z) -> Isometry3
inlinestatic

Construct z-axis translation.

◆ fromUnitQuaternion()

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

◆ rotation()

template<class TScalar >
auto sophus::Isometry3< TScalar >::rotation ( ) const -> Rotation3<Scalar> const
inline

◆ rotationMatrix()

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

◆ setRotation()

template<class TScalar >
auto sophus::Isometry3< TScalar >::setRotation ( Rotation3< Scalar > const &  rotation)
inline

◆ setUnitQuaternion()

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

◆ so3()

template<class TScalar >
auto sophus::Isometry3< TScalar >::so3 ( ) const -> Rotation3<Scalar> const
inline

◆ translation() [1/2]

template<class TScalar >
auto sophus::Isometry3< TScalar >::translation ( ) -> Eigen::VectorBlock<Params, 3>
inline

◆ translation() [2/2]

template<class TScalar >
auto sophus::Isometry3< TScalar >::translation ( ) const -> Eigen::VectorBlock<Params const, 3>
inline

◆ unitQuaternion()

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

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