Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef EXPORTSCANSDIALOG_H_
00029 #define EXPORTSCANSDIALOG_H_
00030
00031 #include <QDialog>
00032 #include <QMap>
00033 #include <QtCore/QSettings>
00034
00035 #include <rtabmap/core/Signature.h>
00036
00037 #include <pcl/point_cloud.h>
00038 #include <pcl/point_types.h>
00039 #include <pcl/PolygonMesh.h>
00040 #include <pcl/TextureMesh.h>
00041 #include <pcl/pcl_base.h>
00042
00043 class Ui_ExportScansDialog;
00044 class QAbstractButton;
00045
00046 namespace rtabmap {
00047 class ProgressDialog;
00048
00049 class ExportScansDialog : public QDialog
00050 {
00051 Q_OBJECT
00052
00053 public:
00054 ExportScansDialog(QWidget *parent = 0);
00055
00056 virtual ~ExportScansDialog();
00057
00058 void saveSettings(QSettings & settings, const QString & group = "") const;
00059 void loadSettings(QSettings & settings, const QString & group = "");
00060
00061 void exportScans(
00062 const std::map<int, Transform> & poses,
00063 const std::map<int, int> & mapIds,
00064 const QMap<int, Signature> & cachedSignatures,
00065 const std::map<int, cv::Mat> & createdScans,
00066 const QString & workingDirectory);
00067
00068 void viewScans(
00069 const std::map<int, Transform> & poses,
00070 const std::map<int, int> & mapIds,
00071 const QMap<int, Signature> & cachedSignatures,
00072 const std::map<int, cv::Mat> & createdScans,
00073 const QString & workingDirectory);
00074
00075 signals:
00076 void configChanged();
00077
00078 public slots:
00079 void restoreDefaults();
00080
00081 private:
00082 std::map<int, pcl::PointCloud<pcl::PointNormal>::Ptr> getScans(
00083 const std::map<int, Transform> & poses,
00084 const QMap<int, Signature> & cachedSignatures,
00085 const std::map<int, cv::Mat> & createdScans) const;
00086 bool getExportedScans(
00087 const std::map<int, Transform> & poses,
00088 const std::map<int, int> & mapIds,
00089 const QMap<int, Signature> & cachedSignatures,
00090 const std::map<int, cv::Mat> & createdScans,
00091 const QString & workingDirectory,
00092 std::map<int, pcl::PointCloud<pcl::PointNormal>::Ptr> & clouds);
00093 void saveScans(const QString & workingDirectory,
00094 const std::map<int, Transform> & poses,
00095 const std::map<int, pcl::PointCloud<pcl::PointNormal>::Ptr> & clouds,
00096 bool binaryMode = true);
00097
00098 void setSaveButton();
00099 void setOkButton();
00100 void enableRegeneration(bool enabled);
00101
00102 private:
00103 Ui_ExportScansDialog * _ui;
00104 ProgressDialog * _progressDialog;
00105 };
00106
00107 }
00108
00109 #endif