#[repr(C)]pub struct EulerAngles<T, B> {
pub a: T,
pub b: T,
pub c: T,
pub marker: PhantomData<B>,
}
Expand description
Abstract set of Euler angles in 3D space. The basis of angles
is defined by the generic parameter B
.
Note: there are multiple notations of Euler angles. They are split in two groups:
- intrinsic (also known as “Tait-Bryan angles”): rotate around local axis
- extrinsic (also known as “Proper Euler angles”): rotate around world axis For each interpretation, different axis may be chosen in different order.
Fields§
§a: T
First angle of rotation in range [-pi, pi] (pitch).
b: T
Second angle of rotation around in range [-pi/2, pi/2] (yaw).
c: T
Third angle of rotation in range [-pi, pi] (roll).
marker: PhantomData<B>
Marker for the phantom basis.
Trait Implementations§
Source§impl<T: Clone, B: Clone> Clone for EulerAngles<T, B>
impl<T: Clone, B: Clone> Clone for EulerAngles<T, B>
Source§fn clone(&self) -> EulerAngles<T, B>
fn clone(&self) -> EulerAngles<T, B>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<T, B> From<[T; 3]> for EulerAngles<T, B>
impl<T, B> From<[T; 3]> for EulerAngles<T, B>
Source§impl<T, B> From<EulerAngles<T, B>> for [T; 3]
impl<T, B> From<EulerAngles<T, B>> for [T; 3]
Source§fn from(euler: EulerAngles<T, B>) -> [T; 3]
fn from(euler: EulerAngles<T, B>) -> [T; 3]
Converts to this type from the input type.
Source§impl<T> From<EulerAngles<T, ExtraXYZ>> for EulerAngles<T, IntraZYX>
impl<T> From<EulerAngles<T, ExtraXYZ>> for EulerAngles<T, IntraZYX>
Source§fn from(other: EulerAngles<T, ExtraXYZ>) -> Self
fn from(other: EulerAngles<T, ExtraXYZ>) -> Self
Converts to this type from the input type.
Source§impl<T> From<EulerAngles<T, ExtraZXZ>> for EulerAngles<T, IntraZXZ>
impl<T> From<EulerAngles<T, ExtraZXZ>> for EulerAngles<T, IntraZXZ>
Source§fn from(other: EulerAngles<T, ExtraZXZ>) -> Self
fn from(other: EulerAngles<T, ExtraZXZ>) -> Self
Converts to this type from the input type.
Source§impl<T> From<EulerAngles<T, ExtraZYX>> for EulerAngles<T, IntraXYZ>
impl<T> From<EulerAngles<T, ExtraZYX>> for EulerAngles<T, IntraXYZ>
Source§fn from(other: EulerAngles<T, ExtraZYX>) -> Self
fn from(other: EulerAngles<T, ExtraZYX>) -> Self
Converts to this type from the input type.
Source§impl<T> From<EulerAngles<T, IntraXYZ>> for EulerAngles<T, ExtraZYX>
impl<T> From<EulerAngles<T, IntraXYZ>> for EulerAngles<T, ExtraZYX>
Source§fn from(other: EulerAngles<T, IntraXYZ>) -> Self
fn from(other: EulerAngles<T, IntraXYZ>) -> Self
Converts to this type from the input type.
Source§impl<T> From<EulerAngles<T, IntraZXZ>> for EulerAngles<T, ExtraZXZ>
impl<T> From<EulerAngles<T, IntraZXZ>> for EulerAngles<T, ExtraZXZ>
Source§fn from(other: EulerAngles<T, IntraZXZ>) -> Self
fn from(other: EulerAngles<T, IntraZXZ>) -> Self
Converts to this type from the input type.
Source§impl<T> From<EulerAngles<T, IntraZYX>> for EulerAngles<T, ExtraXYZ>
impl<T> From<EulerAngles<T, IntraZYX>> for EulerAngles<T, ExtraXYZ>
Source§fn from(other: EulerAngles<T, IntraZYX>) -> Self
fn from(other: EulerAngles<T, IntraZYX>) -> Self
Converts to this type from the input type.
Source§impl<T: Ord, B: Ord> Ord for EulerAngles<T, B>
impl<T: Ord, B: Ord> Ord for EulerAngles<T, B>
Source§fn cmp(&self, other: &EulerAngles<T, B>) -> Ordering
fn cmp(&self, other: &EulerAngles<T, B>) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl<T: PartialOrd, B: PartialOrd> PartialOrd for EulerAngles<T, B>
impl<T: PartialOrd, B: PartialOrd> PartialOrd for EulerAngles<T, B>
impl<T: Copy, B: Copy> Copy for EulerAngles<T, B>
impl<T: Eq, B: Eq> Eq for EulerAngles<T, B>
impl<T, B> StructuralPartialEq for EulerAngles<T, B>
Auto Trait Implementations§
impl<T, B> Freeze for EulerAngles<T, B>where
T: Freeze,
impl<T, B> RefUnwindSafe for EulerAngles<T, B>where
T: RefUnwindSafe,
B: RefUnwindSafe,
impl<T, B> Send for EulerAngles<T, B>
impl<T, B> Sync for EulerAngles<T, B>
impl<T, B> Unpin for EulerAngles<T, B>
impl<T, B> UnwindSafe for EulerAngles<T, B>where
T: UnwindSafe,
B: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more