1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
// The VRPose struct represents a sensor’s state at a given timestamp. #[derive(Debug, Clone, Copy, Default)] #[cfg_attr(feature = "serde-serialization", derive(Deserialize, Serialize))] pub struct VRPose { // Position of the VRDisplay as a 3D vector. // May be None if the sensor is incapable of providing positional data. pub position: Option<[f32; 3]>, // Linear velocity of the sensor given in meters per second. // May be None if the sensor is incapable of providing linear velocity data. pub linear_velocity: Option<[f32; 3]>, // Linear acceleration of the sensor given in meters per second squared. // May be None if the sensor is incapable of providing linear acceleration data. pub linear_acceleration: Option<[f32; 3]>, // Orientation of the sensor as a quaternion. // May be None if the sensor is incapable of providing orientation. pub orientation: Option<[f32; 4]>, // Angular velocity of the sensor given in radians per second. // May be None if the sensor is incapable of providing angular velocity data. pub angular_velocity: Option<[f32; 3]>, // Linear acceleration of the sensor given in radians per second squared. // May be None if the sensor is incapable of providing angular acceleration data. pub angular_acceleration: Option<[f32; 3]>, }