Monado OpenXR Runtime
rift_s_tracker Struct Reference
Collaboration diagram for rift_s_tracker:

Data Fields

struct xrt_device base
 
struct os_mutex mutex
 Protects shared access to 3dof and pose storage. More...
 
bool ready_for_data
 Don't process IMU / video until started. More...
 
struct {
   struct m_imu_3dof   i3dof
 Main fusion calculator. More...
 
   struct xrt_vec3   last_angular_velocity
 The last angular velocity from the IMU, for prediction. More...
 
   uint64_t   last_imu_timestamp_ns
 When did we get the last IMU sample, device clock. More...
 
   timepoint_ns   last_imu_local_timestamp_ns
 Last IMU sample local system clock. More...
 
fusion
 
struct {
   struct xrt_tracked_slam *   slam
 SLAM tracker. More...
 
   bool   slam_enabled
 Set at start. Whether the SLAM tracker was initialized. More...
 
   bool   hand_enabled
 Set at start. Whether the hand tracker was initialized. More...
 
tracking
 Fields related to camera-based tracking (SLAM and hand tracking) More...
 
struct xrt_pose device_from_imu
 
struct xrt_pose left_cam_from_imu
 Estimated offset from HMD device timestamp to local monotonic clock. More...
 
uint64_t seen_clock_observations
 
bool have_hw2mono
 
time_duration_ns hw2mono
 
timepoint_ns last_frame_time
 
int64_t camera_ts_offset
 Adjustment to apply to camera timestamps to bring them into the. More...
 
bool slam_over_3dof
 Whether to track the HMD with 6dof SLAM or fallback to the fusion 3dof tracker. More...
 
struct xrt_pose pose
 Last tracked pose. More...
 
struct t_stereo_camera_calibrationstereo_calib
 
struct t_slam_calibration slam_calib
 
struct xrt_slam_sinks in_slam_sinks
 
struct xrt_slam_sinks slam_sinks
 
struct xrt_devicehandtracker
 
struct {
   struct u_var_button   hmd_screen_enable_btn
 
   struct u_var_button   switch_tracker_btn
 
   char   hand_status [128]
 
   char   slam_status [128]
 
gui
 

Field Documentation

◆ camera_ts_offset

int64_t rift_s_tracker::camera_ts_offset

Adjustment to apply to camera timestamps to bring them into the.

◆ hand_enabled

bool rift_s_tracker::hand_enabled

Set at start. Whether the hand tracker was initialized.

◆ i3dof

struct m_imu_3dof rift_s_tracker::i3dof

Main fusion calculator.

◆ last_angular_velocity

struct xrt_vec3 rift_s_tracker::last_angular_velocity

The last angular velocity from the IMU, for prediction.

◆ last_imu_local_timestamp_ns

timepoint_ns rift_s_tracker::last_imu_local_timestamp_ns

Last IMU sample local system clock.

◆ last_imu_timestamp_ns

uint64_t rift_s_tracker::last_imu_timestamp_ns

When did we get the last IMU sample, device clock.

◆ left_cam_from_imu

struct xrt_pose rift_s_tracker::left_cam_from_imu

Estimated offset from HMD device timestamp to local monotonic clock.

◆ mutex

struct os_mutex rift_s_tracker::mutex

Protects shared access to 3dof and pose storage.

◆ pose

struct xrt_pose rift_s_tracker::pose

Last tracked pose.

◆ ready_for_data

bool rift_s_tracker::ready_for_data

Don't process IMU / video until started.

◆ slam

struct xrt_tracked_slam* rift_s_tracker::slam

SLAM tracker.

Todo:
Right now, we are not consistent in how we interface with trackers. In particular, we have a xrt_tracked_slam field but not an equivalent for hand tracking.

◆ slam_enabled

bool rift_s_tracker::slam_enabled

Set at start. Whether the SLAM tracker was initialized.

◆ slam_over_3dof

bool rift_s_tracker::slam_over_3dof

Whether to track the HMD with 6dof SLAM or fallback to the fusion 3dof tracker.

◆ 

struct { ... } rift_s_tracker::tracking

Fields related to camera-based tracking (SLAM and hand tracking)


The documentation for this struct was generated from the following file: