33 vrpn_int32 req_position_m_id;
34 vrpn_int32 req_position_relative_m_id;
35 vrpn_int32 req_velocity_m_id;
36 vrpn_int32 req_velocity_relative_m_id;
39 vrpn_float64 p_pos[3], p_quat[4];
40 vrpn_float64 p_vel[3],
42 vrpn_float64 p_vel_quat_dt;
43 struct timeval p_timestamp;
47 vrpn_float64 p_pos_min[3], p_pos_max[3], p_pos_rot_min[3], p_pos_rot_max[3],
48 p_vel_min[3], p_vel_max[3], p_vel_rot_min[3], p_vel_rot_max[3];
52 virtual int encode_to(
char* buf);
53 virtual int encode_vel_to(
char* buf);
55 virtual void set_pose(
const struct timeval t,
56 const vrpn_float64 position[3],
57 const vrpn_float64 quaternion[4]);
58 virtual void set_pose_relative(
59 const struct timeval t,
62 const vrpn_float64 quaternion[4]);
64 set_pose_velocity(
const struct timeval t,
65 const vrpn_float64 position[3],
66 const vrpn_float64 quaternion[4],
67 const vrpn_float64 interval);
68 virtual void set_pose_velocity_relative(
69 const struct timeval t,
72 const vrpn_float64 quaternion[4],
109 int register_change_handler(
void* userdata, vrpn_POSERHANDLER handler)
111 return d_callback_list.register_handler(userdata, handler);
113 int unregister_change_handler(
void* userdata, vrpn_POSERHANDLER handler)
115 return d_callback_list.unregister_handler(userdata, handler);
118 int register_relative_change_handler(
void* userdata,
119 vrpn_POSERHANDLER handler)
121 return d_relative_callback_list.register_handler(userdata, handler);
123 int unregister_relative_change_handler(
void* userdata,
124 vrpn_POSERHANDLER handler)
126 return d_relative_callback_list.unregister_handler(userdata, handler);
130 static int VRPN_CALLBACK
132 static int VRPN_CALLBACK
134 static int VRPN_CALLBACK
136 static int VRPN_CALLBACK
164 int request_pose(
const struct timeval t,
const vrpn_float64 position[3],
165 const vrpn_float64 quaternion[4]);
166 int request_pose_relative(
const struct timeval t,
167 const vrpn_float64 position_delta[3],
168 const vrpn_float64 quaternion[4]);
169 int request_pose_velocity(
const struct timeval t,
170 const vrpn_float64 velocity[3],
171 const vrpn_float64 quaternion[4],
172 const vrpn_float64 interval);
173 int request_pose_velocity_relative(
const struct timeval t,
174 const vrpn_float64 velocity_delta[3],
175 const vrpn_float64 quaternion[4],
176 const vrpn_float64 interval_delta);
181 virtual int client_send_pose_relative();
183 virtual int client_send_pose_velocity();
186 client_send_pose_velocity_relative();