00001
00015
00016 #ifdef USE_VRPN
00017
00018
00019 #ifndef VRPNBUTTONDEVICE_H
00020 #define VRPNBUTTONDEVICE_H
00021
00022
00023 #include <G3D/G3DAll.h>
00024 using namespace G3D;
00025 #include <iostream>
00026
00027 #include "PolledDevice.H"
00028
00029 class vrpn_Button_Remote;
00030
00031 namespace IS3D {
00032
00033 class VRPNButtonDevice : public PolledDevice
00034 {
00035 public:
00036 VRPNButtonDevice(const std::string &vrpnButtonDeviceName,
00037 const Array<std::string> &eventsToGenerate);
00038
00039 static VRPNButtonDevice* fromConfigVals(const std::string &devname);
00040
00041 virtual ~VRPNButtonDevice();
00042
00043 void pollForEvents();
00044
00045 std::string getEventName(int buttonNumber);
00046
00047 private:
00048 vrpn_Button_Remote *_vrpnDevice;
00049 Array<std::string> _eventNames;
00050 };
00051
00052 }
00053
00054 #endif
00055
00056 #endif // USE_VRPN defined
00057
00058