Subversion Repositories seema-scanner

Rev

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

Rev Author Line No. Line
9 jakw 1
/*
2
 *
3
 MVTracker - Multi View Tracking for Pose Estimation
4
 (c) 2014 Jakob Wilm, DTU, Kgs.Lyngby, Denmark
5
 *
6
*/
7
 
8
#ifndef SMCaptureWorker_H
9
#define SMCaptureWorker_H
10
 
23 jakw 11
#include "SMTypes.h"
12
#include "ProjectorOpenGL.h"
13
#include "Camera.h"
14
#include "RotationStage.h"
15
 
9 jakw 16
#include <QObject>
17
#include <opencv2/opencv.hpp>
18
 
23 jakw 19
enum mode {
20
    modeIdle,
21
    modeCalibrationSet,
22
    modeFrameSequence
23
};
9 jakw 24
 
25
class SMCaptureWorker : public QObject{
26
    Q_OBJECT
27
 
28
    public:
23 jakw 29
        SMCaptureWorker(){}
9 jakw 30
        ~SMCaptureWorker();
31
    public slots:
32
        void setup();
33
        void doWork();
23 jakw 34
        void rotateTo(float angle);
35
        void acquireCalibrationSet(float angle);
36
        void acquireCalibrationSets(std::vector<float> angles);
37
        void acquireFrameSequence(float angle);
38
        void acquireFrameSequences(std::vector<float> angles);
39
        void abort();
40
        void stopWork();
9 jakw 41
    signals:
42
        void newFrame(unsigned int camID, cv::Mat frame);
23 jakw 43
        void newCalibrationSet(CalibrationSet frameSet);
44
        void newFrameSequence(FrameSequence frameSequence);
45
        void busy();
46
        void done();
9 jakw 47
        void finished();
48
    private:
23 jakw 49
        bool working;
50
        Projector* projector;
9 jakw 51
        Camera* camera0;
52
        Camera* camera1;
23 jakw 53
        RotationStage* rotationStage;
9 jakw 54
};
55
 
56
#endif // SMCaptureWorker_H