farm-ng-core
sophus::lie::IdentityImpl< TScalar, kDim > Class Template Reference

#include <identity.h>

Public Types

using Scalar = TScalar
 
using Tangent = Eigen::Vector< Scalar, kDof >
 
using Params = Eigen::Vector< Scalar, kNumParams >
 
using Point = Eigen::Vector< Scalar, kPointDim >
 
template<class TCompatibleScalar >
using ScalarReturn = typename Eigen::ScalarBinaryOpTraits< Scalar, TCompatibleScalar >::ReturnType
 
template<class TCompatibleScalar >
using ParamsReturn = Eigen::Vector< ScalarReturn< TCompatibleScalar >, kNumParams >
 
template<class TCompatibleScalar >
using PointReturn = Eigen::Vector< ScalarReturn< TCompatibleScalar >, kPointDim >
 
template<class TCompatibleScalar >
using UnitVectorReturn = UnitVector< ScalarReturn< TCompatibleScalar >, kPointDim >
 

Static Public Member Functions

static auto identityParams () -> Params
 
static auto areParamsValid (Params const &scale_factors) -> sophus::Expected< Success >
 
static auto adj (Params const &) -> Eigen::Matrix< Scalar, kDof, kDof >
 
static auto hasShortestPathAmbiguity (Params const &) -> bool
 
static auto exp (Tangent const &tangent) -> Params
 
static auto log (Params const &params) -> Tangent
 
static auto hat (Tangent const &tangent) -> Eigen::Matrix< Scalar, kAmbientDim, kAmbientDim >
 
static auto vee (Eigen::Matrix< Scalar, kAmbientDim, kAmbientDim > const &mat) -> Eigen::Matrix< Scalar, kDof, 1 >
 
static auto inverse (Params const &params) -> Params
 
template<class TCompatibleScalar >
static auto multiplication (Params const &lhs_params, Eigen::Vector< TCompatibleScalar, kNumParams > const &rhs_params) -> ParamsReturn< TCompatibleScalar >
 
template<class TCompatibleScalar >
static auto action (Params const &params, Eigen::Vector< TCompatibleScalar, kPointDim > const &point) -> PointReturn< TCompatibleScalar >
 
static auto toAmbient (Point const &point) -> Eigen::Vector< Scalar, kAmbientDim >
 
template<class TCompatibleScalar >
static auto action (Params const &params, UnitVector< TCompatibleScalar, kPointDim > const &dir) -> UnitVectorReturn< TCompatibleScalar >
 
static auto compactMatrix (Params const &params) -> Eigen::Matrix< Scalar, kPointDim, kAmbientDim >
 
static auto matrix (Params const &params) -> Eigen::Matrix< Scalar, kAmbientDim, kAmbientDim >
 
static auto matV (Params const &, Tangent const &) -> Eigen::Matrix< Scalar, kPointDim, kPointDim >
 
static auto matVInverse (Params const &, Tangent const &) -> Eigen::Matrix< Scalar, kPointDim, kPointDim >
 
static auto adjOfTranslation (Params const &params, Point const &point) -> Eigen::Matrix< Scalar, kPointDim, kDof >
 
static auto adOfTranslation (Point const &point) -> Eigen::Matrix< Scalar, kPointDim, kDof >
 
static auto ad (Tangent const &) -> Eigen::Matrix< Scalar, kDof, kDof >
 
static auto dxExpX (Tangent const &) -> Eigen::Matrix< Scalar, kNumParams, kDof >
 
static auto dxExpXAt0 () -> Eigen::Matrix< Scalar, kNumParams, kDof >
 
static auto dxExpXTimesPointAt0 (Point const &point) -> Eigen::Matrix< Scalar, kPointDim, kDof >
 
static auto dxThisMulExpXAt0 (Params const &unit_complex) -> Eigen::Matrix< Scalar, kNumParams, kDof >
 
static auto dxLogThisInvTimesXAtThis (Params const &unit_quat) -> Eigen::Matrix< Scalar, kDof, kNumParams >
 
static auto tangentExamples () -> std::vector< Tangent >
 
static auto paramsExamples () -> std::vector< Params >
 
static auto invalidParamsExamples () -> std::vector< Params >
 

Static Public Attributes

static constexpr bool kIsOriginPreserving = true
 
static constexpr bool kIsAxisDirectionPreserving = true
 
static constexpr bool kIsDirectionVectorPreserving = true
 
static constexpr bool kIsShapePreserving = true
 
static constexpr bool kIisSizePreserving = true
 
static constexpr bool kIisParallelLinePreserving = true
 
static const int kDof = 0
 
static const int kNumParams = 0
 
static const int kPointDim = kDim
 
static const int kAmbientDim = kDim
 

Member Typedef Documentation

◆ Params

template<class TScalar , int kDim>
using sophus::lie::IdentityImpl< TScalar, kDim >::Params = Eigen::Vector<Scalar, kNumParams>

◆ ParamsReturn

template<class TScalar , int kDim>
template<class TCompatibleScalar >
using sophus::lie::IdentityImpl< TScalar, kDim >::ParamsReturn = Eigen::Vector<ScalarReturn<TCompatibleScalar>, kNumParams>

◆ Point

template<class TScalar , int kDim>
using sophus::lie::IdentityImpl< TScalar, kDim >::Point = Eigen::Vector<Scalar, kPointDim>

◆ PointReturn

template<class TScalar , int kDim>
template<class TCompatibleScalar >
using sophus::lie::IdentityImpl< TScalar, kDim >::PointReturn = Eigen::Vector<ScalarReturn<TCompatibleScalar>, kPointDim>

◆ Scalar

template<class TScalar , int kDim>
using sophus::lie::IdentityImpl< TScalar, kDim >::Scalar = TScalar

◆ ScalarReturn

template<class TScalar , int kDim>
template<class TCompatibleScalar >
using sophus::lie::IdentityImpl< TScalar, kDim >::ScalarReturn = typename Eigen:: ScalarBinaryOpTraits<Scalar, TCompatibleScalar>::ReturnType

◆ Tangent

template<class TScalar , int kDim>
using sophus::lie::IdentityImpl< TScalar, kDim >::Tangent = Eigen::Vector<Scalar, kDof>

◆ UnitVectorReturn

template<class TScalar , int kDim>
template<class TCompatibleScalar >
using sophus::lie::IdentityImpl< TScalar, kDim >::UnitVectorReturn = UnitVector<ScalarReturn<TCompatibleScalar>, kPointDim>

Member Function Documentation

◆ action() [1/2]

template<class TScalar , int kDim>
template<class TCompatibleScalar >
static auto sophus::lie::IdentityImpl< TScalar, kDim >::action ( Params const &  params,
Eigen::Vector< TCompatibleScalar, kPointDim > const &  point 
) -> PointReturn<TCompatibleScalar>
inlinestatic

◆ action() [2/2]

template<class TScalar , int kDim>
template<class TCompatibleScalar >
static auto sophus::lie::IdentityImpl< TScalar, kDim >::action ( Params const &  params,
UnitVector< TCompatibleScalar, kPointDim > const &  dir 
) -> UnitVectorReturn<TCompatibleScalar>
inlinestatic

◆ ad()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::ad ( Tangent const &  ) -> Eigen::Matrix<Scalar, kDof, kDof>
inlinestatic

◆ adj()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::adj ( Params const &  ) -> Eigen::Matrix<Scalar, kDof, kDof>
inlinestatic

◆ adjOfTranslation()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::adjOfTranslation ( Params const &  params,
Point const &  point 
) -> Eigen::Matrix<Scalar, kPointDim, kDof>
inlinestatic

◆ adOfTranslation()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::adOfTranslation ( Point const &  point) -> Eigen::Matrix<Scalar, kPointDim, kDof>
inlinestatic

◆ areParamsValid()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::areParamsValid ( Params const &  scale_factors) -> sophus::Expected<Success>
inlinestatic

◆ compactMatrix()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::compactMatrix ( Params const &  params) -> Eigen::Matrix<Scalar, kPointDim, kAmbientDim>
inlinestatic

◆ dxExpX()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::dxExpX ( Tangent const &  ) -> Eigen::Matrix<Scalar, kNumParams, kDof>
inlinestatic

◆ dxExpXAt0()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::dxExpXAt0 ( ) -> Eigen::Matrix<Scalar, kNumParams, kDof>
inlinestatic

◆ dxExpXTimesPointAt0()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::dxExpXTimesPointAt0 ( Point const &  point) -> Eigen::Matrix<Scalar, kPointDim, kDof>
inlinestatic

◆ dxLogThisInvTimesXAtThis()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::dxLogThisInvTimesXAtThis ( Params const &  unit_quat) -> Eigen::Matrix<Scalar, kDof, kNumParams>
inlinestatic

◆ dxThisMulExpXAt0()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::dxThisMulExpXAt0 ( Params const &  unit_complex) -> Eigen::Matrix<Scalar, kNumParams, kDof>
inlinestatic

◆ exp()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::exp ( Tangent const &  tangent) -> Params
inlinestatic

◆ hasShortestPathAmbiguity()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::hasShortestPathAmbiguity ( Params const &  ) -> bool
inlinestatic

◆ hat()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::hat ( Tangent const &  tangent) -> Eigen::Matrix<Scalar, kAmbientDim, kAmbientDim>
inlinestatic

◆ identityParams()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::identityParams ( ) -> Params
inlinestatic

◆ invalidParamsExamples()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::invalidParamsExamples ( ) -> std::vector<Params>
inlinestatic

◆ inverse()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::inverse ( Params const &  params) -> Params
inlinestatic

◆ log()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::log ( Params const &  params) -> Tangent
inlinestatic

◆ matrix()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::matrix ( Params const &  params) -> Eigen::Matrix<Scalar, kAmbientDim, kAmbientDim>
inlinestatic

◆ matV()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::matV ( Params const &  ,
Tangent const &   
) -> Eigen::Matrix<Scalar, kPointDim, kPointDim>
inlinestatic

◆ matVInverse()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::matVInverse ( Params const &  ,
Tangent const &   
) -> Eigen::Matrix<Scalar, kPointDim, kPointDim>
inlinestatic

◆ multiplication()

template<class TScalar , int kDim>
template<class TCompatibleScalar >
static auto sophus::lie::IdentityImpl< TScalar, kDim >::multiplication ( Params const &  lhs_params,
Eigen::Vector< TCompatibleScalar, kNumParams > const &  rhs_params 
) -> ParamsReturn<TCompatibleScalar>
inlinestatic

◆ paramsExamples()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::paramsExamples ( ) -> std::vector<Params>
inlinestatic

◆ tangentExamples()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::tangentExamples ( ) -> std::vector<Tangent>
inlinestatic

◆ toAmbient()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::toAmbient ( Point const &  point) -> Eigen::Vector<Scalar, kAmbientDim>
inlinestatic

◆ vee()

template<class TScalar , int kDim>
static auto sophus::lie::IdentityImpl< TScalar, kDim >::vee ( Eigen::Matrix< Scalar, kAmbientDim, kAmbientDim > const &  mat) -> Eigen::Matrix<Scalar, kDof, 1>
inlinestatic

Member Data Documentation

◆ kAmbientDim

template<class TScalar , int kDim>
const int sophus::lie::IdentityImpl< TScalar, kDim >::kAmbientDim = kDim
static

◆ kDof

template<class TScalar , int kDim>
const int sophus::lie::IdentityImpl< TScalar, kDim >::kDof = 0
static

◆ kIisParallelLinePreserving

template<class TScalar , int kDim>
constexpr bool sophus::lie::IdentityImpl< TScalar, kDim >::kIisParallelLinePreserving = true
staticconstexpr

◆ kIisSizePreserving

template<class TScalar , int kDim>
constexpr bool sophus::lie::IdentityImpl< TScalar, kDim >::kIisSizePreserving = true
staticconstexpr

◆ kIsAxisDirectionPreserving

template<class TScalar , int kDim>
constexpr bool sophus::lie::IdentityImpl< TScalar, kDim >::kIsAxisDirectionPreserving = true
staticconstexpr

◆ kIsDirectionVectorPreserving

template<class TScalar , int kDim>
constexpr bool sophus::lie::IdentityImpl< TScalar, kDim >::kIsDirectionVectorPreserving = true
staticconstexpr

◆ kIsOriginPreserving

template<class TScalar , int kDim>
constexpr bool sophus::lie::IdentityImpl< TScalar, kDim >::kIsOriginPreserving = true
staticconstexpr

◆ kIsShapePreserving

template<class TScalar , int kDim>
constexpr bool sophus::lie::IdentityImpl< TScalar, kDim >::kIsShapePreserving = true
staticconstexpr

◆ kNumParams

template<class TScalar , int kDim>
const int sophus::lie::IdentityImpl< TScalar, kDim >::kNumParams = 0
static

◆ kPointDim

template<class TScalar , int kDim>
const int sophus::lie::IdentityImpl< TScalar, kDim >::kPointDim = kDim
static

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