Subversion Repositories seema-scanner

Rev

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

Rev 70 Rev 207
1
 
1
 
2
#ifndef SMReconstructionWorker_H
2
#ifndef SMReconstructionWorker_H
3
#define SMReconstructionWorker_H
3
#define SMReconstructionWorker_H
4
 
4
 
5
#include "SMTypes.h"
5
#include "SMTypes.h"
6
#include "SMCalibrationParameters.h"
6
#include "SMCalibrationParameters.h"
7
#include "Algorithm.h"
7
#include "Algorithm.h"
8
 
8
 
9
#include <QObject>
9
#include <QObject>
10
#include <QTime>
10
#include <QTime>
11
 
11
 
12
#include <opencv2/opencv.hpp>
12
#include <opencv2/opencv.hpp>
13
#include <pcl/point_cloud.h>
13
#include <pcl/point_cloud.h>
14
#include <pcl/point_types.h>
14
#include <pcl/point_types.h>
15
 
15
 
16
class SMReconstructionWorker : public QObject {
16
class SMReconstructionWorker : public QObject {
17
    Q_OBJECT
17
    Q_OBJECT
18
 
18
 
19
    public:
19
    public:
20
        SMReconstructionWorker(){}
20
        SMReconstructionWorker(){}
21
        ~SMReconstructionWorker(){}
21
        ~SMReconstructionWorker(){}
22
    public slots:
22
    public slots:
23
        void setup();
23
        void setup();
24
        void reconstructPointCloud(SMFrameSequence frameSequence);
24
        void reconstructPointCloud(const SMFrameSequence &frameSequence);
25
        void reconstructPointClouds(std::vector<SMFrameSequence> frameSequences);
25
        void reconstructPointClouds(const std::vector<SMFrameSequence> &frameSequences);
26
    signals:
26
    signals:
27
        void newPointCloud(SMPointCloud pointCloud);
27
        void newPointCloud(SMPointCloud pointCloud);
28
        void error(QString err);
28
        void error(const QString err);
29
        void done();
29
        void done();
30
    private:
30
    private:
31
        void triangulate(std::vector<cv::Point2f>& q0, std::vector<cv::Point2f>& q1, std::vector<cv::Point3f> &Q);
31
        void triangulate(const std::vector<cv::Point2f>& q0, const std::vector<cv::Point2f>& q1, std::vector<cv::Point3f> &Q);
32
 
32
 
33
    private:
33
    private:
34
        SMCalibrationParameters calibration;
34
        SMCalibrationParameters calibration;
35
        QTime time;
35
        QTime time;
36
        Algorithm *algorithm;
36
        Algorithm *algorithm;
37
        cv::Mat lensMap0Horz, lensMap0Vert, lensMap1Horz, lensMap1Vert;
37
        cv::Mat lensMap0Horz, lensMap0Vert, lensMap1Horz, lensMap1Vert;
38
};
38
};
39
 
39
 
40
#endif
40
#endif
41
 
41