farm-ng-core
sophus::ceres::Manifold< TLieGroup > Class Template Reference

Templated local parameterization for LieGroup [with implemented LieGroup::Dx_this_mul_exp_x_at_0() ]. More...

#include <manifold.h>

Inheritance diagram for sophus::ceres::Manifold< TLieGroup >:
Collaboration diagram for sophus::ceres::Manifold< TLieGroup >:

Public Types

using LieGroupF64 = TLieGroup< double >
 
using Tangent = Eigen::Vector< double, kDof >
 
using Params = Eigen::Vector< double, kNumParams >
 

Public Member Functions

bool Plus (double const *t_raw, double const *delta_raw, double *t_plus_delta_raw) const override
 LieGroup plus operation for Ceres. More...
 
bool PlusJacobian (double const *t_raw, double *jacobian_raw) const override
 Jacobian of LieGroup plus operation for Ceres. More...
 
bool Minus (double const *y_raw, double const *x_raw, double *y_minus_x_raw) const override
 
bool MinusJacobian (double const *x_raw, double *jacobian_raw) const override
 
int AmbientSize () const override
 
int TangentSize () const override
 

Static Public Attributes

static constexpr int kDof = LieGroupF64::kDof
 
static constexpr int kNumParams = LieGroupF64::kNumParams
 

Detailed Description

template<template< class > class TLieGroup>
class sophus::ceres::Manifold< TLieGroup >

Templated local parameterization for LieGroup [with implemented LieGroup::Dx_this_mul_exp_x_at_0() ].

Member Typedef Documentation

◆ LieGroupF64

template<template< class > class TLieGroup>
using sophus::ceres::Manifold< TLieGroup >::LieGroupF64 = TLieGroup<double>

◆ Params

template<template< class > class TLieGroup>
using sophus::ceres::Manifold< TLieGroup >::Params = Eigen::Vector<double, kNumParams>

◆ Tangent

template<template< class > class TLieGroup>
using sophus::ceres::Manifold< TLieGroup >::Tangent = Eigen::Vector<double, kDof>

Member Function Documentation

◆ AmbientSize()

template<template< class > class TLieGroup>
int sophus::ceres::Manifold< TLieGroup >::AmbientSize ( ) const
inlineoverride

◆ Minus()

template<template< class > class TLieGroup>
bool sophus::ceres::Manifold< TLieGroup >::Minus ( double const *  y_raw,
double const *  x_raw,
double *  y_minus_x_raw 
) const
inlineoverride

◆ MinusJacobian()

template<template< class > class TLieGroup>
bool sophus::ceres::Manifold< TLieGroup >::MinusJacobian ( double const *  x_raw,
double *  jacobian_raw 
) const
inlineoverride

◆ Plus()

template<template< class > class TLieGroup>
bool sophus::ceres::Manifold< TLieGroup >::Plus ( double const *  t_raw,
double const *  delta_raw,
double *  t_plus_delta_raw 
) const
inlineoverride

LieGroup plus operation for Ceres.

T * exp(x)

◆ PlusJacobian()

template<template< class > class TLieGroup>
bool sophus::ceres::Manifold< TLieGroup >::PlusJacobian ( double const *  t_raw,
double *  jacobian_raw 
) const
inlineoverride

Jacobian of LieGroup plus operation for Ceres.

Dx T * exp(x) with x=0

◆ TangentSize()

template<template< class > class TLieGroup>
int sophus::ceres::Manifold< TLieGroup >::TangentSize ( ) const
inlineoverride

Member Data Documentation

◆ kDof

template<template< class > class TLieGroup>
constexpr int sophus::ceres::Manifold< TLieGroup >::kDof = LieGroupF64::kDof
staticconstexpr

◆ kNumParams

template<template< class > class TLieGroup>
constexpr int sophus::ceres::Manifold< TLieGroup >::kNumParams = LieGroupF64::kNumParams
staticconstexpr

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