g2o
Loading...
Searching...
No Matches
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 ()
 
Matrix3 prec0 (double e)
 
Matrix3 prec1 (double e)
 
Matrix3 cov0 (double e)
 
Matrix3 cov1 (double e)
 

Public Attributes

Vector3 pos0
 
Vector3 pos1
 
Vector3 normal0
 
Vector3 normal1
 
Matrix3 R0
 
Matrix3 R1
 

Private Attributes

 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
 

Detailed Description

Definition at line 57 of file types_icp.h.

Constructor & Destructor Documentation

◆ EdgeGICP()

g2o::EdgeGICP::EdgeGICP ( )
inline

Definition at line 71 of file types_icp.h.

71 {
72 pos0.setZero();
73 pos1.setZero();
74 normal0 << 0, 0, 1;
75 normal1 << 0, 0, 1;
76 // makeRot();
77 R0.setIdentity();
78 R1.setIdentity();
79 }
Vector3 pos1
Definition types_icp.h:62
Vector3 pos0
Definition types_icp.h:62
Matrix3 R1
Definition types_icp.h:68
Matrix3 R0
Definition types_icp.h:68
Vector3 normal1
Definition types_icp.h:65
Vector3 normal0
Definition types_icp.h:65

Member Function Documentation

◆ cov0()

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

Definition at line 123 of file types_icp.h.

123 {
124 makeRot0();
125 Matrix3 cov;
126 cov << 1, 0, 0, 0, 1, 0, 0, 0, e;
127 return R0.transpose() * cov * R0;
128 }
void makeRot0()
Definition types_icp.h:82
MatrixN< 3 > Matrix3
Definition eigen_types.h:72

◆ cov1()

Matrix3 g2o::EdgeGICP::cov1 ( double  e)
inline

Definition at line 131 of file types_icp.h.

131 {
132 makeRot1();
133 Matrix3 cov;
134 cov << 1, 0, 0, 0, 1, 0, 0, 0, e;
135 return R1.transpose() * cov * R1;
136 }
void makeRot1()
Definition types_icp.h:96

◆ makeRot0()

void g2o::EdgeGICP::makeRot0 ( )
inline

Definition at line 82 of file types_icp.h.

82 {
83 Vector3 y;
84 y << 0, 1, 0;
85 R0.row(2) = normal0;
86 y = y - normal0(1) * normal0;
87 y.normalize(); // need to check if y is close to 0
88 R0.row(1) = y;
89 R0.row(0) = normal0.cross(R0.row(1));
90 // cout << normal.transpose() << endl;
91 // cout << R0 << endl << endl;
92 // cout << R0*R0.transpose() << endl << endl;
93 }
VectorN< 3 > Vector3
Definition eigen_types.h:51

◆ makeRot1()

void g2o::EdgeGICP::makeRot1 ( )
inline

Definition at line 96 of file types_icp.h.

96 {
97 Vector3 y;
98 y << 0, 1, 0;
99 R1.row(2) = normal1;
100 y = y - normal1(1) * normal1;
101 y.normalize(); // need to check if y is close to 0
102 R1.row(1) = y;
103 R1.row(0) = normal1.cross(R1.row(1));
104 }

◆ prec0()

Matrix3 g2o::EdgeGICP::prec0 ( double  e)
inline

Definition at line 107 of file types_icp.h.

107 {
108 makeRot0();
109 Matrix3 prec;
110 prec << e, 0, 0, 0, e, 0, 0, 0, 1;
111 return R0.transpose() * prec * R0;
112 }

Referenced by main(), and main().

◆ prec1()

Matrix3 g2o::EdgeGICP::prec1 ( double  e)
inline

Definition at line 115 of file types_icp.h.

115 {
116 makeRot1();
117 Matrix3 prec;
118 prec << e, 0, 0, 0, e, 0, 0, 0, 1;
119 return R1.transpose() * prec * R1;
120 }

Member Data Documentation

◆ EIGEN_MAKE_ALIGNED_OPERATOR_NEW

g2o::EdgeGICP::EIGEN_MAKE_ALIGNED_OPERATOR_NEW
private

Definition at line 58 of file types_icp.h.

◆ normal0

Vector3 g2o::EdgeGICP::normal0

Definition at line 65 of file types_icp.h.

Referenced by main(), and main().

◆ normal1

Vector3 g2o::EdgeGICP::normal1

Definition at line 65 of file types_icp.h.

Referenced by main(), and main().

◆ pos0

Vector3 g2o::EdgeGICP::pos0

Definition at line 62 of file types_icp.h.

Referenced by main(), and main().

◆ pos1

Vector3 g2o::EdgeGICP::pos1

Definition at line 62 of file types_icp.h.

Referenced by main(), and main().

◆ R0

Matrix3 g2o::EdgeGICP::R0

Definition at line 68 of file types_icp.h.

◆ R1

Matrix3 g2o::EdgeGICP::R1

Definition at line 68 of file types_icp.h.


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