#[repr(C)]pub struct Vec3<F> {
pub x: F,
pub y: F,
pub z: F,
}
Expand description
A 3-element vector
Fields§
§x: F
§y: F
§z: F
Implementations§
Source§impl<F: FullFloat> Vec3<F>
impl<F: FullFloat> Vec3<F>
pub fn truncate_x(&self) -> Vec2<F>
pub fn truncate_y(&self) -> Vec2<F>
pub fn truncate_z(&self) -> Vec2<F>
Trait Implementations§
Source§impl<F: FullFloat> AddAssign for Vec3<F>
impl<F: FullFloat> AddAssign for Vec3<F>
Source§fn add_assign(&mut self, other: Vec3<F>)
fn add_assign(&mut self, other: Vec3<F>)
Performs the
+=
operation. Read moreSource§impl<F: FullFloat> ApproxEq for Vec3<F>
impl<F: FullFloat> ApproxEq for Vec3<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 Vec3<F>where
F: Deserialize<'de>,
impl<'de, F> Deserialize<'de> for Vec3<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 Vec3<F>
impl<F: FullFloat> DivAssign<F> for Vec3<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 Vec3<F>
impl<F: FullFloat> From<Direction3<F>> for Vec3<F>
Source§fn from(v: Direction3<F>) -> Vec3<F>
fn from(v: Direction3<F>) -> Vec3<F>
Converts to this type from the input type.
Source§impl<F: FullFloat> From<Vec3<F>> for Direction3<F>
impl<F: FullFloat> From<Vec3<F>> for Direction3<F>
Source§fn from(v: Vec3<F>) -> Direction3<F>
fn from(v: Vec3<F>) -> Direction3<F>
Converts to this type from the input type.
Source§impl<F: FullFloat> MulAssign<F> for Vec3<F>
impl<F: FullFloat> MulAssign<F> for Vec3<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 Vec3<F>
impl<F: FullFloat> SubAssign for Vec3<F>
Source§fn sub_assign(&mut self, other: Vec3<F>)
fn sub_assign(&mut self, other: Vec3<F>)
Performs the
-=
operation. Read moreimpl<F: Copy> Copy for Vec3<F>
impl<F: Eq> Eq for Vec3<F>
impl<F> StructuralPartialEq for Vec3<F>
Auto Trait Implementations§
impl<F> Freeze for Vec3<F>where
F: Freeze,
impl<F> RefUnwindSafe for Vec3<F>where
F: RefUnwindSafe,
impl<F> Send for Vec3<F>where
F: Send,
impl<F> Sync for Vec3<F>where
F: Sync,
impl<F> Unpin for Vec3<F>where
F: Unpin,
impl<F> UnwindSafe for Vec3<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