vrpn  07.33
Virtual Reality Peripheral Network
vrpn_Spaceball.h
Go to the documentation of this file.
1 #ifndef VRPN_SPACEBALL_H
2 #define VRPN_SPACEBALL_H
3 
4 #include "vrpn_Analog.h" // for vrpn_Serial_Analog
5 #include "vrpn_Button.h" // for vrpn_Button_Filter
6 #include "vrpn_Configure.h" // for VRPN_API
7 #include "vrpn_Connection.h" // for vrpn_CONNECTION_LOW_LATENCY, etc
8 #include "vrpn_Shared.h" // for timeval
9 #include "vrpn_Types.h" // for vrpn_uint32
10 
12  ,public vrpn_Button_Filter
13 {
14  public:
15  vrpn_Spaceball (const char * name, vrpn_Connection * c,
16  const char * port, int baud);
17 
19 
21  virtual void mainloop ();
22 
23  virtual int reset(void);
24 
25  protected:
28  unsigned char buf[512];
29  int bufpos;
30  int packtype;
31  int packlen;
37  int null_radius;
38  struct timeval timestamp;
39 
40  virtual void clear_values(void);
41 
44  virtual int get_report(void);
45 
47  virtual void report_changes
48  (vrpn_uint32 class_of_service
50 
52  virtual void report
53  (vrpn_uint32 class_of_service
55 
56  // NOTE: class_of_service is only applied to vrpn_Analog
57  // values, not vrpn_Button, which are always vrpn_RELIABLE
58 };
59 
60 #endif
vrpn_Serial_Analog
Definition: vrpn_Analog.h:63
vrpn_Button_Filter::report_changes
virtual void report_changes(void)
Definition: vrpn_Button.C:382
vrpn_Types.h
vrpn_Analog::report
virtual void report(vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY, const struct timeval time=vrpn_ANALOG_NOW)
Send a report whether something has changed or not (for servers) Optionally, tell what time to stamp ...
Definition: vrpn_Analog.C:94
vrpn_Spaceball
Definition: vrpn_Spaceball.h:13
vrpn_Spaceball::escapedchar
int escapedchar
We're processing an escaped char.
Definition: vrpn_Spaceball.h:32
vrpn_CONNECTION_LOW_LATENCY
const vrpn_uint32 vrpn_CONNECTION_LOW_LATENCY
Definition: vrpn_Connection.h:122
vrpn_Spaceball::_numbuttons
int _numbuttons
How many buttons to open.
Definition: vrpn_Spaceball.h:26
vrpn_Shared.h
vrpn_Spaceball::spaceball4000
int spaceball4000
We found a Spaceball 4000.
Definition: vrpn_Spaceball.h:35
vrpn_Button.h
vrpn_Spaceball::erroroccured
int erroroccured
A device error has occurred.
Definition: vrpn_Spaceball.h:33
vrpn_Spaceball::_numchannels
int _numchannels
How many analog channels to open.
Definition: vrpn_Spaceball.h:27
vrpn_Spaceball::bufpos
int bufpos
Current char pos in buffer.
Definition: vrpn_Spaceball.h:29
vrpn_BaseClass::mainloop
virtual void mainloop()=0
Called once through each main loop iteration to handle updates. Remote object mainloop() should call ...
vrpn_Spaceball::leftymode4000
int leftymode4000
Spaceball 4000 is in lefty mode.
Definition: vrpn_Spaceball.h:36
vrpn_Connection
Generic connection class not specific to the transport mechanism.
Definition: vrpn_Connection.h:510
vrpn_Connection.h
vrpn_Spaceball::packlen
int packlen
Expected packet length.
Definition: vrpn_Spaceball.h:31
vrpn_Analog.h
vrpn_Configure.h
vrpn_Spaceball::~vrpn_Spaceball
~vrpn_Spaceball()
Definition: vrpn_Spaceball.h:18
VRPN_API
#define VRPN_API
Definition: vrpn_Configure.h:646
vrpn_Spaceball::packtype
int packtype
What kind of packet we are decoding.
Definition: vrpn_Spaceball.h:30
vrpn_Spaceball::resetoccured
int resetoccured
A reset event has occurred.
Definition: vrpn_Spaceball.h:34
vrpn_Button_Filter
All button servers should derive from this class, which provides the ability to turn any of the butto...
Definition: vrpn_Button.h:65