12 #define XRT_TRACKING_NAME_LEN 256 44 XRT_TRACKING_TYPE_NONE,
47 XRT_TRACKING_TYPE_RGB,
56 char name[XRT_TRACKING_NAME_LEN];
120 timepoint_ns timestamp_ns,
134 timepoint_ns when_ns,
160 timepoint_ns timestamp_ns,
169 timepoint_ns when_ns,
189 timepoint_ns when_ns,
197 timepoint_ns timestamp_ns,
200 psmv->
push_imu(psmv, timestamp_ns, sample);
218 timepoint_ns when_ns,
226 timepoint_ns timestamp_ns,
229 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:175
A 3 element vector with single floats.
Definition: xrt_defines.h:131
A pose composed of a position and orientation.
Definition: xrt_defines.h:229
void(* destroy)(struct xrt_tracked_psmv *)
Destroy this tracked ball.
Definition: xrt_tracking.h:140
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:334
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:151
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:159
Common defines and enums for XRT.
void(* get_tracked_pose)(struct xrt_tracked_psvr *, struct time_state *timekeeper, 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:167
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
A 3 element colour with floating point channels.
Definition: xrt_defines.h:191
void(* get_tracked_pose)(struct xrt_tracked_psmv *, enum xrt_input_name name, struct time_state *timekeeper, 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
A tracked PSVR headset.
Definition: xrt_tracking.h:148
enum xrt_tracking_type type
What can the state tracker expect from this tracking system.
Definition: xrt_tracking.h:59
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
A single HMD or input device.
Definition: xrt_device.h:203
struct xrt_device * xdev
Device owning this ball.
Definition: xrt_tracking.h:154
xrt_input_name
Name of a input with a baked in type.
Definition: xrt_defines.h:417