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
11
class
VRPN_API
vrpn_3DMicroscribe
:
public
vrpn_Tracker
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
22
~vrpn_3DMicroscribe
() {};
23
25
virtual
void
mainloop
();
26
27
virtual
int
reset(
void
);
28
29
protected
:
30
float
m_OffSet[3];
31
float
m_Scale
;
32
int
m_PortNumber
;
33
long
int
m_BaudRate
;
34
35
36
int
_numbuttons
;
37
unsigned
char
buf[512];
38
int
bufpos
;
39
int
packtype
;
40
int
packlen
;
41
int
escapedchar
;
42
int
erroroccured
;
43
int
resetoccured;
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
55
=
vrpn_CONNECTION_LOW_LATENCY
);
56
58
virtual
void
report (vrpn_uint32 class_of_service
59
=
vrpn_CONNECTION_LOW_LATENCY
);
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:13
vrpn_Types.h
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
vrpn_3DMicroscribe.h
Generated by
1.8.18