Expand description
A 3-dimensional vector.
Fields
x: u32y: u32z: u32Implementations
sourceimpl UVec3
impl UVec3
sourcepub const X: UVec3 = Self::new(1, 0, 0)
pub const X: UVec3 = Self::new(1, 0, 0)
A unit-length vector pointing along the positive X axis.
sourcepub const Y: UVec3 = Self::new(0, 1, 0)
pub const Y: UVec3 = Self::new(0, 1, 0)
A unit-length vector pointing along the positive Y axis.
sourcepub const Z: UVec3 = Self::new(0, 0, 1)
pub const Z: UVec3 = Self::new(0, 0, 1)
A unit-length vector pointing along the positive Z axis.
sourcepub fn select(mask: BVec3, if_true: UVec3, if_false: UVec3) -> UVec3
pub fn select(mask: BVec3, if_true: UVec3, if_false: UVec3) -> UVec3
Creates a vector from the elements in if_true and if_false, selecting which to use
for each element of self.
A true element in the mask uses the corresponding element from if_true, and false
uses the element from if_false.
sourcepub const fn from_array(a: [u32; 3]) -> UVec3
pub const fn from_array(a: [u32; 3]) -> UVec3
Creates a new vector from an array.
sourcepub const fn from_slice(slice: &[u32]) -> UVec3
pub const fn from_slice(slice: &[u32]) -> UVec3
Creates a vector from the first 3 values in slice.
Panics
Panics if slice is less than 3 elements long.
sourcepub fn write_to_slice(self, slice: &mut [u32])
pub fn write_to_slice(self, slice: &mut [u32])
Writes the elements of self to the first 3 elements in slice.
Panics
Panics if slice is less than 3 elements long.
sourcepub fn truncate(self) -> UVec2
pub fn truncate(self) -> UVec2
Creates a 2D vector from the x and y elements of self, discarding z.
Truncation may also be performed by using self.xy() or UVec2::from().
sourcepub fn min(self, rhs: UVec3) -> UVec3
pub fn min(self, rhs: UVec3) -> UVec3
Returns a vector containing the minimum values for each element of self and rhs.
In other words this computes [self.x.min(rhs.x), self.y.min(rhs.y), ..].
sourcepub fn max(self, rhs: UVec3) -> UVec3
pub fn max(self, rhs: UVec3) -> UVec3
Returns a vector containing the maximum values for each element of self and rhs.
In other words this computes [self.x.max(rhs.x), self.y.max(rhs.y), ..].
sourcepub fn clamp(self, min: UVec3, max: UVec3) -> UVec3
pub fn clamp(self, min: UVec3, max: UVec3) -> UVec3
Component-wise clamping of values, similar to u32::clamp.
Each element in min must be less-or-equal to the corresponding element in max.
Panics
Will panic if min is greater than max when glam_assert is enabled.
sourcepub fn min_element(self) -> u32
pub fn min_element(self) -> u32
Returns the horizontal minimum of self.
In other words this computes min(x, y, ..).
sourcepub fn max_element(self) -> u32
pub fn max_element(self) -> u32
Returns the horizontal maximum of self.
In other words this computes max(x, y, ..).
sourcepub fn cmpeq(self, rhs: UVec3) -> BVec3
pub fn cmpeq(self, rhs: UVec3) -> BVec3
Returns a vector mask containing the result of a == comparison for each element of
self and rhs.
In other words, this computes [self.x == rhs.x, self.y == rhs.y, ..] for all
elements.
sourcepub fn cmpne(self, rhs: UVec3) -> BVec3
pub fn cmpne(self, rhs: UVec3) -> BVec3
Returns a vector mask containing the result of a != comparison for each element of
self and rhs.
In other words this computes [self.x != rhs.x, self.y != rhs.y, ..] for all
elements.
sourcepub fn cmpge(self, rhs: UVec3) -> BVec3
pub fn cmpge(self, rhs: UVec3) -> BVec3
Returns a vector mask containing the result of a >= comparison for each element of
self and rhs.
In other words this computes [self.x >= rhs.x, self.y >= rhs.y, ..] for all
elements.
sourcepub fn cmpgt(self, rhs: UVec3) -> BVec3
pub fn cmpgt(self, rhs: UVec3) -> BVec3
Returns a vector mask containing the result of a > comparison for each element of
self and rhs.
In other words this computes [self.x > rhs.x, self.y > rhs.y, ..] for all
elements.
sourcepub fn cmple(self, rhs: UVec3) -> BVec3
pub fn cmple(self, rhs: UVec3) -> BVec3
Returns a vector mask containing the result of a <= comparison for each element of
self and rhs.
In other words this computes [self.x <= rhs.x, self.y <= rhs.y, ..] for all
elements.
Trait Implementations
sourceimpl AddAssign<UVec3> for UVec3
impl AddAssign<UVec3> for UVec3
sourcefn add_assign(&mut self, rhs: UVec3)
fn add_assign(&mut self, rhs: UVec3)
+= operation. Read moresourceimpl AddAssign<u32> for UVec3
impl AddAssign<u32> for UVec3
sourcefn add_assign(&mut self, rhs: u32)
fn add_assign(&mut self, rhs: u32)
+= operation. Read moresourceimpl DivAssign<UVec3> for UVec3
impl DivAssign<UVec3> for UVec3
sourcefn div_assign(&mut self, rhs: UVec3)
fn div_assign(&mut self, rhs: UVec3)
/= operation. Read moresourceimpl DivAssign<u32> for UVec3
impl DivAssign<u32> for UVec3
sourcefn div_assign(&mut self, rhs: u32)
fn div_assign(&mut self, rhs: u32)
/= operation. Read moresourceimpl MulAssign<UVec3> for UVec3
impl MulAssign<UVec3> for UVec3
sourcefn mul_assign(&mut self, rhs: UVec3)
fn mul_assign(&mut self, rhs: UVec3)
*= operation. Read moresourceimpl MulAssign<u32> for UVec3
impl MulAssign<u32> for UVec3
sourcefn mul_assign(&mut self, rhs: u32)
fn mul_assign(&mut self, rhs: u32)
*= operation. Read moresourceimpl RemAssign<UVec3> for UVec3
impl RemAssign<UVec3> for UVec3
sourcefn rem_assign(&mut self, rhs: UVec3)
fn rem_assign(&mut self, rhs: UVec3)
%= operation. Read moresourceimpl RemAssign<u32> for UVec3
impl RemAssign<u32> for UVec3
sourcefn rem_assign(&mut self, rhs: u32)
fn rem_assign(&mut self, rhs: u32)
%= operation. Read moresourceimpl SubAssign<UVec3> for UVec3
impl SubAssign<UVec3> for UVec3
sourcefn sub_assign(&mut self, rhs: UVec3)
fn sub_assign(&mut self, rhs: UVec3)
-= operation. Read moresourceimpl SubAssign<u32> for UVec3
impl SubAssign<u32> for UVec3
sourcefn sub_assign(&mut self, rhs: u32)
fn sub_assign(&mut self, rhs: u32)
-= operation. Read more