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

#include <group_accessors.h>

Public Types

using Scalar = TScalar
 
using Imag = Eigen::Vector< Scalar, 3 >
 
using Impl = QuaternionImpl< Scalar >
 
using Params = Eigen::Vector< Scalar, kNumParams >
 
template<class TCompatibleScalar >
using QuaternionReturn = Quaternion< typename Eigen::ScalarBinaryOpTraits< Scalar, TCompatibleScalar >::ReturnType >
 

Public Member Functions

 Quaternion ()
 
 Quaternion (Quaternion const &)=default
 
auto operator= (Quaternion const &) -> Quaternion &=default
 
auto params () const -> Params const &
 
void setParams (Params const &params)
 
auto real () const -> Scalar const &
 
auto real () -> Scalar &
 
auto imag () const
 
auto imag ()
 
template<class TCompatibleScalar >
auto operator* (Quaternion< TCompatibleScalar > const &other) const -> QuaternionReturn< TCompatibleScalar >
 
template<class TCompatibleScalar >
auto operator+ (Quaternion< TCompatibleScalar > const &other) const -> QuaternionReturn< TCompatibleScalar >
 
auto conjugate () const -> Quaternion
 
auto inverse () const -> Quaternion
 
auto norm () const -> Scalar
 
auto squaredNorm () const -> Scalar
 

Static Public Member Functions

static auto fromParams (Params const &params) -> Quaternion
 
static auto zero () -> Quaternion
 
static auto one () -> Quaternion
 

Static Public Attributes

static constexpr int kNumParams = 4
 

Member Typedef Documentation

◆ Imag

template<class TScalar >
using sophus::Quaternion< TScalar >::Imag = Eigen::Vector<Scalar, 3>

◆ Impl

template<class TScalar >
using sophus::Quaternion< TScalar >::Impl = QuaternionImpl<Scalar>

◆ Params

template<class TScalar >
using sophus::Quaternion< TScalar >::Params = Eigen::Vector<Scalar, kNumParams>

◆ QuaternionReturn

template<class TScalar >
template<class TCompatibleScalar >
using sophus::Quaternion< TScalar >::QuaternionReturn = Quaternion<typename Eigen::ScalarBinaryOpTraits< Scalar, TCompatibleScalar>::ReturnType>

◆ Scalar

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

Constructor & Destructor Documentation

◆ Quaternion() [1/2]

template<class TScalar >
sophus::Quaternion< TScalar >::Quaternion ( )
inline

◆ Quaternion() [2/2]

template<class TScalar >
sophus::Quaternion< TScalar >::Quaternion ( Quaternion< TScalar > const &  )
default

Member Function Documentation

◆ conjugate()

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

◆ fromParams()

template<class TScalar >
static auto sophus::Quaternion< TScalar >::fromParams ( Params const &  params) -> Quaternion
inlinestatic

◆ imag() [1/2]

template<class TScalar >
auto sophus::Quaternion< TScalar >::imag ( )
inline

◆ imag() [2/2]

template<class TScalar >
auto sophus::Quaternion< TScalar >::imag ( ) const
inline

◆ inverse()

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

◆ norm()

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

◆ one()

template<class TScalar >
static auto sophus::Quaternion< TScalar >::one ( ) -> Quaternion
inlinestatic

◆ operator*()

template<class TScalar >
template<class TCompatibleScalar >
auto sophus::Quaternion< TScalar >::operator* ( Quaternion< TCompatibleScalar > const &  other) const -> QuaternionReturn<TCompatibleScalar>
inline

◆ operator+()

template<class TScalar >
template<class TCompatibleScalar >
auto sophus::Quaternion< TScalar >::operator+ ( Quaternion< TCompatibleScalar > const &  other) const -> QuaternionReturn<TCompatibleScalar>
inline

◆ operator=()

template<class TScalar >
auto sophus::Quaternion< TScalar >::operator= ( Quaternion< TScalar > const &  ) -> Quaternion &=default
default

◆ params()

template<class TScalar >
auto sophus::Quaternion< TScalar >::params ( ) const -> Params const&
inline

◆ real() [1/2]

template<class TScalar >
auto sophus::Quaternion< TScalar >::real ( ) -> Scalar&
inline

◆ real() [2/2]

template<class TScalar >
auto sophus::Quaternion< TScalar >::real ( ) const -> Scalar const&
inline

◆ setParams()

template<class TScalar >
void sophus::Quaternion< TScalar >::setParams ( Params const &  params)
inline

◆ squaredNorm()

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

◆ zero()

template<class TScalar >
static auto sophus::Quaternion< TScalar >::zero ( ) -> Quaternion
inlinestatic

Member Data Documentation

◆ kNumParams

template<class TScalar >
constexpr int sophus::Quaternion< TScalar >::kNumParams = 4
staticconstexpr

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