farm-ng-core
|
Semi direct product of a Lie group (factor group) and the vector space (translation). More...
#include <translation_factor_group_product.h>
Public Types | |
using | Scalar = TScalar |
using | FactorGroup = TFactorGroup< Scalar > |
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 ¶ms) -> sophus::Expected< Success > |
static auto | hasShortestPathAmbiguity (Params const ¶ms) -> bool |
static auto | exp (Tangent tangent) -> Params |
static auto | log (Params const ¶ms) -> 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 > |
template<class TCompatibleScalar > | |
static auto | multiplication (Params const &lhs_params, Eigen::Vector< TCompatibleScalar, kNumParams > const &rhs_params) -> ParamsReturn< TCompatibleScalar > |
static auto | inverse (Params const ¶ms) -> Params |
template<class TCompatibleScalar > | |
static auto | action (Params const ¶ms, Eigen::Matrix< TCompatibleScalar, kPointDim, 1 > const &point) -> PointReturn< TCompatibleScalar > |
static auto | toAmbient (Point const &point) -> Eigen::Vector< Scalar, kAmbientDim > |
template<class TCompatibleScalar > | |
static auto | action (Params const ¶ms, UnitVector< TCompatibleScalar, kPointDim > const &direction) -> UnitVectorReturn< TCompatibleScalar > |
static auto | adj (Params const ¶ms) -> Eigen::Matrix< Scalar, kDof, kDof > |
static auto | ad (Tangent const &tangent) -> Eigen::Matrix< Scalar, kDof, kDof > |
static auto | compactMatrix (Params const ¶ms) -> Eigen::Matrix< Scalar, kPointDim, kAmbientDim > |
static auto | matrix (Params const ¶ms) -> Eigen::Matrix< Scalar, kAmbientDim, kAmbientDim > |
static auto | dxExpXAt0 () -> Eigen::Matrix< Scalar, kNumParams, kDof > |
static auto | dxExpXTimesPointAt0 (Point const &point) -> Eigen::Matrix< Scalar, kPointDim, kDof > |
static auto | dxThisMulExpXAt0 (Params const ¶ms) -> Eigen::Matrix< Scalar, kNumParams, kDof > |
static auto | dxLogThisInvTimesXAtThis (Params const ¶ms) -> 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 const int | kPointDim = kTranslationDim |
static constexpr bool | kIsOriginPreserving = false |
static constexpr bool | kIsAxisDirectionPreserving |
static constexpr bool | kIsDirectionVectorPreserving |
static constexpr bool | kIsShapePreserving = FactorGroup::kIsShapePreserving |
static constexpr bool | kIsSizePreserving = FactorGroup::kIsSizePreserving |
static constexpr bool | kIisParallelLinePreserving = true |
static const int | kDof = FactorGroup::kDof + kPointDim |
static const int | kNumParams = FactorGroup::kNumParams + kPointDim |
static const int | kAmbientDim = kPointDim + 1 |
Semi direct product of a Lie group (factor group) and the vector space (translation).
using sophus::lie::TranslationFactorGroupProduct< TScalar, kTranslationDim, TFactorGroup >::FactorGroup = TFactorGroup<Scalar> |
using sophus::lie::TranslationFactorGroupProduct< TScalar, kTranslationDim, TFactorGroup >::Params = Eigen::Vector<Scalar, kNumParams> |
using sophus::lie::TranslationFactorGroupProduct< TScalar, kTranslationDim, TFactorGroup >::ParamsReturn = Eigen::Vector<ScalarReturn<TCompatibleScalar>, kNumParams> |
using sophus::lie::TranslationFactorGroupProduct< TScalar, kTranslationDim, TFactorGroup >::Point = Eigen::Vector<Scalar, kPointDim> |
using sophus::lie::TranslationFactorGroupProduct< TScalar, kTranslationDim, TFactorGroup >::PointReturn = Eigen::Vector<ScalarReturn<TCompatibleScalar>, kPointDim> |
using sophus::lie::TranslationFactorGroupProduct< TScalar, kTranslationDim, TFactorGroup >::Scalar = TScalar |
using sophus::lie::TranslationFactorGroupProduct< TScalar, kTranslationDim, TFactorGroup >::ScalarReturn = typename Eigen:: ScalarBinaryOpTraits<Scalar, TCompatibleScalar>::ReturnType |
using sophus::lie::TranslationFactorGroupProduct< TScalar, kTranslationDim, TFactorGroup >::Tangent = Eigen::Vector<Scalar, kDof> |
using sophus::lie::TranslationFactorGroupProduct< TScalar, kTranslationDim, TFactorGroup >::UnitVectorReturn = UnitVector<ScalarReturn<TCompatibleScalar>, kPointDim> |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
static |
|
static |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
static |
|
static |