#include <JoystickDevice.h>
Inheritance diagram for vrjGA::JoystickDevice:

Public Types | |
| typedef Referenced | BaseClass |
| typedef gadget::AnalogInterface | AI |
Public Member Functions | |
| VRJGA_DECLARE_POINTER (JoystickDevice) | |
| Smart-pointer definitions. | |
| JoystickDevice (const std::string &h, const std::string &v) | |
| void | callback (Message m, Callback::Ptr c) |
| Callback * | callback (Message m) |
| float | horizontal () const |
| float | vertical () const |
| void | notify () |
| void | update () |
Protected Member Functions | |
| virtual | ~JoystickDevice () |
|
|
Definition at line 38 of file JoystickDevice.h. |
|
|
Definition at line 37 of file JoystickDevice.h. Referenced by JoystickDevice(). |
|
||||||||||||
|
Definition at line 28 of file JoystickDevice.cpp. References BaseClass, vrjGA::JOYSTICK_AT_CENTER, vrjGA::JOYSTICK_AT_DOWN, vrjGA::JOYSTICK_AT_LEFT, vrjGA::JOYSTICK_AT_RIGHT, vrjGA::JOYSTICK_AT_UP, vrjGA::JOYSTICK_ENTERING_CENTER, vrjGA::JOYSTICK_ENTERING_DOWN, vrjGA::JOYSTICK_ENTERING_LEFT, vrjGA::JOYSTICK_ENTERING_RIGHT, vrjGA::JOYSTICK_ENTERING_UP, vrjGA::JOYSTICK_LEAVING_CENTER, vrjGA::JOYSTICK_LEAVING_DOWN, vrjGA::JOYSTICK_LEAVING_LEFT, vrjGA::JOYSTICK_LEAVING_RIGHT, and vrjGA::JOYSTICK_LEAVING_UP.
00028 : 00029 BaseClass(), 00030 _cbm(), 00031 _tm(), 00032 _hai(), 00033 _vai(), 00034 _h ( 0 ), 00035 _v ( 0 ), 00036 _hs ( JOYSTICK_AT_CENTER ), 00037 _vs ( JOYSTICK_AT_CENTER ) 00038 { 00039 // Initialize. 00040 _hai.init ( h ); 00041 _vai.init ( v ); 00042 00043 // Fill up the transition map. 00044 _tm[MessagePair(JOYSTICK_AT_CENTER,JOYSTICK_AT_RIGHT) ] = MessagePair(JOYSTICK_LEAVING_CENTER,JOYSTICK_ENTERING_RIGHT ); 00045 _tm[MessagePair(JOYSTICK_AT_CENTER,JOYSTICK_AT_LEFT) ] = MessagePair(JOYSTICK_LEAVING_CENTER,JOYSTICK_ENTERING_LEFT ); 00046 _tm[MessagePair(JOYSTICK_AT_CENTER,JOYSTICK_AT_UP) ] = MessagePair(JOYSTICK_LEAVING_CENTER,JOYSTICK_ENTERING_UP ); 00047 _tm[MessagePair(JOYSTICK_AT_CENTER,JOYSTICK_AT_DOWN) ] = MessagePair(JOYSTICK_LEAVING_CENTER,JOYSTICK_ENTERING_DOWN ); 00048 00049 // The other way... 00050 _tm[MessagePair(JOYSTICK_AT_RIGHT, JOYSTICK_AT_CENTER)] = MessagePair(JOYSTICK_LEAVING_RIGHT, JOYSTICK_ENTERING_CENTER); 00051 _tm[MessagePair(JOYSTICK_AT_LEFT, JOYSTICK_AT_CENTER)] = MessagePair(JOYSTICK_LEAVING_LEFT, JOYSTICK_ENTERING_CENTER); 00052 _tm[MessagePair(JOYSTICK_AT_UP, JOYSTICK_AT_CENTER)] = MessagePair(JOYSTICK_LEAVING_UP, JOYSTICK_ENTERING_CENTER); 00053 _tm[MessagePair(JOYSTICK_AT_DOWN, JOYSTICK_AT_CENTER)] = MessagePair(JOYSTICK_LEAVING_DOWN, JOYSTICK_ENTERING_CENTER); 00054 00055 // Skipping center (if update-rate is slow)... 00056 _tm[MessagePair(JOYSTICK_AT_LEFT, JOYSTICK_AT_RIGHT) ] = MessagePair(JOYSTICK_LEAVING_LEFT, JOYSTICK_ENTERING_RIGHT ); 00057 _tm[MessagePair(JOYSTICK_AT_RIGHT, JOYSTICK_AT_LEFT) ] = MessagePair(JOYSTICK_LEAVING_RIGHT, JOYSTICK_ENTERING_LEFT ); 00058 _tm[MessagePair(JOYSTICK_AT_UP, JOYSTICK_AT_DOWN) ] = MessagePair(JOYSTICK_LEAVING_UP, JOYSTICK_ENTERING_DOWN ); 00059 _tm[MessagePair(JOYSTICK_AT_DOWN, JOYSTICK_AT_UP) ] = MessagePair(JOYSTICK_LEAVING_DOWN, JOYSTICK_ENTERING_UP ); 00060 } |
|
|
Definition at line 69 of file JoystickDevice.cpp.
00070 {
00071 }
|
|
|
Definition at line 168 of file JoystickDevice.cpp.
00169 {
00170 Callbacks::iterator i = _cbm.find ( m );
00171 return ( _cbm.end() == i ) ? 0x0 : i->second.get();
00172 }
|
|
||||||||||||
|
Definition at line 156 of file JoystickDevice.cpp.
00157 {
00158 _cbm[m] = c;
00159 }
|
|
|
Definition at line 51 of file JoystickDevice.h.
00051 { return _h; }
|
|
|
Definition at line 93 of file JoystickDevice.cpp. References vrjGA::Message.
00094 {
00095 // Grab current state.
00096 Message hs ( _hs ), vs ( _vs );
00097
00098 // Update the state.
00099 this->_updateState();
00100
00101 // Notify for both directions.
00102 this->_notify ( hs, _hs );
00103 this->_notify ( vs, _vs );
00104 }
|
|
|
Definition at line 80 of file JoystickDevice.cpp.
00081 {
00082 _h = _hai->getData();
00083 _v = _vai->getData();
00084 }
|
|
|
Definition at line 52 of file JoystickDevice.h.
00052 { return _v; }
|
|
|
Smart-pointer definitions.
|
1.3.5