#[repr(C)]pub struct Vec4<F> {
pub x: F,
pub y: F,
pub z: F,
pub w: F,
}
Expand description
A 4-element vector
Fields§
§x: F
§y: F
§z: F
§w: F
Implementations§
Source§impl<F: FullFloat> Vec4<F>
impl<F: FullFloat> Vec4<F>
pub fn truncate_x(&self) -> Vec3<F>
pub fn truncate_y(&self) -> Vec3<F>
pub fn truncate_z(&self) -> Vec3<F>
pub fn truncate_w(&self) -> Vec3<F>
Trait Implementations§
Source§impl<F: FullFloat> AddAssign for Vec4<F>
impl<F: FullFloat> AddAssign for Vec4<F>
Source§fn add_assign(&mut self, other: Vec4<F>)
fn add_assign(&mut self, other: Vec4<F>)
Performs the
+=
operation. Read moreSource§impl<F: FullFloat> ApproxEq for Vec4<F>
impl<F: FullFloat> ApproxEq for Vec4<F>
type Flt = F
Source§fn approx_eq(
&self,
other: &Self,
epsilon: <F as ApproxEq>::Flt,
ulps: <<F as ApproxEq>::Flt as Ulps>::U,
) -> bool
fn approx_eq( &self, other: &Self, epsilon: <F as ApproxEq>::Flt, ulps: <<F as ApproxEq>::Flt as Ulps>::U, ) -> bool
This method tests for
self
and other
values to be approximately equal
using two methods: epsilon and ulps. If the values differ by less than the
given epsilon, they will be considered equal. If the values differ by more
than epsilon, but by less than the given ulps, they will also be considered
equal. Otherwise they are unequal. Read moreSource§fn approx_ne(
&self,
other: &Self,
epsilon: Self::Flt,
ulps: <Self::Flt as Ulps>::U,
) -> bool
fn approx_ne( &self, other: &Self, epsilon: Self::Flt, ulps: <Self::Flt as Ulps>::U, ) -> bool
This method tests for
self
and other
values to be not approximately equal
using two methods: epsilon and ulps. If the values differ by less than the
given epsilon, they will be considered equal. If the values differ by more
than epsilon, but by less than the given ulps, they will also be considered
equal. Otherwise they are unequal. Read moreSource§impl<'de, F> Deserialize<'de> for Vec4<F>where
F: Deserialize<'de>,
impl<'de, F> Deserialize<'de> for Vec4<F>where
F: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<F: FullFloat> DivAssign<F> for Vec4<F>
impl<F: FullFloat> DivAssign<F> for Vec4<F>
Source§fn div_assign(&mut self, rhs: F)
fn div_assign(&mut self, rhs: F)
Performs the
/=
operation. Read moreSource§impl<F: FullFloat> From<Direction3<F>> for Vec4<F>
impl<F: FullFloat> From<Direction3<F>> for Vec4<F>
Source§fn from(v: Direction3<F>) -> Vec4<F>
fn from(v: Direction3<F>) -> Vec4<F>
Converts to this type from the input type.
Source§impl<F: FullFloat> MulAssign<F> for Vec4<F>
impl<F: FullFloat> MulAssign<F> for Vec4<F>
Source§fn mul_assign(&mut self, rhs: F)
fn mul_assign(&mut self, rhs: F)
Performs the
*=
operation. Read moreSource§impl<F: FullFloat> SubAssign for Vec4<F>
impl<F: FullFloat> SubAssign for Vec4<F>
Source§fn sub_assign(&mut self, other: Vec4<F>)
fn sub_assign(&mut self, other: Vec4<F>)
Performs the
-=
operation. Read moreimpl<F: Copy> Copy for Vec4<F>
impl<F: Eq> Eq for Vec4<F>
impl<F> StructuralPartialEq for Vec4<F>
Auto Trait Implementations§
impl<F> Freeze for Vec4<F>where
F: Freeze,
impl<F> RefUnwindSafe for Vec4<F>where
F: RefUnwindSafe,
impl<F> Send for Vec4<F>where
F: Send,
impl<F> Sync for Vec4<F>where
F: Sync,
impl<F> Unpin for Vec4<F>where
F: Unpin,
impl<F> UnwindSafe for Vec4<F>where
F: 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