Go to the documentation of this file.00001
00024 #ifndef RGBDTOOLS_RGBD_KEYFRAME_H
00025 #define RGBDTOOLS_RGBD_KEYFRAME_H
00026
00027 #include <boost/filesystem.hpp>
00028
00029 #include "rgbdtools/rgbd_frame.h"
00030
00031 namespace rgbdtools {
00032
00039 class RGBDKeyframe: public RGBDFrame
00040 {
00041 public:
00042
00043 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
00044
00047 RGBDKeyframe();
00048
00052 RGBDKeyframe(const RGBDFrame& frame);
00053
00054 Pose pose;
00055
00056 bool manually_added;
00057
00061 double path_length_linear;
00062
00066 double path_length_angular;
00067
00078 static bool save(const RGBDKeyframe& keyframe,
00079 const std::string& path);
00080
00091 static bool load(RGBDKeyframe& keyframe,
00092 const std::string& path);
00093 };
00094
00095 typedef Eigen::aligned_allocator<RGBDKeyframe> KeyframeAllocator;
00096 typedef std::vector<RGBDKeyframe, KeyframeAllocator> KeyframeVector;
00097
00106 bool saveKeyframes(const KeyframeVector& keyframes,
00107 const std::string& path);
00108
00117 bool loadKeyframes(KeyframeVector& keyframes,
00118 const std::string& path);
00119
00120 }
00121
00122 #endif // RGBDTOOLS_RGBD_KEYFRAME_H