# Struct bevy::math::I16Vec3

``````#[repr(C)]pub struct I16Vec3 {
pub x: i16,
pub y: i16,
pub z: i16,
}``````
Expand description

A 3-dimensional vector.

## Fields§

§`x: i16`§`y: i16`§`z: i16`

## Implementations§

source§

### impl I16Vec3

source

All zeroes.

source

All ones.

source

#### pub const NEG_ONE: I16Vec3 = _

All negative ones.

source

#### pub const MIN: I16Vec3 = _

All `i16::MIN`.

source

#### pub const MAX: I16Vec3 = _

All `i16::MAX`.

source

#### pub const X: I16Vec3 = _

A unit vector pointing along the positive X axis.

source

#### pub const Y: I16Vec3 = _

A unit vector pointing along the positive Y axis.

source

#### pub const Z: I16Vec3 = _

A unit vector pointing along the positive Z axis.

source

#### pub const NEG_X: I16Vec3 = _

A unit vector pointing along the negative X axis.

source

#### pub const NEG_Y: I16Vec3 = _

A unit vector pointing along the negative Y axis.

source

#### pub const NEG_Z: I16Vec3 = _

A unit vector pointing along the negative Z axis.

source

The unit axes.

source

#### pub const fn new(x: i16, y: i16, z: i16) -> I16Vec3

Creates a new vector.

source

#### pub const fn splat(v: i16) -> I16Vec3

Creates a vector with all elements set to `v`.

source

#### pub fn select(mask: BVec3, if_true: I16Vec3, if_false: I16Vec3) -> I16Vec3

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`.

source

#### pub const fn from_array(a: [i16; 3]) -> I16Vec3

Creates a new vector from an array.

source

#### pub const fn to_array(&self) -> [i16; 3]

`[x, y, z]`

source

#### pub const fn from_slice(slice: &[i16]) -> I16Vec3

Creates a vector from the first 3 values in `slice`.

##### §Panics

Panics if `slice` is less than 3 elements long.

source

#### pub fn write_to_slice(self, slice: &mut [i16])

Writes the elements of `self` to the first 3 elements in `slice`.

##### §Panics

Panics if `slice` is less than 3 elements long.

source

#### pub fn extend(self, w: i16) -> I16Vec4

Creates a 4D vector from `self` and the given `w` value.

source

#### pub fn truncate(self) -> I16Vec2

Creates a 2D vector from the `x` and `y` elements of `self`, discarding `z`.

Truncation may also be performed by using `self.xy()`.

source

#### pub fn with_x(self, x: i16) -> I16Vec3

Creates a 3D vector from `self` with the given value of `x`.

source

#### pub fn with_y(self, y: i16) -> I16Vec3

Creates a 3D vector from `self` with the given value of `y`.

source

#### pub fn with_z(self, z: i16) -> I16Vec3

Creates a 3D vector from `self` with the given value of `z`.

source

#### pub fn dot(self, rhs: I16Vec3) -> i16

Computes the dot product of `self` and `rhs`.

source

#### pub fn dot_into_vec(self, rhs: I16Vec3) -> I16Vec3

Returns a vector where every component is the dot product of `self` and `rhs`.

source

#### pub fn cross(self, rhs: I16Vec3) -> I16Vec3

Computes the cross product of `self` and `rhs`.

source

#### pub fn min(self, rhs: I16Vec3) -> I16Vec3

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), ..]`.

source

#### pub fn max(self, rhs: I16Vec3) -> I16Vec3

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), ..]`.

source

#### pub fn clamp(self, min: I16Vec3, max: I16Vec3) -> I16Vec3

Component-wise clamping of values, similar to `i16::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.

source

#### pub fn min_element(self) -> i16

Returns the horizontal minimum of `self`.

In other words this computes `min(x, y, ..)`.

source

#### pub fn max_element(self) -> i16

Returns the horizontal maximum of `self`.

In other words this computes `max(x, y, ..)`.

source

#### pub fn element_sum(self) -> i16

Returns the sum of all elements of `self`.

In other words, this computes `self.x + self.y + ..`.

source

#### pub fn element_product(self) -> i16

Returns the product of all elements of `self`.

In other words, this computes `self.x * self.y * ..`.

source

#### pub fn cmpeq(self, rhs: I16Vec3) -> 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.

source

#### pub fn cmpne(self, rhs: I16Vec3) -> 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.

source

#### pub fn cmpge(self, rhs: I16Vec3) -> 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.

source

#### pub fn cmpgt(self, rhs: I16Vec3) -> 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.

source

#### pub fn cmple(self, rhs: I16Vec3) -> 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.

source

#### pub fn cmplt(self, rhs: I16Vec3) -> 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.

source

#### pub fn abs(self) -> I16Vec3

Returns a vector containing the absolute value of each element of `self`.

source

#### pub fn signum(self) -> I16Vec3

Returns a vector with elements representing the sign of `self`.

• `0` if the number is zero
• `1` if the number is positive
• `-1` if the number is negative
source

#### pub fn is_negative_bitmask(self) -> u32

Returns a bitmask with the lowest 3 bits set to the sign bits from the elements of `self`.

A negative element results in a `1` bit and a positive element in a `0` bit. Element `x` goes into the first lowest bit, element `y` into the second, etc.

source

#### pub fn length_squared(self) -> i16

Computes the squared length of `self`.

source

#### pub fn distance_squared(self, rhs: I16Vec3) -> i16

Compute the squared euclidean distance between two points in space.

source

#### pub fn div_euclid(self, rhs: I16Vec3) -> I16Vec3

Returns the element-wise quotient of [Euclidean division] of `self` by `rhs`.

##### §Panics

This function will panic if any `rhs` element is 0 or the division results in overflow.

source

#### pub fn rem_euclid(self, rhs: I16Vec3) -> I16Vec3

Returns the element-wise remainder of Euclidean division of `self` by `rhs`.

##### §Panics

This function will panic if any `rhs` element is 0 or the division results in overflow.

source

#### pub fn as_vec3(&self) -> Vec3

Casts all elements of `self` to `f32`.

source

#### pub fn as_vec3a(&self) -> Vec3A

Casts all elements of `self` to `f32`.

source

#### pub fn as_dvec3(&self) -> DVec3

Casts all elements of `self` to `f64`.

source

#### pub fn as_u16vec3(&self) -> U16Vec3

Casts all elements of `self` to `u16`.

source

#### pub fn as_ivec3(&self) -> IVec3

Casts all elements of `self` to `i32`.

source

#### pub fn as_uvec3(&self) -> UVec3

Casts all elements of `self` to `u32`.

source

#### pub fn as_i64vec3(&self) -> I64Vec3

Casts all elements of `self` to `i64`.

source

#### pub fn as_u64vec3(&self) -> U64Vec3

Casts all elements of `self` to `u64`.

source

#### pub const fn wrapping_add(self, rhs: I16Vec3) -> I16Vec3

Returns a vector containing the wrapping addition of `self` and `rhs`.

In other words this computes `[self.x.wrapping_add(rhs.x), self.y.wrapping_add(rhs.y), ..]`.

source

#### pub const fn wrapping_sub(self, rhs: I16Vec3) -> I16Vec3

Returns a vector containing the wrapping subtraction of `self` and `rhs`.

In other words this computes `[self.x.wrapping_sub(rhs.x), self.y.wrapping_sub(rhs.y), ..]`.

source

#### pub const fn wrapping_mul(self, rhs: I16Vec3) -> I16Vec3

Returns a vector containing the wrapping multiplication of `self` and `rhs`.

In other words this computes `[self.x.wrapping_mul(rhs.x), self.y.wrapping_mul(rhs.y), ..]`.

source

#### pub const fn wrapping_div(self, rhs: I16Vec3) -> I16Vec3

Returns a vector containing the wrapping division of `self` and `rhs`.

In other words this computes `[self.x.wrapping_div(rhs.x), self.y.wrapping_div(rhs.y), ..]`.

source

#### pub const fn saturating_add(self, rhs: I16Vec3) -> I16Vec3

Returns a vector containing the saturating addition of `self` and `rhs`.

In other words this computes `[self.x.saturating_add(rhs.x), self.y.saturating_add(rhs.y), ..]`.

source

#### pub const fn saturating_sub(self, rhs: I16Vec3) -> I16Vec3

Returns a vector containing the saturating subtraction of `self` and `rhs`.

In other words this computes `[self.x.saturating_sub(rhs.x), self.y.saturating_sub(rhs.y), ..]`.

source

#### pub const fn saturating_mul(self, rhs: I16Vec3) -> I16Vec3

Returns a vector containing the saturating multiplication of `self` and `rhs`.

In other words this computes `[self.x.saturating_mul(rhs.x), self.y.saturating_mul(rhs.y), ..]`.

source

#### pub const fn saturating_div(self, rhs: I16Vec3) -> I16Vec3

Returns a vector containing the saturating division of `self` and `rhs`.

In other words this computes `[self.x.saturating_div(rhs.x), self.y.saturating_div(rhs.y), ..]`.

source

#### pub const fn wrapping_add_unsigned(self, rhs: U16Vec3) -> I16Vec3

Returns a vector containing the wrapping addition of `self` and unsigned vector `rhs`.

In other words this computes `[self.x.wrapping_add_unsigned(rhs.x), self.y.wrapping_add_unsigned(rhs.y), ..]`.

source

#### pub const fn wrapping_sub_unsigned(self, rhs: U16Vec3) -> I16Vec3

Returns a vector containing the wrapping subtraction of `self` and unsigned vector `rhs`.

In other words this computes `[self.x.wrapping_sub_unsigned(rhs.x), self.y.wrapping_sub_unsigned(rhs.y), ..]`.

source

#### pub const fn saturating_add_unsigned(self, rhs: U16Vec3) -> I16Vec3

In other words this computes `[self.x.saturating_add_unsigned(rhs.x), self.y.saturating_add_unsigned(rhs.y), ..]`.

source

#### pub const fn saturating_sub_unsigned(self, rhs: U16Vec3) -> I16Vec3

Returns a vector containing the saturating subtraction of `self` and unsigned vector `rhs`.

In other words this computes `[self.x.saturating_sub_unsigned(rhs.x), self.y.saturating_sub_unsigned(rhs.y), ..]`.

## Trait Implementations§

source§

§

#### type Output = I16Vec3

The resulting type after applying the `+` operator.
source§

#### fn add(self, rhs: i16) -> I16Vec3

Performs the `+` operation. Read more
source§

§

#### type Output = I16Vec3

The resulting type after applying the `+` operator.
source§

#### fn add(self, rhs: I16Vec3) -> I16Vec3

Performs the `+` operation. Read more
source§

source§

#### fn add_assign(&mut self, rhs: i16)

Performs the `+=` operation. Read more
source§

source§

#### fn add_assign(&mut self, rhs: I16Vec3)

Performs the `+=` operation. Read more
source§

### impl AsMut<[i16; 3]> for I16Vec3

Available on non-`target_arch="spirv"` only.
source§

#### fn as_mut(&mut self) -> &mut [i16; 3]

Converts this type into a mutable reference of the (usually inferred) input type.
source§

### impl AsRef<[i16; 3]> for I16Vec3

Available on non-`target_arch="spirv"` only.
source§

#### fn as_ref(&self) -> &[i16; 3]

Converts this type into a shared reference of the (usually inferred) input type.
source§

### impl BitAnd<i16> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `&` operator.
source§

#### fn bitand(self, rhs: i16) -> <I16Vec3 as BitAnd<i16>>::Output

Performs the `&` operation. Read more
source§

### impl BitAnd for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `&` operator.
source§

#### fn bitand(self, rhs: I16Vec3) -> <I16Vec3 as BitAnd>::Output

Performs the `&` operation. Read more
source§

### impl BitOr<i16> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `|` operator.
source§

#### fn bitor(self, rhs: i16) -> <I16Vec3 as BitOr<i16>>::Output

Performs the `|` operation. Read more
source§

### impl BitOr for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `|` operator.
source§

#### fn bitor(self, rhs: I16Vec3) -> <I16Vec3 as BitOr>::Output

Performs the `|` operation. Read more
source§

### impl BitXor<i16> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `^` operator.
source§

#### fn bitxor(self, rhs: i16) -> <I16Vec3 as BitXor<i16>>::Output

Performs the `^` operation. Read more
source§

### impl BitXor for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `^` operator.
source§

#### fn bitxor(self, rhs: I16Vec3) -> <I16Vec3 as BitXor>::Output

Performs the `^` operation. Read more
source§

### impl Clone for I16Vec3

source§

#### fn clone(&self) -> I16Vec3

Returns a copy of the value. Read more
1.0.0 · source§

#### fn clone_from(&mut self, source: &Self)

Performs copy-assignment from `source`. Read more
source§

### impl Debug for I16Vec3

Available on non-`target_arch="spirv"` only.
source§

#### fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

### impl Default for I16Vec3

source§

#### fn default() -> I16Vec3

Returns the “default value” for a type. Read more
source§

### impl<'de> Deserialize<'de> for I16Vec3

source§

#### fn deserialize<D>( deserializer: D, ) -> Result<I16Vec3, <D as Deserializer<'de>>::Error>where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

### impl Display for I16Vec3

Available on non-`target_arch="spirv"` only.
source§

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

### impl Div<i16> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `/` operator.
source§

#### fn div(self, rhs: i16) -> I16Vec3

Performs the `/` operation. Read more
source§

### impl Div for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `/` operator.
source§

#### fn div(self, rhs: I16Vec3) -> I16Vec3

Performs the `/` operation. Read more
source§

### impl DivAssign<i16> for I16Vec3

source§

#### fn div_assign(&mut self, rhs: i16)

Performs the `/=` operation. Read more
source§

### impl DivAssign for I16Vec3

source§

#### fn div_assign(&mut self, rhs: I16Vec3)

Performs the `/=` operation. Read more
source§

### impl From<[i16; 3]> for I16Vec3

source§

#### fn from(a: [i16; 3]) -> I16Vec3

Converts to this type from the input type.
source§

### impl From<(I16Vec2, i16)> for I16Vec3

source§

#### fn from(_: (I16Vec2, i16)) -> I16Vec3

Converts to this type from the input type.
source§

### impl From<(i16, i16, i16)> for I16Vec3

source§

#### fn from(t: (i16, i16, i16)) -> I16Vec3

Converts to this type from the input type.
source§

### impl From<BVec3> for I16Vec3

source§

#### fn from(v: BVec3) -> I16Vec3

Converts to this type from the input type.
source§

### impl From<BVec3A> for I16Vec3

source§

#### fn from(v: BVec3A) -> I16Vec3

Converts to this type from the input type.
source§

### impl From<I16Vec3> for [i16; 3]

source§

#### fn from(v: I16Vec3) -> [i16; 3]

Converts to this type from the input type.
source§

### impl From<I16Vec3> for (i16, i16, i16)

source§

#### fn from(v: I16Vec3) -> (i16, i16, i16)

Converts to this type from the input type.
source§

### impl From<I16Vec3> for I64Vec3

source§

#### fn from(v: I16Vec3) -> I64Vec3

Converts to this type from the input type.
source§

### impl From<I16Vec3> for IVec3

source§

#### fn from(v: I16Vec3) -> IVec3

Converts to this type from the input type.
source§

### impl Hash for I16Vec3

source§

#### fn hash<__H>(&self, state: &mut __H)where __H: Hasher,

Feeds this value into the given `Hasher`. Read more
1.3.0 · source§

#### fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given `Hasher`. Read more
source§

### impl Index<usize> for I16Vec3

§

#### type Output = i16

The returned type after indexing.
source§

#### fn index(&self, index: usize) -> &<I16Vec3 as Index<usize>>::Output

Performs the indexing (`container[index]`) operation. Read more
source§

### impl IndexMut<usize> for I16Vec3

source§

#### fn index_mut(&mut self, index: usize) -> &mut <I16Vec3 as Index<usize>>::Output

Performs the mutable indexing (`container[index]`) operation. Read more
source§

### impl Mul<i16> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `*` operator.
source§

#### fn mul(self, rhs: i16) -> I16Vec3

Performs the `*` operation. Read more
source§

### impl Mul for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `*` operator.
source§

#### fn mul(self, rhs: I16Vec3) -> I16Vec3

Performs the `*` operation. Read more
source§

### impl MulAssign<i16> for I16Vec3

source§

#### fn mul_assign(&mut self, rhs: i16)

Performs the `*=` operation. Read more
source§

### impl MulAssign for I16Vec3

source§

#### fn mul_assign(&mut self, rhs: I16Vec3)

Performs the `*=` operation. Read more
source§

### impl Neg for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `-` operator.
source§

#### fn neg(self) -> I16Vec3

Performs the unary `-` operation. Read more
source§

### impl Not for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `!` operator.
source§

#### fn not(self) -> <I16Vec3 as Not>::Output

Performs the unary `!` operation. Read more
source§

### impl PartialEq for I16Vec3

source§

#### fn eq(&self, other: &I16Vec3) -> bool

This method tests for `self` and `other` values to be equal, and is used by `==`.
1.0.0 · source§

#### fn ne(&self, other: &Rhs) -> bool

This method tests for `!=`. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

### impl<'a> Product<&'a I16Vec3> for I16Vec3

source§

#### fn product<I>(iter: I) -> I16Vec3where I: Iterator<Item = &'a I16Vec3>,

Method which takes an iterator and generates `Self` from the elements by multiplying the items.
source§

### impl Product for I16Vec3

source§

#### fn product<I>(iter: I) -> I16Vec3where I: Iterator<Item = I16Vec3>,

Method which takes an iterator and generates `Self` from the elements by multiplying the items.
source§

### impl Rem<i16> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `%` operator.
source§

#### fn rem(self, rhs: i16) -> I16Vec3

Performs the `%` operation. Read more
source§

### impl Rem for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `%` operator.
source§

#### fn rem(self, rhs: I16Vec3) -> I16Vec3

Performs the `%` operation. Read more
source§

### impl RemAssign<i16> for I16Vec3

source§

#### fn rem_assign(&mut self, rhs: i16)

Performs the `%=` operation. Read more
source§

### impl RemAssign for I16Vec3

source§

#### fn rem_assign(&mut self, rhs: I16Vec3)

Performs the `%=` operation. Read more
source§

### impl Serialize for I16Vec3

source§

#### 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
source§

### impl Shl<IVec3> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `<<` operator.
source§

#### fn shl(self, rhs: IVec3) -> <I16Vec3 as Shl<IVec3>>::Output

Performs the `<<` operation. Read more
source§

### impl Shl<UVec3> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `<<` operator.
source§

#### fn shl(self, rhs: UVec3) -> <I16Vec3 as Shl<UVec3>>::Output

Performs the `<<` operation. Read more
source§

### impl Shl<i16> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `<<` operator.
source§

#### fn shl(self, rhs: i16) -> <I16Vec3 as Shl<i16>>::Output

Performs the `<<` operation. Read more
source§

### impl Shl<i32> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `<<` operator.
source§

#### fn shl(self, rhs: i32) -> <I16Vec3 as Shl<i32>>::Output

Performs the `<<` operation. Read more
source§

### impl Shl<i64> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `<<` operator.
source§

#### fn shl(self, rhs: i64) -> <I16Vec3 as Shl<i64>>::Output

Performs the `<<` operation. Read more
source§

### impl Shl<i8> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `<<` operator.
source§

#### fn shl(self, rhs: i8) -> <I16Vec3 as Shl<i8>>::Output

Performs the `<<` operation. Read more
source§

### impl Shl<u16> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `<<` operator.
source§

#### fn shl(self, rhs: u16) -> <I16Vec3 as Shl<u16>>::Output

Performs the `<<` operation. Read more
source§

### impl Shl<u32> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `<<` operator.
source§

#### fn shl(self, rhs: u32) -> <I16Vec3 as Shl<u32>>::Output

Performs the `<<` operation. Read more
source§

### impl Shl<u64> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `<<` operator.
source§

#### fn shl(self, rhs: u64) -> <I16Vec3 as Shl<u64>>::Output

Performs the `<<` operation. Read more
source§

### impl Shl<u8> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `<<` operator.
source§

#### fn shl(self, rhs: u8) -> <I16Vec3 as Shl<u8>>::Output

Performs the `<<` operation. Read more
source§

### impl Shr<IVec3> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `>>` operator.
source§

#### fn shr(self, rhs: IVec3) -> <I16Vec3 as Shr<IVec3>>::Output

Performs the `>>` operation. Read more
source§

### impl Shr<UVec3> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `>>` operator.
source§

#### fn shr(self, rhs: UVec3) -> <I16Vec3 as Shr<UVec3>>::Output

Performs the `>>` operation. Read more
source§

### impl Shr<i16> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `>>` operator.
source§

#### fn shr(self, rhs: i16) -> <I16Vec3 as Shr<i16>>::Output

Performs the `>>` operation. Read more
source§

### impl Shr<i32> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `>>` operator.
source§

#### fn shr(self, rhs: i32) -> <I16Vec3 as Shr<i32>>::Output

Performs the `>>` operation. Read more
source§

### impl Shr<i64> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `>>` operator.
source§

#### fn shr(self, rhs: i64) -> <I16Vec3 as Shr<i64>>::Output

Performs the `>>` operation. Read more
source§

### impl Shr<i8> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `>>` operator.
source§

#### fn shr(self, rhs: i8) -> <I16Vec3 as Shr<i8>>::Output

Performs the `>>` operation. Read more
source§

### impl Shr<u16> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `>>` operator.
source§

#### fn shr(self, rhs: u16) -> <I16Vec3 as Shr<u16>>::Output

Performs the `>>` operation. Read more
source§

### impl Shr<u32> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `>>` operator.
source§

#### fn shr(self, rhs: u32) -> <I16Vec3 as Shr<u32>>::Output

Performs the `>>` operation. Read more
source§

### impl Shr<u64> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `>>` operator.
source§

#### fn shr(self, rhs: u64) -> <I16Vec3 as Shr<u64>>::Output

Performs the `>>` operation. Read more
source§

### impl Shr<u8> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `>>` operator.
source§

#### fn shr(self, rhs: u8) -> <I16Vec3 as Shr<u8>>::Output

Performs the `>>` operation. Read more
source§

### impl Sub<i16> for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `-` operator.
source§

#### fn sub(self, rhs: i16) -> I16Vec3

Performs the `-` operation. Read more
source§

### impl Sub for I16Vec3

§

#### type Output = I16Vec3

The resulting type after applying the `-` operator.
source§

#### fn sub(self, rhs: I16Vec3) -> I16Vec3

Performs the `-` operation. Read more
source§

### impl SubAssign<i16> for I16Vec3

source§

#### fn sub_assign(&mut self, rhs: i16)

Performs the `-=` operation. Read more
source§

### impl SubAssign for I16Vec3

source§

#### fn sub_assign(&mut self, rhs: I16Vec3)

Performs the `-=` operation. Read more
source§

### impl<'a> Sum<&'a I16Vec3> for I16Vec3

source§

#### fn sum<I>(iter: I) -> I16Vec3where I: Iterator<Item = &'a I16Vec3>,

Method which takes an iterator and generates `Self` from the elements by “summing up” the items.
source§

### impl Sum for I16Vec3

source§

#### fn sum<I>(iter: I) -> I16Vec3where I: Iterator<Item = I16Vec3>,

Method which takes an iterator and generates `Self` from the elements by “summing up” the items.
source§

### impl TryFrom<I16Vec3> for U16Vec3

§

#### type Error = TryFromIntError

The type returned in the event of a conversion error.
source§

#### fn try_from(v: I16Vec3) -> Result<U16Vec3, <U16Vec3 as TryFrom<I16Vec3>>::Error>

Performs the conversion.
source§

### impl TryFrom<I16Vec3> for U64Vec3

§

#### type Error = TryFromIntError

The type returned in the event of a conversion error.
source§

#### fn try_from(v: I16Vec3) -> Result<U64Vec3, <U64Vec3 as TryFrom<I16Vec3>>::Error>

Performs the conversion.
source§

### impl TryFrom<I16Vec3> for UVec3

§

#### type Error = TryFromIntError

The type returned in the event of a conversion error.
source§

#### fn try_from(v: I16Vec3) -> Result<UVec3, <UVec3 as TryFrom<I16Vec3>>::Error>

Performs the conversion.
source§

### impl TryFrom<I64Vec3> for I16Vec3

§

#### type Error = TryFromIntError

The type returned in the event of a conversion error.
source§

#### fn try_from(v: I64Vec3) -> Result<I16Vec3, <I16Vec3 as TryFrom<I64Vec3>>::Error>

Performs the conversion.
source§

### impl TryFrom<IVec3> for I16Vec3

§

#### type Error = TryFromIntError

The type returned in the event of a conversion error.
source§

#### fn try_from(v: IVec3) -> Result<I16Vec3, <I16Vec3 as TryFrom<IVec3>>::Error>

Performs the conversion.
source§

### impl TryFrom<U16Vec3> for I16Vec3

§

#### type Error = TryFromIntError

The type returned in the event of a conversion error.
source§

#### fn try_from(v: U16Vec3) -> Result<I16Vec3, <I16Vec3 as TryFrom<U16Vec3>>::Error>

Performs the conversion.
source§

### impl TryFrom<U64Vec3> for I16Vec3

§

#### type Error = TryFromIntError

The type returned in the event of a conversion error.
source§

#### fn try_from(v: U64Vec3) -> Result<I16Vec3, <I16Vec3 as TryFrom<U64Vec3>>::Error>

Performs the conversion.
source§

### impl TryFrom<UVec3> for I16Vec3

§

#### type Error = TryFromIntError

The type returned in the event of a conversion error.
source§

#### fn try_from(v: UVec3) -> Result<I16Vec3, <I16Vec3 as TryFrom<UVec3>>::Error>

Performs the conversion.
source§

§

§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

§

source§

source§

source§

source§

§

§

§

§

§

§

## Blanket Implementations§

source§

### impl<T> Any for Twhere T: 'static + ?Sized,

source§

#### fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more
§

### impl<T, U> AsBindGroupShaderType<U> for Twhere U: ShaderType, &'a T: for<'a> Into<U>,

§

#### fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U

Return the `T` `ShaderType` for `self`. When used in `AsBindGroup` derives, it is safe to assume that all images in `self` exist.
source§

### impl<T> Borrow<T> for Twhere T: ?Sized,

source§

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

### impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

#### fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

### impl<T> CheckedBitPattern for Twhere T: AnyBitPattern,

§

#### type Bits = T

`Self` must have the same layout as the specified `Bits` except for the possible invalid bit patterns being checked during `is_valid_bit_pattern`.
§

#### fn is_valid_bit_pattern(_bits: &T) -> bool

If this function returns true, then it must be valid to reinterpret `bits` as `&Self`.
§

§

§

### impl<T> Downcast for Twhere T: 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>

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)

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)

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 Twhere T: Any + Send + Sync,

§

#### fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert `Arc<Trait>` (where `Trait: Downcast`) to `Arc<Any>`. `Arc<Any>` can then be further `downcast` into `Arc<ConcreteType>` where `ConcreteType` implements `Trait`.
§

### impl<T> DynEq for Twhere T: Any + Eq,

§

#### fn as_any(&self) -> &(dyn Any + 'static)

Casts the type to `dyn Any`.
§

#### fn dyn_eq(&self, other: &(dyn DynEq + 'static)) -> bool

This method tests for `self` and `other` values to be equal. Read more
§

### impl<T> DynHash for Twhere T: DynEq + Hash,

§

#### fn as_dyn_eq(&self) -> &(dyn DynEq + 'static)

Casts the type to `dyn Any`.
§

#### fn dyn_hash(&self, state: &mut dyn Hasher)

Feeds this value into the given `Hasher`.
§

### impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

#### fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

### impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

#### fn equivalent(&self, key: &K) -> bool

Compare self to `key` and return `true` if they are equal.
source§

### impl<T> From<T> for T

source§

#### fn from(t: T) -> T

Returns the argument unchanged.

§

§

§

### impl<T> FromWorld for Twhere T: Default,

§

#### fn from_world(_world: &mut World) -> T

Creates `Self` using data from the given `World`.
§

### impl<T> Instrument for T

§

#### fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided `Span`, returning an `Instrumented` wrapper. Read more
§

#### fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current `Span`, returning an `Instrumented` wrapper. Read more
source§

### impl<T, U> Into<U> for Twhere U: From<T>,

source§

#### fn into(self) -> U

Calls `U::from(self)`.

That is, this conversion is whatever the implementation of `From<T> for U` chooses to do.

source§

### impl<T> IntoEither for T

source§

#### 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 more
source§

#### fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘwhere F: FnOnce(&Self) -> bool,

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> NoneValue for Twhere T: Default,

§

§

#### fn null_value() -> T

The none-equivalent value.
§

### impl<T> Pointable for T

§

#### const ALIGN: usize = _

The alignment of pointer.
§

#### type Init = T

The type for initializers.
§

#### unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

#### unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

#### unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

#### unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

source§

Read this value from the supplied reader. Same as `ReadEndian::read_from_little_endian()`.
source§

Read this value from the supplied reader. Same as `ReadEndian::read_from_big_endian()`.
source§

Read this value from the supplied reader. Same as `ReadEndian::read_from_native_endian()`.
source§

### impl<T> Same for T

§

#### type Output = T

Should always be `Self`
source§

source§

source§

source§

### impl<T> ToOwned for Twhere T: Clone,

§

#### type Owned = T

The resulting type after obtaining ownership.
source§

#### fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

#### fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

§

§

§

source§

### impl<T> ToString for Twhere T: Display + ?Sized,

source§

#### default fn to_string(&self) -> String

Converts the given value to a `String`. Read more
source§

### impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

#### type Error = Infallible

The type returned in the event of a conversion error.
source§

#### fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

### impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

#### type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

#### fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

§

§

§

§

§

§

### impl<T> WithSubscriber for T

§

#### fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere S: Into<Dispatch>,

Attaches the provided `Subscriber` to this type, returning a `WithDispatch` wrapper. Read more
§

#### fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default `Subscriber` to this type, returning a `WithDispatch` wrapper. Read more
§

§

source§

§

§

source§

source§

§

§

§

§