Subversion Repositories seema-scanner

Rev

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

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