g2o
Loading...
Searching...
No Matches
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

References normal0, normal1, pos0, pos1, R0, and R1.

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

References makeRot0(), and R0.

◆ 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

References makeRot1(), and R1.

◆ 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

References normal0, and R0.

Referenced by cov0(), and prec0().

◆ 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 }

References normal1, and R1.

Referenced by cov1(), and prec1().

◆ 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 }

References makeRot0(), and R0.

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 }

References makeRot1(), and R1.

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 EdgeGICP(), main(), main(), makeRot0(), and g2o::Edge_V_V_GICP::write().

◆ normal1

Vector3 g2o::EdgeGICP::normal1

Definition at line 65 of file types_icp.h.

Referenced by EdgeGICP(), main(), main(), makeRot1(), and g2o::Edge_V_V_GICP::write().

◆ pos0

Vector3 g2o::EdgeGICP::pos0

Definition at line 62 of file types_icp.h.

Referenced by EdgeGICP(), main(), main(), and g2o::Edge_V_V_GICP::write().

◆ pos1

Vector3 g2o::EdgeGICP::pos1

◆ R0

Matrix3 g2o::EdgeGICP::R0

Definition at line 68 of file types_icp.h.

Referenced by cov0(), EdgeGICP(), makeRot0(), prec0(), and g2o::Edge_V_V_GICP::read().

◆ R1

Matrix3 g2o::EdgeGICP::R1

Definition at line 68 of file types_icp.h.

Referenced by cov1(), EdgeGICP(), makeRot1(), and prec1().


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