PylonRecorder/dualcamgrabber.h

60 lines
1.1 KiB
C++

#ifndef DUALCAMGRABBER_H
#define DUALCAMGRABBER_H
#include <QObject>
#include <QThread>
#include "dualcamwrapper.h"
#include "imagebuffer.h"
class DualcamGrabber : public QThread
{
Q_OBJECT
public:
DualcamGrabber(DualcamWrapper *wrapper, ImageBuffer *buffer, int framerate, QObject *parent = nullptr) :
QThread(parent), wrapper(wrapper), buffer(buffer), framerate(framerate) {}
void run() override;
void stop();
int currentFramerate() {
return framerate;
}
double currentExposureTime() {
return exposure;
}
double currentGain() {
return gain;
}
private:
bool stop_request = false;
DualcamWrapper *wrapper;
ImageBuffer *buffer;
int framerate;
double exposure, gain;
public slots:
void requestStop() {
stop_request=true;
}
void setFrameRate(int newFramerate) {
framerate = newFramerate;
}
void setExposureTime(double newExposureTime) {
exposure = newExposureTime;
}
void setGain(double gain_db) {
gain = gain_db;
}
signals:
void terminated();
void delayed(int, int);
};
#endif // DUALCAMGRABBER_H