Subversion Repositories seema-scanner

Rev

Rev 29 | Rev 36 | 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);
30 jakw 38
        void onReceiveRotatedTo(float angle);
27 jakw 39
 
26 jakw 40
        void onCalibrationSetProcessed(int idx);
29 jakw 41
        void onCalibrationFrameResult(int idx, int camID, bool success, cv::Mat result);
27 jakw 42
 
23 jakw 43
        void on_singleCalibrationButton_clicked();
44
 
27 jakw 45
        void on_calibrateButton_clicked();
46
 
47
        void onCalibrationDone();
48
        void on_calibrationListWidget_itemSelectionChanged();
49
 
50
        void on_singleCaptureButton_clicked();
51
 
52
 
23 jakw 53
        void on_calibrationRotationDial_sliderReleased();
54
 
27 jakw 55
        void on_captureRotationDial_sliderReleased();
25 jakw 56
 
27 jakw 57
        void on_captureTreeWidget_itemSelectionChanged();
25 jakw 58
 
30 jakw 59
        void on_batchCalibrationButton_clicked();
60
 
61
        void on_batchCaptureButton_clicked();
62
 
1 jakw 63
private:
23 jakw 64
        Ui::SMScanner *ui;
4 jakw 65
 
23 jakw 66
        QSettings settings;
4 jakw 67
 
23 jakw 68
        SMPreferenceDialog preferenceDialog;
4 jakw 69
 
23 jakw 70
        SMCaptureWorker *captureWorker;
71
        QThread *captureWorkerThread;
4 jakw 72
 
27 jakw 73
        SMCalibrationWorker *calibrationWorker;
74
        QThread *calibrationWorkerThread;
4 jakw 75
 
27 jakw 76
        SMReconstructionWorker *reconstructionWorker;
77
        QThread *reconstructionWorkerThread;
78
 
79
        std::vector< SMCalibrationSet > calibrationData;
80
        std::vector< SMFrameSequence > captureData;
23 jakw 81
        std::vector< pcl::PointCloud<pcl::PointXYZRGB>::Ptr > pointClouds;
25 jakw 82
 
83
        bool calibrationReviewMode;
27 jakw 84
        bool captureReviewMode;
1 jakw 85
};
86
 
87
#endif // SMSCANNER_H