12 #define XRT_TRACKING_NAME_LEN 256 120 timepoint_ns timestamp_ns,
133 timepoint_ns when_ns,
159 timepoint_ns timestamp_ns,
167 timepoint_ns when_ns,
186 timepoint_ns when_ns,
194 timepoint_ns timestamp_ns,
197 psmv->
push_imu(psmv, timestamp_ns, sample);
214 timepoint_ns when_ns,
222 timepoint_ns timestamp_ns,
225 psvr->
push_imu(psvr, timestamp_ns, sample);
Tracking factory.
Definition: xrt_tracking.h:71
struct xrt_frame_context * xfctx
Internal frame context, exposed for debugging purposes.
Definition: xrt_tracking.h:74
A tracking system or device origin.
Definition: xrt_tracking.h:53
char name[XRT_TRACKING_NAME_LEN]
For debugging.
Definition: xrt_tracking.h:56
void(* destroy)(struct xrt_tracked_psvr *)
Destroy this tracked psvr.
Definition: xrt_tracking.h:173
A 3 element vector with single floats.
Definition: xrt_defines.h:133
A pose composed of a position and orientation.
Definition: xrt_defines.h:231
void(* destroy)(struct xrt_tracked_psmv *)
Destroy this tracked ball.
Definition: xrt_tracking.h:139
void(* get_tracked_pose)(struct xrt_tracked_psmv *, enum xrt_input_name name, timepoint_ns when_ns, struct xrt_space_relation *out_relation)
Called by the owning xrt_device xdev to get the pose of the ball in the tracking space at the given t...
Definition: xrt_tracking.h:131
struct xrt_tracking_origin * origin
The tracking system origin for this ball.
Definition: xrt_tracking.h:108
A relation with two spaces, includes velocity and acceleration.
Definition: xrt_defines.h:336
int64_t timepoint_ns
Definition: xrt_tracking.h:26
struct xrt_tracking_origin * origin
The tracking system origin for this ball.
Definition: xrt_tracking.h:150
void(* push_imu)(struct xrt_tracked_psvr *, timepoint_ns timestamp_ns, struct xrt_tracking_sample *sample)
Push a IMU sample into the tracking system.
Definition: xrt_tracking.h:158
Common defines and enums for XRT.
Time-keeping state structure.
Definition: u_time.cpp:46
xrt_tracking_type
What kind of tracking system is this.
Definition: xrt_tracking.h:41
struct xrt_device * xdev
Device owning this ball.
Definition: xrt_tracking.h:111
Object used to track all sinks and frame producers in a graph.
Definition: xrt_frame.h:87
void(* push_imu)(struct xrt_tracked_psmv *, timepoint_ns timestamp_ns, struct xrt_tracking_sample *sample)
Push a IMU sample into the tracking system.
Definition: xrt_tracking.h:119
struct vive_imu_sample sample[3]
Definition: vive_protocol.h:210
A 3 element colour with floating point channels.
Definition: xrt_defines.h:193
Definition: xrt_tracking.h:47
Definition: xrt_tracking.h:44
A tracked PSVR headset.
Definition: xrt_tracking.h:147
enum xrt_tracking_type type
What can the state tracker expect from this tracking system.
Definition: xrt_tracking.h:59
#define XRT_TRACKING_NAME_LEN
Definition: xrt_tracking.h:12
A single tracked PS Move controller, camera and ball are not synced.
Definition: xrt_tracking.h:105
IMU Sample.
Definition: xrt_tracking.h:94
struct xrt_pose offset
Read and written to by the state-tracker using the device(s) this tracking system is tracking...
Definition: xrt_tracking.h:65
void(* get_tracked_pose)(struct xrt_tracked_psvr *, timepoint_ns when_ns, struct xrt_space_relation *out_relation)
Called by the owning xrt_device xdev to get the pose of the psvr in the tracking space at the given t...
Definition: xrt_tracking.h:166
A single HMD or input device.
Definition: xrt_device.h:202
struct xrt_device * xdev
Device owning this ball.
Definition: xrt_tracking.h:153
xrt_input_name
Name of a input with a baked in type.
Definition: xrt_defines.h:421