Rev 1 | Rev 8 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#ifndef SMSCANNER_H
#define SMSCANNER_H
#include <QMainWindow>
#include <QSettings>
#include <QThread>
#include <QCloseEvent>
#include "SMPreferenceDialog.h"
#include "SMCaptureWorker.h"
#include "SMTriangulationWorker.h"
#include <opencv2/opencv.hpp>
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
namespace Ui {
class SMScanner;
}
class SMScanner : public QMainWindow
{
Q_OBJECT
public:
explicit SMScanner(QWidget *parent = 0);
void closeEvent(QCloseEvent *event);
~SMScanner();
private slots:
void on_actionPreferences_triggered();
void onReceiveNewFrameSet(std::vector<cv::Mat > frameSet);
private:
Ui::SMScanner *ui;
QSettings settings;
SMPreferenceDialog preferenceDialog;
SMCaptureWorker *captureWorker;
QThread *captureWorkerThread;
SMTriangulationWorker *triangulationWorker;
QThread *triangulationWorkerThread;
std::vector< std::pair<cv::Mat, cv::Mat> > calibrationData;
std::vector< std::vector< std::pair<cv::Mat, cv::Mat> > > captureData;
std::vector< pcl::PointCloud<pcl::PointXYZRGB>::Ptr > pointClouds;
};
#endif // SMSCANNER_H