farm-ng-core
sophus::GroupManifold< TGroup, kPlus > Struct Template Reference

#include <group_manifold.h>

Collaboration diagram for sophus::GroupManifold< TGroup, kPlus >:

Public Types

using Group = TGroup
 
using Tangent = typename TGroup::Tangent
 
using Params = typename Group::Params
 
using Scalar = typename TGroup::Scalar
 

Public Member Functions

 GroupManifold ()=default
 
 GroupManifold (GroupManifold const &g)=default
 
GroupManifoldoperator= (GroupManifold const &g)=default
 
 GroupManifold (Group const &g)
 
auto setParams (Params const &params) -> void
 
auto unsafeMutPtr () -> Scalar *
 
auto ptr () -> Scalar const *
 
auto oplus (Tangent const &a) const -> GroupManifold
 
auto ominus (GroupManifold const &h) const -> Tangent
 
auto params () const -> Params const &
 

Static Public Member Functions

static auto fromParams (Params const &params) -> GroupManifold
 
static auto tangentExamples () -> std::vector< Tangent >
 
template<concepts::Range TSequenceContainer>
static auto average (TSequenceContainer const &range) -> std::optional< GroupManifold >
 

Public Attributes

Group group
 

Static Public Attributes

static constexpr int kDof = TGroup::kDof
 
static constexpr int kNumParams = TGroup::kNumParams
 

Member Typedef Documentation

◆ Group

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
using sophus::GroupManifold< TGroup, kPlus >::Group = TGroup

◆ Params

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
using sophus::GroupManifold< TGroup, kPlus >::Params = typename Group::Params

◆ Scalar

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
using sophus::GroupManifold< TGroup, kPlus >::Scalar = typename TGroup::Scalar

◆ Tangent

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
using sophus::GroupManifold< TGroup, kPlus >::Tangent = typename TGroup::Tangent

Constructor & Destructor Documentation

◆ GroupManifold() [1/3]

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
sophus::GroupManifold< TGroup, kPlus >::GroupManifold ( )
default

◆ GroupManifold() [2/3]

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
sophus::GroupManifold< TGroup, kPlus >::GroupManifold ( GroupManifold< TGroup, kPlus > const &  g)
default

◆ GroupManifold() [3/3]

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
sophus::GroupManifold< TGroup, kPlus >::GroupManifold ( Group const &  g)
inline

Member Function Documentation

◆ average()

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
template<concepts::Range TSequenceContainer>
static auto sophus::GroupManifold< TGroup, kPlus >::average ( TSequenceContainer const &  range) -> std::optional<GroupManifold>
inlinestatic

◆ fromParams()

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
static auto sophus::GroupManifold< TGroup, kPlus >::fromParams ( Params const &  params) -> GroupManifold
inlinestatic

◆ ominus()

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
auto sophus::GroupManifold< TGroup, kPlus >::ominus ( GroupManifold< TGroup, kPlus > const &  h) const -> Tangent
inline

◆ operator=()

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
GroupManifold& sophus::GroupManifold< TGroup, kPlus >::operator= ( GroupManifold< TGroup, kPlus > const &  g)
default

◆ oplus()

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
auto sophus::GroupManifold< TGroup, kPlus >::oplus ( Tangent const &  a) const -> GroupManifold
inline

◆ params()

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
auto sophus::GroupManifold< TGroup, kPlus >::params ( ) const -> Params const&
inline

◆ ptr()

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
auto sophus::GroupManifold< TGroup, kPlus >::ptr ( ) -> Scalar const*
inline

◆ setParams()

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
auto sophus::GroupManifold< TGroup, kPlus >::setParams ( Params const &  params) -> void
inline

◆ tangentExamples()

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
static auto sophus::GroupManifold< TGroup, kPlus >::tangentExamples ( ) -> std::vector<Tangent>
inlinestatic

◆ unsafeMutPtr()

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
auto sophus::GroupManifold< TGroup, kPlus >::unsafeMutPtr ( ) -> Scalar*
inline

Member Data Documentation

◆ group

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
Group sophus::GroupManifold< TGroup, kPlus >::group

◆ kDof

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
constexpr int sophus::GroupManifold< TGroup, kPlus >::kDof = TGroup::kDof
staticconstexpr

◆ kNumParams

template<concepts::LieGroup TGroup, ManifoldPlusType kPlus>
constexpr int sophus::GroupManifold< TGroup, kPlus >::kNumParams = TGroup::kNumParams
staticconstexpr

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