105class VRPN_API vrpn_Tracker_AnalogFly :
public vrpn_Tracker {
107 vrpn_Tracker_AnalogFly (
const char * name, vrpn_Connection * trackercon,
109 float update_rate,
bool absolute = vrpn_FALSE,
110 bool reportChanges = VRPN_FALSE,
bool worldFrame = VRPN_FALSE);
112 virtual ~vrpn_Tracker_AnalogFly (
void);
117 double d_update_interval;
118 struct timeval d_prevtime;
120 bool d_reportChanges;
129 bool d_clutch_engaged;
130 bool d_clutch_was_off;
132 q_matrix_type d_initMatrix, d_currentMatrix, d_clutchMatrix;
134 void update_matrix_based_on_values (
double time_interval);
135 void convert_matrix_to_tracker (
void);
137 bool shouldReport (
double elapsedInterval)
const;
141 virtual void reset(
void);
143 static void VRPN_CALLBACK handle_analog_update (
void * userdata,
144 const vrpn_ANALOGCB info);
145 static void VRPN_CALLBACK handle_reset_press (
void * userdata,
const vrpn_BUTTONCB info);
146 static void VRPN_CALLBACK handle_clutch_press (
void * userdata,
const vrpn_BUTTONCB info);