42 lines
863 B
C
42 lines
863 B
C
|
|
#ifndef SCANPROCESSSEQUENCE_H
|
||
|
|
#define SCANPROCESSSEQUENCE_H
|
||
|
|
|
||
|
|
#include <QObject>
|
||
|
|
#include <QStack>
|
||
|
|
|
||
|
|
enum ScanPosition
|
||
|
|
{
|
||
|
|
Left = 0, Right
|
||
|
|
};
|
||
|
|
|
||
|
|
class ScanProcessSequence : public QObject
|
||
|
|
{
|
||
|
|
Q_OBJECT
|
||
|
|
public:
|
||
|
|
static ScanProcessSequence* getInstance();
|
||
|
|
void pushPosition(ScanPosition aPosition);
|
||
|
|
ScanPosition popPosition();
|
||
|
|
ScanPosition topPosition();
|
||
|
|
int getScanPositionSize();
|
||
|
|
void clear();
|
||
|
|
|
||
|
|
signals:
|
||
|
|
void startAutoLocate();
|
||
|
|
void stopAutoLocate();
|
||
|
|
void quitAutoLocate();
|
||
|
|
void startFullScan();
|
||
|
|
void fullScanDataExport();
|
||
|
|
void autoLocateXYUpdated(int aX, int aY);
|
||
|
|
void autoLocateZUpdated(int aZ);
|
||
|
|
|
||
|
|
private slots:
|
||
|
|
void updateAutoLocatePosition(int aX, int aY, int aZ);
|
||
|
|
|
||
|
|
private:
|
||
|
|
ScanProcessSequence(QObject* aParent = nullptr);
|
||
|
|
QStack<ScanPosition> mScanProtocol;
|
||
|
|
|
||
|
|
};
|
||
|
|
|
||
|
|
#endif // SCANPROCESSSEQUENCE_H
|