Struct qilin::EulerAngles
source · #[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, B> Clone for EulerAngles<T, B>where
T: Clone,
B: Clone,
impl<T, B> Clone for EulerAngles<T, B>where T: Clone, B: Clone,
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<'de, T, B> Deserialize<'de> for EulerAngles<T, B>where
T: Deserialize<'de>,
impl<'de, T, B> Deserialize<'de> for EulerAngles<T, B>where T: Deserialize<'de>,
source§fn deserialize<S>(
deserializer: S
) -> Result<EulerAngles<T, B>, <S as Deserializer<'de>>::Error>where
S: Deserializer<'de>,
fn deserialize<S>( deserializer: S ) -> Result<EulerAngles<T, B>, <S as Deserializer<'de>>::Error>where S: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<T, B> From<[T; 3]> for EulerAngles<T, B>
impl<T, B> From<[T; 3]> for EulerAngles<T, B>
source§fn from(_: [T; 3]) -> EulerAngles<T, B>
fn from(_: [T; 3]) -> EulerAngles<T, B>
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>) -> EulerAngles<T, IntraZYX>
fn from(other: EulerAngles<T, ExtraXYZ>) -> EulerAngles<T, IntraZYX>
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>) -> EulerAngles<T, IntraZXZ>
fn from(other: EulerAngles<T, ExtraZXZ>) -> EulerAngles<T, IntraZXZ>
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>) -> EulerAngles<T, IntraXYZ>
fn from(other: EulerAngles<T, ExtraZYX>) -> EulerAngles<T, IntraXYZ>
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>) -> EulerAngles<T, ExtraZYX>
fn from(other: EulerAngles<T, IntraXYZ>) -> EulerAngles<T, ExtraZYX>
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>) -> EulerAngles<T, ExtraZXZ>
fn from(other: EulerAngles<T, IntraZXZ>) -> EulerAngles<T, ExtraZXZ>
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>) -> EulerAngles<T, ExtraXYZ>
fn from(other: EulerAngles<T, IntraZYX>) -> EulerAngles<T, ExtraXYZ>
Converts to this type from the input type.
source§impl<T, B> Ord for EulerAngles<T, B>where
T: Ord,
B: Ord,
impl<T, B> Ord for EulerAngles<T, B>where T: Ord, B: Ord,
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, B> PartialEq<EulerAngles<T, B>> for EulerAngles<T, B>where
T: PartialEq<T>,
B: PartialEq<B>,
impl<T, B> PartialEq<EulerAngles<T, B>> for EulerAngles<T, B>where T: PartialEq<T>, B: PartialEq<B>,
source§fn eq(&self, other: &EulerAngles<T, B>) -> bool
fn eq(&self, other: &EulerAngles<T, B>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<T, B> PartialOrd<EulerAngles<T, B>> for EulerAngles<T, B>where
T: PartialOrd<T>,
B: PartialOrd<B>,
impl<T, B> PartialOrd<EulerAngles<T, B>> for EulerAngles<T, B>where T: PartialOrd<T>, B: PartialOrd<B>,
source§fn partial_cmp(&self, other: &EulerAngles<T, B>) -> Option<Ordering>
fn partial_cmp(&self, other: &EulerAngles<T, B>) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl<T, B> Serialize for EulerAngles<T, B>where
T: Serialize,
impl<T, B> Serialize for EulerAngles<T, B>where T: Serialize,
source§fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl<T, B> Copy for EulerAngles<T, B>where T: Copy, B: Copy,
impl<T, B> Eq for EulerAngles<T, B>where T: Eq, B: Eq,
impl<T, B> StructuralEq for EulerAngles<T, B>
impl<T, B> StructuralPartialEq for EulerAngles<T, B>
Auto Trait Implementations§
impl<T, B> RefUnwindSafe for EulerAngles<T, B>where B: RefUnwindSafe, T: RefUnwindSafe,
impl<T, B> Send for EulerAngles<T, B>where B: Send, T: Send,
impl<T, B> Sync for EulerAngles<T, B>where B: Sync, T: Sync,
impl<T, B> Unpin for EulerAngles<T, B>where B: Unpin, T: Unpin,
impl<T, B> UnwindSafe for EulerAngles<T, B>where B: UnwindSafe, T: 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