pub struct MotionFrame<Kind> { /* private fields */ }
Expand description
Holds the raw data pointer and derived data from an RS2 Motion Frame.
All fields in this struct are initialized during struct creation (via try_from
).
Everything called from here during runtime should be valid as long as the
Frame is in scope… like normal Rust.
Implementations§
Source§impl MotionFrame<Accel>
impl MotionFrame<Accel>
Sourcepub fn acceleration(&self) -> &[f32; 3]
pub fn acceleration(&self) -> &[f32; 3]
Returns a 3-item array representing the sensor motion recorded in the Accel frame.
Accelerations are reported as [x, y, z] values, and are in units of m/s^2
This function will return different data conventions entirely depending on the device used to create the measurement.
§Intel RealSense D435i
motion[0]
: Positive x-axis points to the right.motion[1]
: Positive y-axis points down.motion[2]
: Positive z-axis points forward.
§Intel RealSense T265
motion[0]
: Positive X direction is towards right imager.motion[1]
: Positive Y direction is upwards toward the top of the device.motion[2]
: Positive Z direction is inwards toward the back of the device.
Read more about the coordinate frames of RealSense motion in the RealSense docs
Source§impl MotionFrame<Gyro>
impl MotionFrame<Gyro>
Sourcepub fn rotational_velocity(&self) -> &[f32; 3]
pub fn rotational_velocity(&self) -> &[f32; 3]
Returns a 3-item array representing the sensor motion recorded in the Gyro frame.
Gyroscope measurements are reported as [x, y, z] values, and are in units of radians/s
This function will return different data conventions entirely depending on the device used to create the measurement.
§Intel RealSense D435i
motion[0]
: Positive x-axis points to the right.motion[1]
: Positive y-axis points down.motion[2]
: Positive z-axis points forward.
§Intel RealSense T265
motion[0]
: Positive X direction is towards right imager.motion[1]
: Positive Y direction is upwards toward the top of the device.motion[2]
: Positive Z direction is inwards toward the back of the device.
Read more about the coordinate frames of RealSense motion in the RealSense docs
Trait Implementations§
Source§impl<Kind: Debug> Debug for MotionFrame<Kind>
impl<Kind: Debug> Debug for MotionFrame<Kind>
Source§impl<K> Drop for MotionFrame<K>
impl<K> Drop for MotionFrame<K>
Source§impl<K> FrameEx for MotionFrame<K>
impl<K> FrameEx for MotionFrame<K>
Source§fn stream_profile(&self) -> &StreamProfile
fn stream_profile(&self) -> &StreamProfile
Source§fn timestamp_domain(&self) -> Rs2TimestampDomain
fn timestamp_domain(&self) -> Rs2TimestampDomain
Source§fn frame_number(&self) -> u64
fn frame_number(&self) -> u64
Source§fn metadata(&self, metadata_kind: Rs2FrameMetadata) -> Option<c_longlong>
fn metadata(&self, metadata_kind: Rs2FrameMetadata) -> Option<c_longlong>
Source§fn supports_metadata(&self, metadata_kind: Rs2FrameMetadata) -> bool
fn supports_metadata(&self, metadata_kind: Rs2FrameMetadata) -> bool
Source§impl<K> TryFrom<NonNull<rs2_frame>> for MotionFrame<K>
impl<K> TryFrom<NonNull<rs2_frame>> for MotionFrame<K>
Source§fn try_from(frame_ptr: NonNull<rs2_frame>) -> Result<Self, Self::Error>
fn try_from(frame_ptr: NonNull<rs2_frame>) -> Result<Self, Self::Error>
Attempt to create an Image frame of extension K from the raw rs2_frame
. All
members of the ImageFrame struct are validated and populated during this call.
§Errors
There are a number of errors that may occur if the data in the rs2_frame
is not
valid, all of type FrameConstructionError.
- CouldNotGetTimestamp
- CouldNotGetTimestampDomain
- CouldNotGetFrameStreamProfile
- CouldNotGetDataSize
- CouldNotGetData
See FrameConstructionError documentation for more details.