1#ifndef INCLUDED_BUTTONFLY
2#define INCLUDED_BUTTONFLY
8#include "vrpn_Analog.h"
9#include "vrpn_Button.h"
10#include "vrpn_Configure.h"
11#include "vrpn_Shared.h"
12#include "vrpn_Tracker.h"
13#include "vrpn_Types.h"
18const int vrpn_BUTTONFLY_MAXAXES = 200;
32 { vrpn_strcpy(name,
""); channel = 0;
33 vec[0] = vec[1] = vec[2] = 0.0;
34 rot[0] = rot[1] = rot[2] = 0.0;
38 const float rv[],
bool absolut)
39 { vrpn_strcpy(name, n);
41 memcpy(vec, v,
sizeof(vec));
42 memcpy(rot, rv,
sizeof(rot));
58 vrpn_strcpy(vel_scale_name,
"");
59 vrpn_strcpy(rot_scale_name,
"");
65 if (num_axes >= vrpn_BUTTONFLY_MAXAXES) {
return false; }
76 char vel_scale_name[200];
77 int vel_scale_channel;
78 float vel_scale_offset;
79 float vel_scale_scale;
80 float vel_scale_power;
83 char rot_scale_name[200];
84 int rot_scale_channel;
85 float rot_scale_offset;
86 float rot_scale_scale;
87 float rot_scale_power;
122 bool reportChanges = VRPN_FALSE);
127 virtual void reset (
void);
129 void update (q_matrix_type &);
135 double d_update_interval;
136 struct timeval d_prevtime;
137 bool d_reportChanges;
144 char d_vel_scale_name[200];
145 int d_vel_scale_channel;
146 float d_vel_scale_offset;
147 float d_vel_scale_scale;
148 float d_vel_scale_power;
149 float d_vel_scale_value;
153 char d_rot_scale_name[200];
154 int d_rot_scale_channel;
155 float d_rot_scale_offset;
156 float d_rot_scale_scale;
157 float d_rot_scale_power;
158 float d_rot_scale_value;
167 void update_matrix_based_on_values (
double time_interval);
168 void convert_matrix_to_tracker (
void);
170 bool shouldReport (
double elapsedInterval);
175 static void VRPN_CALLBACK handle_velocity_update(
void * userdata,
const vrpn_ANALOGCB info);
176 static void VRPN_CALLBACK handle_rotation_update(
void * userdata,
const vrpn_ANALOGCB info);
177 static void VRPN_CALLBACK handle_button_update(
void * userdata,
const vrpn_BUTTONCB info);
178 static void VRPN_CALLBACK handle_reset_press(
void * userdata,
const vrpn_BUTTONCB info);
Generic connection class not specific to the transport mechanism.
定义 vrpn_Connection.h:562
定义 vrpn_Tracker_ButtonFly.h:27
定义 vrpn_Tracker_ButtonFly.h:92
This structure is what is passed to a vrpn_Connection message callback.
定义 vrpn_Connection.h:41