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/types/slam3d/se3quat.h"
00023 #include <Eigen/Core>
00024
00025 struct LoadedEdge3D
00026 {
00027 int id1, id2;
00028
00029
00030
00031 Eigen::Isometry3d transform;
00032 Eigen::Matrix<double, 6,6> informationMatrix;
00033 };
00034
00035 struct LoadedEdgeComparator3D
00036 {
00037 inline bool operator()(const LoadedEdge3D& e1, const LoadedEdge3D& e2){
00038 int i11=e1.id1, i12=e1.id2;
00039 if (i11>i12){
00040 i11=e1.id2;
00041 i12=e1.id1;
00042 }
00043 int i21=e2.id1, i22=e2.id2;
00044 if (i21>i22){
00045 i21=e2.id2;
00046 i22=e2.id1;
00047 }
00048 if (i12<i22) return true;
00049 if (i12>i22) return false;
00050 return (i11<i21);
00051 }
00052 };
00053
00054 typedef std::set<LoadedEdge3D, LoadedEdgeComparator3D> LoadedEdgeSet3D;
00055
00056 #endif