MNE-CPP  beta 1.0
stcdataworker.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef STCDATAWORKER_H
37 #define STCDATAWORKER_H
38 
39 //*************************************************************************************************************
40 //=============================================================================================================
41 // INCLUDES
42 //=============================================================================================================
43 
44 #include <iostream>
45 
46 
47 //*************************************************************************************************************
48 //=============================================================================================================
49 // QT INCLUDES
50 //=============================================================================================================
51 
52 #include <QObject>
53 #include <QList>
54 #include <QThread>
55 #include <QSharedPointer>
56 #include <QMutex>
57 
58 
59 //*************************************************************************************************************
60 //=============================================================================================================
61 // Eigen INCLUDES
62 //=============================================================================================================
63 
64 #include <Eigen/Core>
65 
66 
67 //*************************************************************************************************************
68 //=============================================================================================================
69 // DEFINE NAMESPACE DISP3DLIB
70 //=============================================================================================================
71 
72 namespace DISP3DNEWLIB
73 {
74 
75 //*************************************************************************************************************
76 //=============================================================================================================
77 // USED NAMESPACES
78 //=============================================================================================================
79 
80 using namespace Eigen;
81 
82 //=============================================================================================================
88 class StcDataWorker : public QThread
89 {
90  Q_OBJECT
91 public:
92  typedef QSharedPointer<StcDataWorker> SPtr;
93  typedef QSharedPointer<const StcDataWorker> ConstSPtr;
95  StcDataWorker(QObject *parent = 0);
96 
97  ~StcDataWorker();
98 
99 // void setIntervall(int intervall);
100 
101  void addData(QList<VectorXd> &data);
102 
103  void clear();
104 
105  void setAverage(qint32 samples);
106 
107  void setInterval(int usec);
108 
109  void setLoop(bool looping);
110 
111  void stop();
112 
113 signals:
114  void stcSample(Eigen::VectorXd sample);
115 
116 protected:
117  virtual void run();
118 
119 private:
120  QMutex m_qMutex;
121  QList<VectorXd> m_data;
123  bool m_bIsRunning;
124  bool m_bIsLooping;
125 
126  qint32 m_iAverageSamples;
127  qint32 m_iCurrentSample;
128  qint32 m_iUSecIntervall;
129 };
130 
131 } // NAMESPACE
132 
133 #endif // STCDATAWORKER_H
QSharedPointer< const StcDataWorker > ConstSPtr
Definition: stcdataworker.h:93
QSharedPointer< StcDataWorker > SPtr
Definition: stcdataworker.h:92