vrpn  07.33
Virtual Reality Peripheral Network
vrpn_3DMicroscribe.h
Go to the documentation of this file.
1 #ifndef VRPN_3DMICROSCRIBE_H
2 #define VRPN_3DMICROSCRIBE_H
3 
4 #include "vrpn_Button.h" // for vrpn_Button_Filter
5 #include "vrpn_Configure.h" // for VRPN_API
6 #include "vrpn_Connection.h" // for vrpn_CONNECTION_LOW_LATENCY, etc
7 #include "vrpn_Shared.h" // for timeval
8 #include "vrpn_Tracker.h" // for vrpn_Tracker
9 #include "vrpn_Types.h" // for vrpn_uint32
10 
12  ,public vrpn_Button_Filter
13 {
14  public:
15  // Offset is in meters. Scale is an abomination and should not be
16  // used. All tracker reports should be in meters in VRPN.
17  vrpn_3DMicroscribe (const char * name, vrpn_Connection * c,
18  const char * Port, long int BaudRate,
19  float OffsetX = 0.0f, float OffsetY = 0.0f, float OffsetZ = 0.0f,
20  float Scale=1.0f);
21 
23 
25  virtual void mainloop ();
26 
27  virtual int reset(void);
28 
29  protected:
30  float m_OffSet[3];
31  float m_Scale;
33  long int m_BaudRate;
34 
35 
37  unsigned char buf[512];
38  int bufpos;
39  int packtype;
40  int packlen;
44  struct timeval timestamp;
45 
46  void ConvertOriToQuat(float ori[3]); //< directly put the values in the quat for message sending
47  virtual void clear_values(void);
48 
51  virtual int get_report(void);
52 
54  virtual void report_changes (vrpn_uint32 class_of_service
56 
58  virtual void report (vrpn_uint32 class_of_service
60 
61  // NOTE: class_of_service is only applied to vrpn_Tracker
62  // values, not vrpn_Button, which are always vrpn_RELIABLE
63 };
64 
65 #endif
vrpn_Tracker.h
vrpn_Tracker
Definition: vrpn_Tracker.h:49
vrpn_Button_Filter::report_changes
virtual void report_changes(void)
Definition: vrpn_Button.C:382
vrpn_3DMicroscribe
Definition: vrpn_3DMicroscribe.h:11
vrpn_Types.h
vrpn_3DMicroscribe::resetoccured
int resetoccured
A reset event has occurred.
Definition: vrpn_3DMicroscribe.h:43
vrpn_3DMicroscribe::packlen
int packlen
Expected packet length.
Definition: vrpn_3DMicroscribe.h:40
vrpn_CONNECTION_LOW_LATENCY
const vrpn_uint32 vrpn_CONNECTION_LOW_LATENCY
Definition: vrpn_Connection.h:122
vrpn_3DMicroscribe::packtype
int packtype
What kind of packet we are decoding.
Definition: vrpn_3DMicroscribe.h:39
vrpn_3DMicroscribe::m_Scale
float m_Scale
Definition: vrpn_3DMicroscribe.h:31
vrpn_Shared.h
vrpn_Button.h
vrpn_3DMicroscribe::_numbuttons
int _numbuttons
How many buttons to open.
Definition: vrpn_3DMicroscribe.h:36
vrpn_3DMicroscribe::bufpos
int bufpos
Current char pos in buffer.
Definition: vrpn_3DMicroscribe.h:38
vrpn_BaseClass::mainloop
virtual void mainloop()=0
Called once through each main loop iteration to handle updates. Remote object mainloop() should call ...
vrpn_Connection
Generic connection class not specific to the transport mechanism.
Definition: vrpn_Connection.h:510
vrpn_Connection.h
vrpn_3DMicroscribe::~vrpn_3DMicroscribe
~vrpn_3DMicroscribe()
Definition: vrpn_3DMicroscribe.h:22
vrpn_3DMicroscribe::m_PortNumber
int m_PortNumber
port number
Definition: vrpn_3DMicroscribe.h:32
vrpn_3DMicroscribe::erroroccured
int erroroccured
A device error has occurred.
Definition: vrpn_3DMicroscribe.h:42
vrpn_3DMicroscribe::m_BaudRate
long int m_BaudRate
baud rate
Definition: vrpn_3DMicroscribe.h:33
vrpn_Configure.h
VRPN_API
#define VRPN_API
Definition: vrpn_Configure.h:646
vrpn_3DMicroscribe::escapedchar
int escapedchar
We're processing an escaped char.
Definition: vrpn_3DMicroscribe.h:41
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