g2o
Public Member Functions | Public Attributes | Private Attributes | List of all members
g2o::EdgeGICP Class Reference

#include <types_icp.h>

Public Member Functions

 EdgeGICP ()
 
void makeRot0 ()
 
void makeRot1 ()
 
Matrix3D prec0 (double e)
 
Matrix3D prec1 (double e)
 
Matrix3D cov0 (double e)
 
Matrix3D cov1 (double e)
 

Public Attributes

Vector3D pos0
 
Vector3D pos1
 
Vector3D normal0
 
Vector3D normal1
 
Matrix3D R0
 
Matrix3D R1
 

Private Attributes

 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
 

Detailed Description

Definition at line 60 of file types_icp.h.

Constructor & Destructor Documentation

g2o::EdgeGICP::EdgeGICP ( )
inline

Definition at line 75 of file types_icp.h.

76  {
77  pos0.setZero();
78  pos1.setZero();
79  normal0 << 0, 0, 1;
80  normal1 << 0, 0, 1;
81  //makeRot();
82  R0.setIdentity();
83  R1.setIdentity();
84  }
Matrix3D R0
Definition: types_icp.h:72
Vector3D normal0
Definition: types_icp.h:69
Vector3D pos1
Definition: types_icp.h:66
Vector3D normal1
Definition: types_icp.h:69
Matrix3D R1
Definition: types_icp.h:72
Vector3D pos0
Definition: types_icp.h:66

Member Function Documentation

Matrix3D g2o::EdgeGICP::cov0 ( double  e)
inline

Definition at line 136 of file types_icp.h.

137  {
138  makeRot0();
139  Matrix3D cov;
140  cov << 1, 0, 0,
141  0, 1, 0,
142  0, 0, e;
143  return R0.transpose()*cov*R0;
144  }
Matrix3D R0
Definition: types_icp.h:72
Eigen::Matrix< double, 3, 3, Eigen::ColMajor > Matrix3D
Definition: eigen_types.h:61
void makeRot0()
Definition: types_icp.h:87
Matrix3D g2o::EdgeGICP::cov1 ( double  e)
inline

Definition at line 147 of file types_icp.h.

148  {
149  makeRot1();
150  Matrix3D cov;
151  cov << 1, 0, 0,
152  0, 1, 0,
153  0, 0, e;
154  return R1.transpose()*cov*R1;
155  }
Eigen::Matrix< double, 3, 3, Eigen::ColMajor > Matrix3D
Definition: eigen_types.h:61
Matrix3D R1
Definition: types_icp.h:72
void makeRot1()
Definition: types_icp.h:102
void g2o::EdgeGICP::makeRot0 ( )
inline

Definition at line 87 of file types_icp.h.

Referenced by g2o::Edge_V_V_GICP::read().

88  {
89  Vector3D y;
90  y << 0, 1, 0;
91  R0.row(2) = normal0;
92  y = y - normal0(1)*normal0;
93  y.normalize(); // need to check if y is close to 0
94  R0.row(1) = y;
95  R0.row(0) = normal0.cross(R0.row(1));
96  // cout << normal.transpose() << endl;
97  // cout << R0 << endl << endl;
98  // cout << R0*R0.transpose() << endl << endl;
99  }
Eigen::Matrix< double, 3, 1, Eigen::ColMajor > Vector3D
Definition: eigen_types.h:46
Matrix3D R0
Definition: types_icp.h:72
Vector3D normal0
Definition: types_icp.h:69
void g2o::EdgeGICP::makeRot1 ( )
inline

Definition at line 102 of file types_icp.h.

103  {
104  Vector3D y;
105  y << 0, 1, 0;
106  R1.row(2) = normal1;
107  y = y - normal1(1)*normal1;
108  y.normalize(); // need to check if y is close to 0
109  R1.row(1) = y;
110  R1.row(0) = normal1.cross(R1.row(1));
111  }
Eigen::Matrix< double, 3, 1, Eigen::ColMajor > Vector3D
Definition: eigen_types.h:46
Vector3D normal1
Definition: types_icp.h:69
Matrix3D R1
Definition: types_icp.h:72
Matrix3D g2o::EdgeGICP::prec0 ( double  e)
inline

Definition at line 114 of file types_icp.h.

Referenced by main().

115  {
116  makeRot0();
117  Matrix3D prec;
118  prec << e, 0, 0,
119  0, e, 0,
120  0, 0, 1;
121  return R0.transpose()*prec*R0;
122  }
Matrix3D R0
Definition: types_icp.h:72
Eigen::Matrix< double, 3, 3, Eigen::ColMajor > Matrix3D
Definition: eigen_types.h:61
void makeRot0()
Definition: types_icp.h:87
Matrix3D g2o::EdgeGICP::prec1 ( double  e)
inline

Definition at line 125 of file types_icp.h.

126  {
127  makeRot1();
128  Matrix3D prec;
129  prec << e, 0, 0,
130  0, e, 0,
131  0, 0, 1;
132  return R1.transpose()*prec*R1;
133  }
Eigen::Matrix< double, 3, 3, Eigen::ColMajor > Matrix3D
Definition: eigen_types.h:61
Matrix3D R1
Definition: types_icp.h:72
void makeRot1()
Definition: types_icp.h:102

Member Data Documentation

g2o::EdgeGICP::EIGEN_MAKE_ALIGNED_OPERATOR_NEW
private

Definition at line 62 of file types_icp.h.

Vector3D g2o::EdgeGICP::normal0
Vector3D g2o::EdgeGICP::normal1
Vector3D g2o::EdgeGICP::pos0
Vector3D g2o::EdgeGICP::pos1
Matrix3D g2o::EdgeGICP::R0

Definition at line 72 of file types_icp.h.

Referenced by g2o::Edge_V_V_GICP::Edge_V_V_GICP(), and g2o::Edge_V_V_GICP::read().

Matrix3D g2o::EdgeGICP::R1

Definition at line 72 of file types_icp.h.

Referenced by g2o::Edge_V_V_GICP::Edge_V_V_GICP().


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