#[repr(C)]pub struct QtmTrackingData {Show 13 fields
pub eyesTracked: bool,
pub faceDetected: bool,
pub eyesDetected: bool,
pub _unused: u8_,
pub clamped: bool,
pub _padding: [u8_; 3],
pub confidenceLevel: f32,
pub eyeCameraCoordinates: [[f32; 2]; 2],
pub eyeWorldCoordinates: [[f32; 2]; 2],
pub dPitch: f32,
pub dYaw: f32,
pub dRoll: f32,
pub samplingTick: s64,
}Expand description
QTM processed eye tracking data, suitable for 3D programming
Fields§
§eyesTracked: bool< Eye position detected or tracked with some confidence, equals (confidenceLevel > 0). Even if false, QTM may make a guess
faceDetected: bool< Whether or not the entirety of the user’s face has been detected with good confidence.
eyesDetected: bool< Whether or not the user’s eyes have actually been detected with full confidence.
_unused: u8_< Unused.
clamped: bool< Whether or not the normalized eye coordinates have been clamped after accounting for lens distortion.
_padding: [u8_; 3]< Padding.
confidenceLevel: f32< Eye tracking confidence level (0 to 1).
eyeCameraCoordinates: [[f32; 2]; 2]Normalized eye coordinates, for each eye, after accounting for lens distortion, centered around camera. X coord is in the -1 to 1 range, and Y coord range depends on inverse aspect ratio (-0.75 to 0.75 on real hardware).
Note: On real hardware, X coord equals
((rawX / 160.0) - 1.00) * 1.0639before clamping. Note: On real hardware, Y coord equals((rawY / 160.0) - 0.75) * 1.0637before clamping.
eyeWorldCoordinates: [[f32; 2]; 2]Normalized eye coordinates, for each eye, in world space. Corresponds to eyeCameraCoordinates multiplied by tangent of field of view.
Note: On real hardware, X coord equals
eyeCameraCoordinates.x * tan(64.9 deg / 2). Note: On real hardware, Y coord equalseyeCameraCoordinates.x * tan(51.0 deg / 2).
dPitch: f32< Difference in gyro pitch from position at console boot.
dYaw: f32< Difference in gyro yaw from position at console boot.
dRoll: f32< Difference in gyro roll from position at console boot.
samplingTick: s64< Time point the current measurements were made.
Trait Implementations§
Source§impl Clone for QtmTrackingData
impl Clone for QtmTrackingData
Source§fn clone(&self) -> QtmTrackingData
fn clone(&self) -> QtmTrackingData
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for QtmTrackingData
impl Debug for QtmTrackingData
Source§impl Default for QtmTrackingData
impl Default for QtmTrackingData
Source§fn default() -> QtmTrackingData
fn default() -> QtmTrackingData
impl Copy for QtmTrackingData
Auto Trait Implementations§
impl Freeze for QtmTrackingData
impl RefUnwindSafe for QtmTrackingData
impl Send for QtmTrackingData
impl Sync for QtmTrackingData
impl Unpin for QtmTrackingData
impl UnwindSafe for QtmTrackingData
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)