00001 #ifndef _pinch_vrpn_H_ 00002 #define _pinch_vrpn_H_ 00003 00004 #include "dev/discrete_contact.H" 00005 #include "dev/polled.H" 00006 #include "vrpn/vrpn_Button.h" 00007 00008 // 00009 // DEVpinch_VRPN - VRPN device interface to the Pinch Gloves 00010 // 00011 // This class opens up a VRPN connection to a Pinch Gloves device 00012 // server and then uses the inherited DEVpinch event() method to 00013 // dispatch EVENTdiscrete_contact events. 00014 // 00015 00016 class DEVpinch_VRPN : public DEVdiscrete_contact, public DEVpolled { 00017 protected: 00018 bool _changed; 00019 vrpn_int32 _curbuttons[10]; 00020 vrpn_Button_Remote *_vrpndev; 00021 00022 static void vrpn_button_handler(void *buth, const vrpn_BUTTONCB info); 00023 00024 /* ---------- DEVpolled methods -------------- */ 00025 virtual void do_poll(); 00026 00027 public: 00028 DEVpinch_VRPN(Cstr_ptr &n); 00029 virtual ~DEVpinch_VRPN(); 00030 }; 00031 00032 #endif