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

#include <group_accessors.h>

Public Types

using Scalar = TScalar
 
using Imag = Scalar
 
using Impl = ComplexImpl< Scalar >
 
using Params = Eigen::Vector< Scalar, kNumParams >
 
template<class TCompatibleScalar >
using ComplexReturn = Complex< typename Eigen::ScalarBinaryOpTraits< Scalar, TCompatibleScalar >::ReturnType >
 

Public Member Functions

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

Static Public Member Functions

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

Static Public Attributes

static constexpr int kNumParams = 2
 

Member Typedef Documentation

◆ ComplexReturn

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

◆ Imag

template<class TScalar >
using sophus::Complex< TScalar >::Imag = Scalar

◆ Impl

template<class TScalar >
using sophus::Complex< TScalar >::Impl = ComplexImpl<Scalar>

◆ Params

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

◆ Scalar

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

Constructor & Destructor Documentation

◆ Complex() [1/2]

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

◆ Complex() [2/2]

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

Member Function Documentation

◆ conjugate()

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

◆ fromParams()

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

◆ imag() [1/2]

template<class TScalar >
auto sophus::Complex< TScalar >::imag ( ) -> Scalar&
inline

◆ imag() [2/2]

template<class TScalar >
auto sophus::Complex< TScalar >::imag ( ) const -> Scalar const&
inline

◆ inverse()

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

◆ norm()

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

◆ one()

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

◆ operator*()

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

◆ operator+()

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

◆ operator=()

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

◆ params()

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

◆ real() [1/2]

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

◆ real() [2/2]

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

◆ setParams()

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

◆ squaredNorm()

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

◆ zero()

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

Member Data Documentation

◆ kNumParams

template<class TScalar >
constexpr int sophus::Complex< TScalar >::kNumParams = 2
staticconstexpr

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