Struct Quat
#[repr(C)]pub struct Quat<N> {
pub x: N,
pub y: N,
pub z: N,
pub w: N,
}Fields§
§x: N§y: N§z: N§w: NImplementations§
§impl<N> Quat<N>where
N: Number,
impl<N> Quat<N>where
N: Number,
pub const IDENTITY: Quat<N>
pub fn to_matrix(&self) -> Mat<3, N>
pub fn from_matrix(m: Mat<3, N>) -> Quat<N>
pub fn rotation_x(rad: f64) -> Quat<N>
pub fn rotation_y(rad: f64) -> Quat<N>
pub fn rotation_z(rad: f64) -> Quat<N>
pub fn rotation_axis_angle(axis: Vec3<N>, rad: f64) -> Quat<N>
pub fn look_rotation(forward: Vec3<N>, up: Vec3<N>) -> Quat<N>
pub fn from_euler_angles(angles: Vec3<f64>, order: RotationOrder3D) -> Quat<N>
pub fn to_euler_angles(&self, order: RotationOrder3D) -> Vec3<f64>
pub const fn new(x: N, y: N, z: N, w: N) -> Quat<N>
pub const fn splat(v: N) -> Quat<N>
pub const fn as_array(&self) -> &[N; 4]
pub fn as_array_mut(&mut self) -> &mut [N; 4]
pub const fn from_array_ref(a: &[N; 4]) -> &Quat<N>
pub fn from_array_mut(a: &mut [N; 4]) -> &mut Quat<N>
pub const fn into_array(self) -> [N; 4]
pub const fn from_array(a: [N; 4]) -> Quat<N>
pub fn normalized(&self) -> Quat<N>
Trait Implementations§
impl<T> AllBitVariationsValid for Quat<T>where
T: AllBitVariationsValid + Number,
impl<T> AllBitsInit for Quat<T>where
T: AllBitsInit + Number,
impl<N> Copy for Quat<N>where
N: Copy,
§impl<'de, N> Deserialize<'de> for Quat<N>where
N: Deserialize<'de>,
impl<'de, N> Deserialize<'de> for Quat<N>where
N: Deserialize<'de>,
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Quat<N>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Quat<N>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl<S, T> Serializable<S> for Quat<T>
impl<S, T> Serializable<S> for Quat<T>
fn serialize(&self, ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue
fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )
§impl<N> Serialize for Quat<N>where
N: Serialize,
impl<N> Serialize for Quat<N>where
N: Serialize,
§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<N> StructuralPartialEq for Quat<N>where
N: PartialEq,
Auto Trait Implementations§
impl<N> Forget for Quat<N>
impl<N> Freeze for Quat<N>where
N: Freeze,
impl<N> Move for Quat<N>
impl<N> RefUnwindSafe for Quat<N>where
N: RefUnwindSafe,
impl<N> Send for Quat<N>where
N: Send,
impl<N> Sync for Quat<N>where
N: Sync,
impl<N> Unpin for Quat<N>where
N: Unpin,
impl<N> UnsafeUnpin for Quat<N>where
N: UnsafeUnpin,
impl<N> UnwindSafe for Quat<N>where
N: 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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().