27 for (
size_t i = 0; i < 3; i++) {
45 time.tv_sec = 0;
time.tv_usec = 0; };
135 float update_rate,
bool report_changes = VRPN_FALSE);
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.
vrpn_Analog_Server(const char *name, vrpn_Connection *c, vrpn_int32 numChannels=vrpn_CHANNEL_MAX)
Generic connection class not specific to the transport mechanism.
This file contains classes useful in producing tracker reports from inertial-navitation units (IMUs)....
VRPN_API vrpn_IMU_Axis_Params(void)
double d_mins[3]
Minimum, maximum, and current values for each axis.
virtual VRPN_API ~vrpn_IMU_Magnetometer()
int setup_vector(vrpn_IMU_Vector *vector)
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()
Override base class function.
int teardown_vector(vrpn_IMU_Vector *vector)
vrpn_IMU_Vector d_vector
Axes to handle gathering and scaling the required data.
static void VRPN_CALLBACK handle_analog_update(void *userdata, const vrpn_ANALOGCB info)
struct timeval d_prevtime
void update_matrix_based_on_values(double time_interval)
int setup_vector(vrpn_IMU_Vector *vector, vrpn_ANALOGCHANGEHANDLER f)
vrpn_IMU_Vector d_magnetometer
vrpn_IMU_Vector d_rotational_vel
virtual VRPN_API void mainloop()
Called once through each main loop iteration to handle updates. Remote object mainloop() should call ...
double d_gravity_restore_rate
double d_north_restore_rate
int teardown_vector(vrpn_IMU_Vector *vector, vrpn_ANALOGCHANGEHANDLER f)
VRPN_API vrpn_IMU_SimpleCombiner(const char *name, vrpn_Connection *trackercon, vrpn_Tracker_IMU_Params *params, float update_rate, bool report_changes=VRPN_FALSE)
virtual VRPN_API ~vrpn_IMU_SimpleCombiner(void)
vrpn_IMU_Vector d_acceleration
static void VRPN_CALLBACK handle_analog_update(void *userdata, const vrpn_ANALOGCB info)
struct timeval d_prev_update_time
struct timeval d_prevtime
vrpn_IMU_Axis_Params params
VRPN_API vrpn_IMU_Vector(void)
vrpn_IMU_Axis_Params d_rotational_vel
VRPN_API vrpn_Tracker_IMU_Params(void)
std::string d_magnetometer_name
vrpn_IMU_Axis_Params d_acceleration
vrpn_Tracker(const char *name, vrpn_Connection *c=NULL, const char *tracker_cfg_file_name=NULL)
void(VRPN_CALLBACK * vrpn_ANALOGCHANGEHANDLER)(void *userdata, const vrpn_ANALOGCB info)