Go to the documentation of this file.00001
00018 #ifndef ABSTRACTTRANSFORMATIONWRITER_H
00019 #define ABSTRACTTRANSFORMATIONWRITER_H
00020 #include <iostream>
00021 #ifndef Q_MOC_RUN
00022 #include <Eigen/Dense>
00023 #endif
00024 #include "transformation_data.h"
00025
00026 using namespace std;
00027
00028 typedef std::tuple<double, double, Eigen::Matrix4d, Eigen::Matrix4d> PanTiltOffsetTuple;
00029 typedef std::vector<PanTiltOffsetTuple,Eigen::aligned_allocator<Eigen::Vector4f> > PanTiltOffsetTupleList;
00030
00031 class Abstract_TransformationFile_Manager
00032 {
00033 public:
00034 explicit Abstract_TransformationFile_Manager(string filePath);
00035 virtual std::vector<Transformation_Data> readFromFile(string filePath) = 0;
00036 virtual bool writeToFile(Transformation_Data data) = 0;
00037 virtual std::vector<Eigen::Matrix4d, Eigen::aligned_allocator<Eigen::Matrix4d>> readTransformationFromFile(string filePath) = 0;
00038 virtual bool writeTransformationToFile(const std::vector<Eigen::Matrix4d, Eigen::aligned_allocator<Eigen::Matrix4d>> transformation) = 0;
00039 virtual bool writeCameraOffsetToFile(const PanTiltOffsetTupleList &offsetData) = 0;
00040
00041 bool writeToFile(std::vector<Transformation_Data> &dataSets);
00042 bool writeToFile(const Eigen::Matrix4d PTU_Frame, const Eigen::Matrix4d LaserScan_Frame, double pan, double tilt);
00043 std::vector<Transformation_Data> readFromFile();
00044 protected:
00045 string filePath;
00046 };
00047
00048 #endif // ABSTRACTTRANSFORMATIONWRITER_H