Go to the documentation of this file.
31 #ifndef CERES_EXAMPLES_POSE_GRAPH_3D_EIGEN_QUATERNION_PARAMETERIZATION_H_
32 #define CERES_EXAMPLES_POSE_GRAPH_3D_EIGEN_QUATERNION_PARAMETERIZATION_H_
34 #include "ceres/local_parameterization.h"
52 virtual bool Plus(
const double* x_ptr,
54 double* x_plus_delta_ptr)
const
59 const double norm_delta =
61 if (norm_delta > 0.0) {
62 const double sin_delta_by_delta =
sin(norm_delta) / norm_delta;
66 sin_delta_by_delta *
delta[0],
67 sin_delta_by_delta *
delta[1],
68 sin_delta_by_delta *
delta[2]);
69 x_plus_delta = delta_q *
x;
77 double* jacobian)
const{
78 jacobian[0] =
x[3]; jacobian[1] =
x[2]; jacobian[2] = -
x[1];
79 jacobian[3] = -
x[2]; jacobian[4] =
x[3]; jacobian[5] =
x[0];
80 jacobian[6] =
x[1]; jacobian[7] = -
x[0]; jacobian[8] =
x[3];
81 jacobian[9] = -
x[0]; jacobian[10] = -
x[1]; jacobian[11] = -
x[2];
90 #endif // CERES_EXAMPLES_POSE_GRAPH_3D_EIGEN_QUATERNION_PARAMETERIZATION_H_
Jet< T, N > sin(const Jet< T, N > &f)
Jet< T, N > cos(const Jet< T, N > &f)
virtual ~EigenQuaternionParameterization()
virtual bool ComputeJacobian(const double *x, double *jacobian) const
virtual int LocalSize() const
virtual int GlobalSize() const
virtual bool Plus(const double *x_ptr, const double *delta, double *x_plus_delta_ptr) const
Jet< T, N > sqrt(const Jet< T, N > &f)
rtabmap
Author(s): Mathieu Labbe
autogenerated on Thu Jul 25 2024 02:50:09