vrpn
07.35
Virtual Reality Peripheral Network
Toggle main menu visibility
Loading...
Searching...
No Matches
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
struct
timeval
timestamp
;
40
41
void
ConvertOriToQuat
(
float
ori[3]);
//< directly put the values in the quat for message sending
42
virtual
void
clear_values
(
void
);
43
46
virtual
int
get_report
(
void
);
47
49
virtual
void
report_changes
(vrpn_uint32 class_of_service
50
=
vrpn_CONNECTION_LOW_LATENCY
);
51
53
virtual
void
report
(vrpn_uint32 class_of_service
54
=
vrpn_CONNECTION_LOW_LATENCY
);
55
56
// NOTE: class_of_service is only applied to vrpn_Tracker
57
// values, not vrpn_Button, which are always vrpn_RELIABLE
58
};
59
60
#endif
vrpn_3DMicroscribe::clear_values
virtual void clear_values(void)
Set all buttons, analogs and encoders back to 0.
Definition
vrpn_3DMicroscribe.C:117
vrpn_3DMicroscribe::report
virtual void report(vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY)
send report whether or not changed
Definition
vrpn_3DMicroscribe.C:276
vrpn_3DMicroscribe::_numbuttons
int _numbuttons
How many buttons to open.
Definition
vrpn_3DMicroscribe.h:36
vrpn_3DMicroscribe::m_PortNumber
int m_PortNumber
port number
Definition
vrpn_3DMicroscribe.h:32
vrpn_3DMicroscribe::buf
unsigned char buf[512]
Buffer of characters in report,.
Definition
vrpn_3DMicroscribe.h:37
vrpn_3DMicroscribe::m_BaudRate
long int m_BaudRate
baud rate
Definition
vrpn_3DMicroscribe.h:33
vrpn_3DMicroscribe::m_Scale
float m_Scale
Definition
vrpn_3DMicroscribe.h:31
vrpn_3DMicroscribe::bufpos
int bufpos
Current char pos in buffer.
Definition
vrpn_3DMicroscribe.h:38
vrpn_3DMicroscribe::ConvertOriToQuat
void ConvertOriToQuat(float ori[3])
Definition
vrpn_3DMicroscribe.C:217
vrpn_3DMicroscribe::get_report
virtual int get_report(void)
Try to read reports from the device. Returns 1 if a complete report received, 0 otherwise....
Definition
vrpn_3DMicroscribe.C:178
vrpn_3DMicroscribe::m_OffSet
float m_OffSet[3]
Definition
vrpn_3DMicroscribe.h:30
vrpn_3DMicroscribe::timestamp
struct timeval timestamp
Time of the last report from the device.
Definition
vrpn_3DMicroscribe.h:39
vrpn_3DMicroscribe::vrpn_3DMicroscribe
vrpn_3DMicroscribe(const char *name, vrpn_Connection *c, const char *Port, long int BaudRate, float OffsetX=0.0f, float OffsetY=0.0f, float OffsetZ=0.0f, float Scale=1.0f)
Definition
vrpn_3DMicroscribe.C:38
vrpn_3DMicroscribe::~vrpn_3DMicroscribe
~vrpn_3DMicroscribe()
Definition
vrpn_3DMicroscribe.h:22
vrpn_BaseClass::mainloop
virtual void mainloop()=0
Called once through each main loop iteration to handle updates. Remote object mainloop() should call ...
vrpn_Button_Filter::report_changes
virtual void report_changes(void)
Definition
vrpn_Button.C:383
vrpn_Button_Filter::vrpn_Button_Filter
vrpn_Button_Filter(const char *, vrpn_Connection *c=NULL)
Definition
vrpn_Button.C:129
vrpn_Connection
Generic connection class not specific to the transport mechanism.
Definition
vrpn_Connection.h:561
vrpn_Tracker::vrpn_Tracker
vrpn_Tracker(const char *name, vrpn_Connection *c=NULL, const char *tracker_cfg_file_name=NULL)
Definition
vrpn_Tracker.C:45
vrpn_Button.h
vrpn_Configure.h
VRPN_API
#define VRPN_API
Definition
vrpn_Configure.h:648
vrpn_Connection.h
vrpn_CONNECTION_LOW_LATENCY
const vrpn_uint32 vrpn_CONNECTION_LOW_LATENCY
Definition
vrpn_Connection.h:120
vrpn_Shared.h
vrpn_Tracker.h
vrpn_Types.h
vrpn_3DMicroscribe.h
Generated by
1.17.0