inputDeviceDriver.h

Go to the documentation of this file.
00001 #ifndef INPUTDEVICEDRIVER_H
00002 #define INPUTDEVICEDRIVER_H
00003 
00004 #include <QtCore/QMutex>
00005 
00006 class QWidget;
00007 
00008 namespace BALL
00009 {
00010   namespace VIEW
00011   {
00012     class Scene;
00013 
00014     class InputDeviceDriver
00015     {
00016       public:
00017         InputDeviceDriver(QWidget* reciever);
00018         virtual ~InputDeviceDriver();
00019 
00020         virtual bool setUp() = 0;
00021         virtual bool tearDown() = 0;
00022 
00023         void setEnabled(bool enabled);
00024         bool isEnabled() { return enabled_; }
00025 
00026         void setReceiver(Scene* s);
00027         QWidget* getReceiver();
00028 
00029       protected:
00030         void emitPositionChange(double x, double y, double z, double a, double b, double c);
00031         void emitPositionChange(double x, double y, double z, double q1, double q2, double q3, double q4);
00032         void emitHeadChange(double x, double y, double z, double q1, double q2, double q3, double q4);
00033 
00034       private:
00035         QMutex receiverLock;
00036 
00037         QWidget* receiver_;
00038         bool enabled_;
00039     };
00040 
00041   }
00042 }
00043 
00044 #endif //INPUTDEVICEDRIVER_H
00045