Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef RGBDSLAMEDGES_3D_H
00018 #define RGBDSLAMEDGES_3D_H
00019
00020 #include <set>
00021 #include <iostream>
00022 #include "g2o/math_groups/se3quat.h"
00023
00024 struct LoadedEdge3D
00025 {
00026 int id1, id2;
00027
00028
00029 g2o::SE3Quat mean;
00030 Eigen::Matrix<double, 6,6> informationMatrix;
00031 };
00032
00033 struct LoadedEdgeComparator3D
00034 {
00035 inline bool operator()(const LoadedEdge3D& e1, const LoadedEdge3D& e2){
00036 int i11=e1.id1, i12=e1.id2;
00037 if (i11>i12){
00038 i11=e1.id2;
00039 i12=e1.id1;
00040 }
00041 int i21=e2.id1, i22=e2.id2;
00042 if (i21>i22){
00043 i21=e2.id2;
00044 i22=e2.id1;
00045 }
00046 if (i12<i22) return true;
00047 if (i12>i22) return false;
00048 return (i11<i21);
00049 }
00050 };
00051
00052 typedef std::set<LoadedEdge3D, LoadedEdgeComparator3D> LoadedEdgeSet3D;
00053
00054 #endif