farm-ng-core
sophus::UnitVector< TScalar, kN > Class Template Reference

#include <lie_group.h>

Public Types

using Scalar = TScalar
 
using Impl = linalg::UnitVectorImpl< Scalar, kN >
 
using Tangent = Eigen::Vector< Scalar, kDof >
 
using Params = Eigen::Vector< Scalar, kNumParams >
 

Public Member Functions

auto oplus (Tangent const &delta) const -> UnitVector
 
auto ominus (UnitVector const &rhs_params) const -> Tangent
 
void setParams (Eigen::Matrix< TScalar, kN, 1 > const &v) const
 
auto params () const -> Eigen::Matrix< TScalar, kN, 1 > const &
 
auto vector () const -> Eigen::Matrix< TScalar, kN, 1 > const &
 
auto unsafeMutPtr ()
 
auto ptr () const
 
 UnitVector (UnitVector const &)=default
 
auto operator= (UnitVector const &) -> UnitVector &=default
 

Static Public Member Functions

static auto tryFromUnitVector (Eigen::Matrix< TScalar, kN, 1 > const &v) -> Expected< UnitVector >
 
static auto fromParams (Eigen::Matrix< TScalar, kN, 1 > const &v) -> UnitVector
 
static auto fromUnitVector (Eigen::Matrix< TScalar, kN, 1 > const &v) -> UnitVector
 
static auto fromVectorAndNormalize (Eigen::Matrix< TScalar, kN, 1 > const &v) -> UnitVector
 
template<concepts::Range TSequenceContainer>
static auto average (TSequenceContainer const &range) -> UnitVector
 

Static Public Attributes

static constexpr int kDof = kN - 1
 
static constexpr int kNumParams = kN
 

Member Typedef Documentation

◆ Impl

template<class TScalar , int kN>
using sophus::UnitVector< TScalar, kN >::Impl = linalg::UnitVectorImpl<Scalar, kN>

◆ Params

template<class TScalar , int kN>
using sophus::UnitVector< TScalar, kN >::Params = Eigen::Vector<Scalar, kNumParams>

◆ Scalar

template<class TScalar , int kN>
using sophus::UnitVector< TScalar, kN >::Scalar = TScalar

◆ Tangent

template<class TScalar , int kN>
using sophus::UnitVector< TScalar, kN >::Tangent = Eigen::Vector<Scalar, kDof>

Constructor & Destructor Documentation

◆ UnitVector()

template<class TScalar , int kN>
sophus::UnitVector< TScalar, kN >::UnitVector ( UnitVector< TScalar, kN > const &  )
default

Member Function Documentation

◆ average()

template<class TScalar , int kN>
template<concepts::Range TSequenceContainer>
static auto sophus::UnitVector< TScalar, kN >::average ( TSequenceContainer const &  range) -> UnitVector
inlinestatic

◆ fromParams()

template<class TScalar , int kN>
static auto sophus::UnitVector< TScalar, kN >::fromParams ( Eigen::Matrix< TScalar, kN, 1 > const &  v) -> UnitVector
inlinestatic

◆ fromUnitVector()

template<class TScalar , int kN>
static auto sophus::UnitVector< TScalar, kN >::fromUnitVector ( Eigen::Matrix< TScalar, kN, 1 > const &  v) -> UnitVector
inlinestatic

◆ fromVectorAndNormalize()

template<class TScalar , int kN>
static auto sophus::UnitVector< TScalar, kN >::fromVectorAndNormalize ( Eigen::Matrix< TScalar, kN, 1 > const &  v) -> UnitVector
inlinestatic

◆ ominus()

template<class TScalar , int kN>
auto sophus::UnitVector< TScalar, kN >::ominus ( UnitVector< TScalar, kN > const &  rhs_params) const -> Tangent
inline

◆ operator=()

template<class TScalar , int kN>
auto sophus::UnitVector< TScalar, kN >::operator= ( UnitVector< TScalar, kN > const &  ) -> UnitVector &=default
default

◆ oplus()

template<class TScalar , int kN>
auto sophus::UnitVector< TScalar, kN >::oplus ( Tangent const &  delta) const -> UnitVector
inline

◆ params()

template<class TScalar , int kN>
auto sophus::UnitVector< TScalar, kN >::params ( ) const -> Eigen::Matrix<TScalar, kN, 1> const&
inline

◆ ptr()

template<class TScalar , int kN>
auto sophus::UnitVector< TScalar, kN >::ptr ( ) const
inline

◆ setParams()

template<class TScalar , int kN>
void sophus::UnitVector< TScalar, kN >::setParams ( Eigen::Matrix< TScalar, kN, 1 > const &  v) const
inline

◆ tryFromUnitVector()

template<class TScalar , int kN>
static auto sophus::UnitVector< TScalar, kN >::tryFromUnitVector ( Eigen::Matrix< TScalar, kN, 1 > const &  v) -> Expected<UnitVector>
inlinestatic

◆ unsafeMutPtr()

template<class TScalar , int kN>
auto sophus::UnitVector< TScalar, kN >::unsafeMutPtr ( )
inline

◆ vector()

template<class TScalar , int kN>
auto sophus::UnitVector< TScalar, kN >::vector ( ) const -> Eigen::Matrix<TScalar, kN, 1> const&
inline

Member Data Documentation

◆ kDof

template<class TScalar , int kN>
constexpr int sophus::UnitVector< TScalar, kN >::kDof = kN - 1
staticconstexpr

◆ kNumParams

template<class TScalar , int kN>
constexpr int sophus::UnitVector< TScalar, kN >::kNumParams = kN
staticconstexpr

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