Subversion Repositories seema-scanner

Rev

Rev 26 | Rev 29 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 jakw 1
#ifndef SMSCANNER_H
2
#define SMSCANNER_H
3
 
4
#include <QMainWindow>
4 jakw 5
#include <QSettings>
6
#include <QThread>
7
#include <QCloseEvent>
27 jakw 8
#include <QModelIndex>
1 jakw 9
 
9 jakw 10
#include "SMPreferenceDialog.h"
4 jakw 11
#include "SMCaptureWorker.h"
27 jakw 12
#include "SMCalibrationWorker.h"
13
#include "SMReconstructionWorker.h"
4 jakw 14
 
15
#include <opencv2/opencv.hpp>
16
#include <pcl/point_cloud.h>
17
#include <pcl/point_types.h>
18
 
23 jakw 19
 
1 jakw 20
namespace Ui {
23 jakw 21
    class SMScanner;
1 jakw 22
}
23
 
23 jakw 24
class SMScanner : public QMainWindow{
1 jakw 25
    Q_OBJECT
26
 
23 jakw 27
    public:
28
        explicit SMScanner(QWidget *parent = 0);
29
        void closeEvent(QCloseEvent *event);
30
        ~SMScanner();
1 jakw 31
 
23 jakw 32
    private slots:
33
        void on_actionPreferences_triggered();
4 jakw 34
 
23 jakw 35
        void onReceiveFrame(unsigned int camId, cv::Mat frame);
27 jakw 36
        void onReceiveCalibrationSet(SMCalibrationSet calibrationSet);
37
        void onReceiveFrameSequence(SMFrameSequence frameSequence);
38
 
26 jakw 39
        void onCalibrationSetProcessed(int idx);
27 jakw 40
        void onCalibrationFrameResult(int idx, int camID, cv::Mat result);
41
 
23 jakw 42
        void on_singleCalibrationButton_clicked();
43
 
27 jakw 44
        void on_calibrateButton_clicked();
45
 
46
        void onCalibrationDone();
47
        void on_calibrationListWidget_itemSelectionChanged();
48
 
49
        void on_singleCaptureButton_clicked();
50
 
51
 
23 jakw 52
        void on_calibrationRotationDial_sliderReleased();
53
 
27 jakw 54
        void on_captureRotationDial_sliderReleased();
25 jakw 55
 
27 jakw 56
        void on_captureTreeWidget_itemSelectionChanged();
25 jakw 57
 
1 jakw 58
private:
23 jakw 59
        Ui::SMScanner *ui;
4 jakw 60
 
23 jakw 61
        QSettings settings;
4 jakw 62
 
23 jakw 63
        SMPreferenceDialog preferenceDialog;
4 jakw 64
 
23 jakw 65
        SMCaptureWorker *captureWorker;
66
        QThread *captureWorkerThread;
4 jakw 67
 
27 jakw 68
        SMCalibrationWorker *calibrationWorker;
69
        QThread *calibrationWorkerThread;
4 jakw 70
 
27 jakw 71
        SMReconstructionWorker *reconstructionWorker;
72
        QThread *reconstructionWorkerThread;
73
 
74
        std::vector< SMCalibrationSet > calibrationData;
75
        std::vector< SMFrameSequence > captureData;
23 jakw 76
        std::vector< pcl::PointCloud<pcl::PointXYZRGB>::Ptr > pointClouds;
25 jakw 77
 
78
        bool calibrationReviewMode;
27 jakw 79
        bool captureReviewMode;
1 jakw 80
};
81
 
82
#endif // SMSCANNER_H