Subversion Repositories seema-scanner

Rev

Rev 27 | Rev 30 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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