17#include "vrpn_Analog.h"
18#include "vrpn_Tracker.h"
24class vrpn_IMU_Axis_Params {
26 VRPN_API vrpn_IMU_Axis_Params(
void) {
27 for (
size_t i = 0; i < 3; i++) {
41class vrpn_IMU_Vector {
43 VRPN_API vrpn_IMU_Vector (
void) { ana = NULL;
44 values[0] = values[1] = values[2] = 0.0;
45 time.tv_sec = 0; time.tv_usec = 0; };
90 double d_update_interval;
91 struct timeval d_prevtime;
92 bool d_report_changes;
103 static void VRPN_CALLBACK handle_analog_update (
void *userdata,
104 const vrpn_ANALOGCB info);
107class vrpn_Tracker_IMU_Params {
109 VRPN_API vrpn_Tracker_IMU_Params(
void) {}
113 std::string d_magnetometer_name;
131class vrpn_IMU_SimpleCombiner :
public vrpn_Tracker {
133 VRPN_API vrpn_IMU_SimpleCombiner(
const char *name,
vrpn_Connection *trackercon,
135 float update_rate,
bool report_changes = VRPN_FALSE);
137 virtual VRPN_API ~vrpn_IMU_SimpleCombiner(
void);
142 double d_update_interval;
143 struct timeval d_prevtime;
144 bool d_report_changes;
150 double d_gravity_restore_rate;
151 double d_north_restore_rate;
153 struct timeval d_prev_update_time;
154 void update_matrix_based_on_values(
double time_interval);
157 int teardown_vector(
vrpn_IMU_Vector *vector, vrpn_ANALOGCHANGEHANDLER f);
159 static void VRPN_CALLBACK handle_analog_update(
void *userdata,
160 const vrpn_ANALOGCB info);
virtual void report_changes(vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY, const struct timeval time=vrpn_ANALOG_NOW)
Makes public the protected base class function
Generic connection class not specific to the transport mechanism.
定义 vrpn_Connection.h:562
Describes information describing an IMU axis. It describes the analog channel to use to drive the axi...
定义 vrpn_Tracker_IMU.h:24
double d_mins[3]
Minimum, maximum, and current values for each axis.
定义 vrpn_Tracker_IMU.h:98
vrpn_IMU_Vector d_vector
Axes to handle gathering and scaling the required data.
定义 vrpn_Tracker_IMU.h:95
virtual VRPN_API void mainloop()
Override base class function.
VRPN_API vrpn_IMU_Magnetometer(std::string const &name, vrpn_Connection *output_con, vrpn_IMU_Axis_Params params, float update_rate, bool report_changes=VRPN_FALSE)
Constructor
virtual VRPN_API void mainloop()
定义 vrpn_Tracker_IMU.h:107