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

#include <spiral_similarity3.h>

Public Types

using Scalar = TScalar
 
using Quaternion = QuaternionImpl< 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 &non_zero_quat) -> sophus::Expected< Success >
 
static auto hasShortestPathAmbiguity (Params const &non_zero_quat) -> bool
 
static auto exp (Tangent const &omega_logscale) -> Params
 
static auto log (Params const &non_zero_quat) -> Tangent
 
static auto hat (Tangent const &omega_logscale) -> 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 &non_zero_quat) -> 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 &non_zero_quat, Eigen::Vector< TCompatibleScalar, kPointDim > const &point) -> PointReturn< TCompatibleScalar >
 
template<class TCompatibleScalar >
static auto action (Params const &non_zero_quat, UnitVector< TCompatibleScalar, kPointDim > const &direction_vector) -> UnitVectorReturn< TCompatibleScalar >
 
static auto toAmbient (Point const &point) -> Eigen::Vector< Scalar, kAmbientDim >
 
static auto adj (Params const &non_zero_quat) -> Eigen::Matrix< Scalar, kDof, kDof >
 
static auto compactMatrix (Params const &non_zero_quat) -> Eigen::Matrix< Scalar, kPointDim, kPointDim >
 
static auto matrix (Params const &non_zero_quat) -> Eigen::Matrix< Scalar, kPointDim, kPointDim >
 
static auto matV (Params const &, Tangent const &angle_logscale) -> Eigen::Matrix< Scalar, kPointDim, kPointDim >
 
static auto matVInverse (Params const &non_zero_quat, Tangent const &angle_logscale) -> Eigen::Matrix< Scalar, kPointDim, kPointDim >
 
static auto adjOfTranslation (Params const &quat, Point const &point) -> Eigen::Matrix< Scalar, kPointDim, kDof >
 
static auto adOfTranslation (Point const &point) -> Eigen::Matrix< Scalar, kPointDim, kDof >
 
static auto ad (Tangent const &tangent) -> Eigen::Matrix< Scalar, kDof, kDof >
 
static auto dxExpX (Tangent const &a) -> 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 &non_zero_quat) -> Eigen::Matrix< Scalar, kNumParams, kDof >
 
static auto dxLogThisInvTimesXAtThis (Params const &q) -> 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 = false
 
static constexpr bool kIsDirectionVectorPreserving = false
 
static constexpr bool kIsShapePreserving = false
 
static constexpr bool kIisSizePreserving = true
 
static constexpr bool kIisParallelLinePreserving = true
 
static const int kDof = 4
 
static const int kNumParams = 4
 
static const int kPointDim = 3
 
static const int kAmbientDim = 3
 

Member Typedef Documentation

◆ Params

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

◆ ParamsReturn

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

◆ Point

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

◆ PointReturn

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

◆ Quaternion

template<class TScalar >
using sophus::lie::SpiralSimilarity3Impl< TScalar >::Quaternion = QuaternionImpl<TScalar>

◆ Scalar

template<class TScalar >
using sophus::lie::SpiralSimilarity3Impl< TScalar >::Scalar = TScalar

◆ ScalarReturn

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

◆ Tangent

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

◆ UnitVectorReturn

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

Member Function Documentation

◆ action() [1/2]

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

◆ action() [2/2]

template<class TScalar >
template<class TCompatibleScalar >
static auto sophus::lie::SpiralSimilarity3Impl< TScalar >::action ( Params const &  non_zero_quat,
UnitVector< TCompatibleScalar, kPointDim > const &  direction_vector 
) -> UnitVectorReturn<TCompatibleScalar>
inlinestatic

◆ ad()

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

◆ adj()

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

◆ adjOfTranslation()

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

◆ adOfTranslation()

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

◆ areParamsValid()

template<class TScalar >
static auto sophus::lie::SpiralSimilarity3Impl< TScalar >::areParamsValid ( Params const &  non_zero_quat) -> sophus::Expected<Success>
inlinestatic

◆ compactMatrix()

template<class TScalar >
static auto sophus::lie::SpiralSimilarity3Impl< TScalar >::compactMatrix ( Params const &  non_zero_quat) -> Eigen::Matrix<Scalar, kPointDim, kPointDim>
inlinestatic

◆ dxExpX()

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

◆ dxExpXAt0()

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

◆ dxExpXTimesPointAt0()

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

◆ dxLogThisInvTimesXAtThis()

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

◆ dxThisMulExpXAt0()

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

◆ exp()

template<class TScalar >
static auto sophus::lie::SpiralSimilarity3Impl< TScalar >::exp ( Tangent const &  omega_logscale) -> Params
inlinestatic

◆ hasShortestPathAmbiguity()

template<class TScalar >
static auto sophus::lie::SpiralSimilarity3Impl< TScalar >::hasShortestPathAmbiguity ( Params const &  non_zero_quat) -> bool
inlinestatic

◆ hat()

template<class TScalar >
static auto sophus::lie::SpiralSimilarity3Impl< TScalar >::hat ( Tangent const &  omega_logscale) -> Eigen::Matrix<Scalar, kAmbientDim, kAmbientDim>
inlinestatic

◆ identityParams()

template<class TScalar >
static auto sophus::lie::SpiralSimilarity3Impl< TScalar >::identityParams ( ) -> Params
inlinestatic

◆ invalidParamsExamples()

template<class TScalar >
static auto sophus::lie::SpiralSimilarity3Impl< TScalar >::invalidParamsExamples ( ) -> std::vector<Params>
inlinestatic

◆ inverse()

template<class TScalar >
static auto sophus::lie::SpiralSimilarity3Impl< TScalar >::inverse ( Params const &  non_zero_quat) -> Params
inlinestatic

◆ log()

template<class TScalar >
static auto sophus::lie::SpiralSimilarity3Impl< TScalar >::log ( Params const &  non_zero_quat) -> Tangent
inlinestatic

◆ matrix()

template<class TScalar >
static auto sophus::lie::SpiralSimilarity3Impl< TScalar >::matrix ( Params const &  non_zero_quat) -> Eigen::Matrix<Scalar, kPointDim, kPointDim>
inlinestatic

◆ matV()

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

◆ matVInverse()

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

◆ multiplication()

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

Saturation to ensure class invariant.

Saturation to ensure class invariant.

◆ paramsExamples()

template<class TScalar >
static auto sophus::lie::SpiralSimilarity3Impl< TScalar >::paramsExamples ( ) -> std::vector<Params>
inlinestatic

◆ tangentExamples()

template<class TScalar >
static auto sophus::lie::SpiralSimilarity3Impl< TScalar >::tangentExamples ( ) -> std::vector<Tangent>
inlinestatic

◆ toAmbient()

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

◆ vee()

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

Member Data Documentation

◆ kAmbientDim

template<class TScalar >
const int sophus::lie::SpiralSimilarity3Impl< TScalar >::kAmbientDim = 3
static

◆ kDof

template<class TScalar >
const int sophus::lie::SpiralSimilarity3Impl< TScalar >::kDof = 4
static

◆ kIisParallelLinePreserving

template<class TScalar >
constexpr bool sophus::lie::SpiralSimilarity3Impl< TScalar >::kIisParallelLinePreserving = true
staticconstexpr

◆ kIisSizePreserving

template<class TScalar >
constexpr bool sophus::lie::SpiralSimilarity3Impl< TScalar >::kIisSizePreserving = true
staticconstexpr

◆ kIsAxisDirectionPreserving

template<class TScalar >
constexpr bool sophus::lie::SpiralSimilarity3Impl< TScalar >::kIsAxisDirectionPreserving = false
staticconstexpr

◆ kIsDirectionVectorPreserving

template<class TScalar >
constexpr bool sophus::lie::SpiralSimilarity3Impl< TScalar >::kIsDirectionVectorPreserving = false
staticconstexpr

◆ kIsOriginPreserving

template<class TScalar >
constexpr bool sophus::lie::SpiralSimilarity3Impl< TScalar >::kIsOriginPreserving = true
staticconstexpr

◆ kIsShapePreserving

template<class TScalar >
constexpr bool sophus::lie::SpiralSimilarity3Impl< TScalar >::kIsShapePreserving = false
staticconstexpr

◆ kNumParams

template<class TScalar >
const int sophus::lie::SpiralSimilarity3Impl< TScalar >::kNumParams = 4
static

◆ kPointDim

template<class TScalar >
const int sophus::lie::SpiralSimilarity3Impl< TScalar >::kPointDim = 3
static

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