#[repr(C)]pub struct Vector3<U: Unit = f32> {
pub x: U::Scalar,
pub y: U::Scalar,
pub z: U::Scalar,
}
Expand description
3D vector.
Alignment: Same as the scalar (so not 16 bytes). If you really need 16-byte
alignment, use Vector4
.
Fields§
§x: U::Scalar
X coordinate
y: U::Scalar
Y coordinate
z: U::Scalar
Z coordinate
Implementations§
source§impl<T: Unit> Vector3<T>
impl<T: Unit> Vector3<T>
sourcepub fn from_point(point: Point3<T>) -> Self
pub fn from_point(point: Point3<T>) -> Self
Instantiate from point.
sourcepub fn as_point_mut(&mut self) -> &mut Point3<T>
pub fn as_point_mut(&mut self) -> &mut Point3<T>
Reinterpret as point.
sourcepub fn as_size_mut(&mut self) -> &mut Size3<T>
pub fn as_size_mut(&mut self) -> &mut Size3<T>
Reinterpret as size.
source§impl<T: Unit> Vector3<T>
impl<T: Unit> Vector3<T>
sourcepub fn min_element(self) -> T::Scalar
pub fn min_element(self) -> T::Scalar
Min element.
sourcepub fn max_element(self) -> T::Scalar
pub fn max_element(self) -> T::Scalar
Max element.
sourcepub fn write_to_slice(self, slice: &mut [T::Scalar])
pub fn write_to_slice(self, slice: &mut [T::Scalar])
Write this vector type to a slice.
sourcepub fn element_sum(self) -> T::Scalar
pub fn element_sum(self) -> T::Scalar
Sum of all elements.
sourcepub fn element_product(self) -> T::Scalar
pub fn element_product(self) -> T::Scalar
Product of all elements.
sourcepub fn as_array_mut(&mut self) -> &mut [T::Scalar; 3]
pub fn as_array_mut(&mut self) -> &mut [T::Scalar; 3]
Reinterpret as mutable array.
sourcepub fn map<F: Fn(T::Scalar) -> T::Scalar>(self, f: F) -> Self
pub fn map<F: Fn(T::Scalar) -> T::Scalar>(self, f: F) -> Self
Returns a vector containing each element of self
modified by a mapping function f
.
sourcepub fn from_untyped(untyped: Vector3<T::Scalar>) -> Vector3<T>
pub fn from_untyped(untyped: Vector3<T::Scalar>) -> Vector3<T>
Bitcast an untyped instance to self.
sourcepub fn to_untyped(self) -> Vector3<T::Scalar>
pub fn to_untyped(self) -> Vector3<T::Scalar>
Bitcast self to an untyped instance.
sourcepub fn as_untyped(&self) -> &Vector3<T::Scalar>
pub fn as_untyped(&self) -> &Vector3<T::Scalar>
Reinterpret cast self as the untyped variant.
sourcepub fn as_untyped_mut(&mut self) -> &mut Vector3<T::Scalar>
pub fn as_untyped_mut(&mut self) -> &mut Vector3<T::Scalar>
Reinterpret cast self as the untyped variant.
sourcepub fn cast<T2>(self) -> Vector3<T2>
pub fn cast<T2>(self) -> Vector3<T2>
Cast to a different coordinate space with the same underlying scalar type.
sourcepub fn cast_ref<T2>(&self) -> &Vector3<T2>
pub fn cast_ref<T2>(&self) -> &Vector3<T2>
Cast to a different coordinate space with the same underlying scalar type.
sourcepub fn cast_mut<T2>(&mut self) -> &mut Vector3<T2>
pub fn cast_mut<T2>(&mut self) -> &mut Vector3<T2>
Cast to a different coordinate space with the same underlying scalar type.
sourcepub fn as_<T2>(self) -> Vector3<T2>
pub fn as_<T2>(self) -> Vector3<T2>
Cast to a different coordinate space with scalar type conversion through the as
operator (potentially narrowing or losing precision).
sourcepub fn try_cast<T2>(self) -> Option<Vector3<T2>>where
T2: Unit,
pub fn try_cast<T2>(self) -> Option<Vector3<T2>>where
T2: Unit,
Cast to a different coordinate space with scalar type conversion. Returns None
if any component could not be converted to the target scalar type.
sourcepub fn to_tuple(self) -> (T::Scalar, T::Scalar, T::Scalar)
pub fn to_tuple(self) -> (T::Scalar, T::Scalar, T::Scalar)
Convert this vector or point to a tuple.
sourcepub fn from_tuple((x, y, z): (T::Scalar, T::Scalar, T::Scalar)) -> Self
pub fn from_tuple((x, y, z): (T::Scalar, T::Scalar, T::Scalar)) -> Self
Create from tuple.
source§impl<T: FloatUnit> Vector3<T>
impl<T: FloatUnit> Vector3<T>
sourcepub fn fract(self) -> Self
pub fn fract(self) -> Self
See (e.g.) glam::Vec2::fract()
sourcepub fn fract_gl(self) -> Self
pub fn fract_gl(self) -> Self
See (e.g.) glam::Vec2::fract_gl()
source§impl<T: SignedUnit> Vector3<T>
impl<T: SignedUnit> Vector3<T>
sourcepub fn abs(self) -> Self
pub fn abs(self) -> Self
Returns a vector containing the absolute value of each element of self
.
sourcepub fn rem_euclid(self, rhs: Self) -> Self
pub fn rem_euclid(self, rhs: Self) -> Self
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§impl<T: IntUnit> Vector3<T>
impl<T: IntUnit> Vector3<T>
sourcepub fn saturating_add(self, rhs: Self) -> Self
pub fn saturating_add(self, rhs: Self) -> Self
Returns a vector containing the saturating addition of self and rhs.
sourcepub fn saturating_sub(self, rhs: Self) -> Self
pub fn saturating_sub(self, rhs: Self) -> Self
Returns a vector containing the saturating subtraction of self and rhs.
sourcepub fn saturating_mul(self, rhs: Self) -> Self
pub fn saturating_mul(self, rhs: Self) -> Self
Returns a vector containing the saturating multiplication of self and rhs.
sourcepub fn saturating_div(self, rhs: Self) -> Self
pub fn saturating_div(self, rhs: Self) -> Self
Returns a vector containing the saturating division of self and rhs.
sourcepub fn wrapping_add(self, rhs: Self) -> Self
pub fn wrapping_add(self, rhs: Self) -> Self
Returns a vector containing the wrapping addition of self and rhs.
sourcepub fn wrapping_sub(self, rhs: Self) -> Self
pub fn wrapping_sub(self, rhs: Self) -> Self
Returns a vector containing the wrapping subtraction of self and rhs.
sourcepub fn wrapping_mul(self, rhs: Self) -> Self
pub fn wrapping_mul(self, rhs: Self) -> Self
Returns a vector containing the wrapping multiplication of self and rhs.
sourcepub fn wrapping_div(self, rhs: Self) -> Self
pub fn wrapping_div(self, rhs: Self) -> Self
Returns a vector containing the wrapping division of self and rhs.
source§impl<T: Unit> Vector3<T>
impl<T: Unit> Vector3<T>
source§impl<T: SignedUnit> Vector3<T>
impl<T: SignedUnit> Vector3<T>
source§impl<T: FloatUnit> Vector3<T>
impl<T: FloatUnit> Vector3<T>
sourcepub const NEG_INFINITY: Self = _
pub const NEG_INFINITY: Self = _
All negative infinity.
sourcepub fn is_nan_mask(self) -> BVec3
pub fn is_nan_mask(self) -> BVec3
Return a mask where each bit is set if the corresponding component is NaN.
sourcepub fn is_finite_mask(self) -> BVec3
pub fn is_finite_mask(self) -> BVec3
Performs is_finite
on each element of self
, returning a vector mask of the results.
source§impl<T: Unit> Vector3<T>
impl<T: Unit> Vector3<T>
sourcepub fn from_array(array: [T::Scalar; 3]) -> Self
pub fn from_array(array: [T::Scalar; 3]) -> Self
Creates a new vector from an array.
sourcepub fn extend(self, w: T::Scalar) -> Vector4<T>
pub fn extend(self, w: T::Scalar) -> Vector4<T>
Creates a 3D vector from self
and the given w
value.
sourcepub fn cmpeq(self, rhs: Self) -> BVec3
pub fn cmpeq(self, rhs: Self) -> BVec3
Returns a vector mask containing the result of a == comparison for each element of self
and rhs
.
sourcepub fn cmpne(self, rhs: Self) -> BVec3
pub fn cmpne(self, rhs: Self) -> BVec3
Returns a vector mask containing the result of a != comparison for each element of self
and rhs
.
sourcepub fn cmpge(self, rhs: Self) -> BVec3
pub fn cmpge(self, rhs: Self) -> BVec3
Returns a vector mask containing the result of a >= comparison for each element of self
and rhs
.
sourcepub fn cmpgt(self, rhs: Self) -> BVec3
pub fn cmpgt(self, rhs: Self) -> BVec3
Returns a vector mask containing the result of a > comparison for each element of self
and rhs
.
sourcepub fn cmple(self, rhs: Self) -> BVec3
pub fn cmple(self, rhs: Self) -> BVec3
Returns a vector mask containing the result of a <= comparison for each element of self
and rhs
.
sourcepub fn cmplt(self, rhs: Self) -> BVec3
pub fn cmplt(self, rhs: Self) -> BVec3
Returns a vector mask containing the result of a < comparison for each element of self
and rhs
.
source§impl<T: FloatUnit> Vector3<T>
impl<T: FloatUnit> Vector3<T>
sourcepub fn any_orthogonal_vector(&self) -> Self
pub fn any_orthogonal_vector(&self) -> Self
See (e.g.) glam::Vec3::any_orthogonal_vector()
.
sourcepub fn any_orthonormal_vector(&self) -> Self
pub fn any_orthonormal_vector(&self) -> Self
See (e.g.) glam::Vec3::any_orthonormal_vector()
.
sourcepub fn any_orthonormal_pair(&self) -> (Self, Self)
pub fn any_orthonormal_pair(&self) -> (Self, Self)
See (e.g.) glam::Vec3::any_orthonormal_pair()
.
source§impl<T: Unit> Vector3<T>
impl<T: Unit> Vector3<T>
sourcepub fn dot_into_vec(self, other: Self) -> Self
pub fn dot_into_vec(self, other: Self) -> Self
Returns a vector where every component is the dot product of self
and rhs
.
source§impl<T: SignedUnit> Vector3<T>
impl<T: SignedUnit> Vector3<T>
sourcepub fn div_euclid(self, rhs: Self) -> Self
pub fn div_euclid(self, rhs: Self) -> Self
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§impl<T: FloatUnit> Vector3<T>
impl<T: FloatUnit> Vector3<T>
sourcepub fn clamp_length_max(self, min: T::Scalar) -> Self
pub fn clamp_length_max(self, min: T::Scalar) -> Self
Clamp length
sourcepub fn clamp_length_min(self, min: T::Scalar) -> Self
pub fn clamp_length_min(self, min: T::Scalar) -> Self
Clamp length
sourcepub fn clamp_length(self, min: T::Scalar, max: T::Scalar) -> Self
pub fn clamp_length(self, min: T::Scalar, max: T::Scalar) -> Self
Clamp length
sourcepub fn length_squared(self) -> T::Scalar
pub fn length_squared(self) -> T::Scalar
Squared length of the vector
sourcepub fn length_recip(self) -> T::Scalar
pub fn length_recip(self) -> T::Scalar
Reciprocal length of the vector
sourcepub fn normalize_or_zero(self) -> Self
pub fn normalize_or_zero(self) -> Self
Normalize the vector, returning zero if the length was already (very close to) zero.
sourcepub fn normalize(self) -> Self
pub fn normalize(self) -> Self
Normalize the vector. Undefined results in the vector’s length is (very close to) zero.
sourcepub fn normalize_or(self, fallback: Self) -> Self
pub fn normalize_or(self, fallback: Self) -> Self
Returns self normalized to length 1.0 if possible, else returns a fallback value.
sourcepub fn try_normalize(self) -> Option<Self>
pub fn try_normalize(self) -> Option<Self>
Normalize the vector, returning None
if the length was already (very close to) zero.
sourcepub fn is_normalized(self) -> bool
pub fn is_normalized(self) -> bool
True if the vector is normalized.
sourcepub fn project_onto_normalized(self, other: Self) -> Self
pub fn project_onto_normalized(self, other: Self) -> Self
See (e.g.) glam::Vec2::project_onto_normalized()
sourcepub fn project_onto(self, other: Self) -> Self
pub fn project_onto(self, other: Self) -> Self
See (e.g.) glam::Vec2::project_onto()
sourcepub fn reject_from_normalized(self, other: Self) -> Self
pub fn reject_from_normalized(self, other: Self) -> Self
See (e.g.) glam::Vec2::reject_from_normalized()
sourcepub fn reject_from(self, other: Self) -> Self
pub fn reject_from(self, other: Self) -> Self
See (e.g.) glam::Vec2::reject_from()
sourcepub fn reflect(self, normal: Self) -> Self
pub fn reflect(self, normal: Self) -> Self
Returns the reflection vector for a given incident vector self
and surface normal normal
.
normal
must be normalized.
sourcepub fn refract(self, normal: Self, eta: T::Scalar) -> Self
pub fn refract(self, normal: Self, eta: T::Scalar) -> Self
Returns the refraction direction for a given incident vector
self
, surface normal normal
and ratio of indices of refraction,
eta
. When total internal reflection occurs, a zero vector will
be returned.
self
and normal
must be normalized.
source§impl<T: Unit<Scalar = f32>> Vector3<T>
impl<T: Unit<Scalar = f32>> Vector3<T>
sourcepub fn from_vec3a(vec: Vec3A) -> Self
pub fn from_vec3a(vec: Vec3A) -> Self
Create from SIMD-aligned glam::Vec3A
.
See the design limitations for why this is needed.
sourcepub fn to_vec3a(self) -> Vec3A
pub fn to_vec3a(self) -> Vec3A
Convert to SIMD-aligned glam::Vec3A
.
See the design limitations for why this is needed.
Trait Implementations§
source§impl<T: FloatUnit> AbsDiffEq for Vector3<T>
impl<T: FloatUnit> AbsDiffEq for Vector3<T>
source§type Epsilon = <<T as Unit>::Scalar as AbsDiffEq>::Epsilon
type Epsilon = <<T as Unit>::Scalar as AbsDiffEq>::Epsilon
source§fn default_epsilon() -> Self::Epsilon
fn default_epsilon() -> Self::Epsilon
source§fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
source§fn abs_diff_ne(&self, other: &Self, epsilon: Self::Epsilon) -> bool
fn abs_diff_ne(&self, other: &Self, epsilon: Self::Epsilon) -> bool
AbsDiffEq::abs_diff_eq
.source§impl<T: Unit> AddAssign<&Vector3<T>> for Point3<T>
impl<T: Unit> AddAssign<&Vector3<T>> for Point3<T>
source§fn add_assign(&mut self, rhs: &Vector3<T>)
fn add_assign(&mut self, rhs: &Vector3<T>)
+=
operation. Read moresource§impl<T: Unit> AddAssign<&Vector3<T>> for Vector3<T>
impl<T: Unit> AddAssign<&Vector3<T>> for Vector3<T>
source§fn add_assign(&mut self, rhs: &Vector3<T>)
fn add_assign(&mut self, rhs: &Vector3<T>)
+=
operation. Read moresource§impl<T: Unit<Scalar = f32>> AddAssign<&f32> for Vector3<T>
impl<T: Unit<Scalar = f32>> AddAssign<&f32> for Vector3<T>
source§fn add_assign(&mut self, rhs: &f32)
fn add_assign(&mut self, rhs: &f32)
+=
operation. Read moresource§impl<T: Unit<Scalar = f64>> AddAssign<&f64> for Vector3<T>
impl<T: Unit<Scalar = f64>> AddAssign<&f64> for Vector3<T>
source§fn add_assign(&mut self, rhs: &f64)
fn add_assign(&mut self, rhs: &f64)
+=
operation. Read moresource§impl<T: Unit<Scalar = i16>> AddAssign<&i16> for Vector3<T>
impl<T: Unit<Scalar = i16>> AddAssign<&i16> for Vector3<T>
source§fn add_assign(&mut self, rhs: &i16)
fn add_assign(&mut self, rhs: &i16)
+=
operation. Read moresource§impl<T: Unit<Scalar = i32>> AddAssign<&i32> for Vector3<T>
impl<T: Unit<Scalar = i32>> AddAssign<&i32> for Vector3<T>
source§fn add_assign(&mut self, rhs: &i32)
fn add_assign(&mut self, rhs: &i32)
+=
operation. Read moresource§impl<T: Unit<Scalar = i64>> AddAssign<&i64> for Vector3<T>
impl<T: Unit<Scalar = i64>> AddAssign<&i64> for Vector3<T>
source§fn add_assign(&mut self, rhs: &i64)
fn add_assign(&mut self, rhs: &i64)
+=
operation. Read moresource§impl<T: Unit<Scalar = u16>> AddAssign<&u16> for Vector3<T>
impl<T: Unit<Scalar = u16>> AddAssign<&u16> for Vector3<T>
source§fn add_assign(&mut self, rhs: &u16)
fn add_assign(&mut self, rhs: &u16)
+=
operation. Read moresource§impl<T: Unit<Scalar = u32>> AddAssign<&u32> for Vector3<T>
impl<T: Unit<Scalar = u32>> AddAssign<&u32> for Vector3<T>
source§fn add_assign(&mut self, rhs: &u32)
fn add_assign(&mut self, rhs: &u32)
+=
operation. Read moresource§impl<T: Unit<Scalar = u64>> AddAssign<&u64> for Vector3<T>
impl<T: Unit<Scalar = u64>> AddAssign<&u64> for Vector3<T>
source§fn add_assign(&mut self, rhs: &u64)
fn add_assign(&mut self, rhs: &u64)
+=
operation. Read moresource§impl<T: Unit> AddAssign<Vector3<T>> for Point3<T>
impl<T: Unit> AddAssign<Vector3<T>> for Point3<T>
source§fn add_assign(&mut self, rhs: Vector3<T>)
fn add_assign(&mut self, rhs: Vector3<T>)
+=
operation. Read moresource§impl<T: Unit<Scalar = f32>> AddAssign<f32> for Vector3<T>
impl<T: Unit<Scalar = f32>> AddAssign<f32> for Vector3<T>
source§fn add_assign(&mut self, rhs: f32)
fn add_assign(&mut self, rhs: f32)
+=
operation. Read moresource§impl<T: Unit<Scalar = f64>> AddAssign<f64> for Vector3<T>
impl<T: Unit<Scalar = f64>> AddAssign<f64> for Vector3<T>
source§fn add_assign(&mut self, rhs: f64)
fn add_assign(&mut self, rhs: f64)
+=
operation. Read moresource§impl<T: Unit<Scalar = i16>> AddAssign<i16> for Vector3<T>
impl<T: Unit<Scalar = i16>> AddAssign<i16> for Vector3<T>
source§fn add_assign(&mut self, rhs: i16)
fn add_assign(&mut self, rhs: i16)
+=
operation. Read moresource§impl<T: Unit<Scalar = i32>> AddAssign<i32> for Vector3<T>
impl<T: Unit<Scalar = i32>> AddAssign<i32> for Vector3<T>
source§fn add_assign(&mut self, rhs: i32)
fn add_assign(&mut self, rhs: i32)
+=
operation. Read moresource§impl<T: Unit<Scalar = i64>> AddAssign<i64> for Vector3<T>
impl<T: Unit<Scalar = i64>> AddAssign<i64> for Vector3<T>
source§fn add_assign(&mut self, rhs: i64)
fn add_assign(&mut self, rhs: i64)
+=
operation. Read moresource§impl<T: Unit<Scalar = u16>> AddAssign<u16> for Vector3<T>
impl<T: Unit<Scalar = u16>> AddAssign<u16> for Vector3<T>
source§fn add_assign(&mut self, rhs: u16)
fn add_assign(&mut self, rhs: u16)
+=
operation. Read moresource§impl<T: Unit<Scalar = u32>> AddAssign<u32> for Vector3<T>
impl<T: Unit<Scalar = u32>> AddAssign<u32> for Vector3<T>
source§fn add_assign(&mut self, rhs: u32)
fn add_assign(&mut self, rhs: u32)
+=
operation. Read moresource§impl<T: Unit<Scalar = u64>> AddAssign<u64> for Vector3<T>
impl<T: Unit<Scalar = u64>> AddAssign<u64> for Vector3<T>
source§fn add_assign(&mut self, rhs: u64)
fn add_assign(&mut self, rhs: u64)
+=
operation. Read moresource§impl<T: Unit> AddAssign for Vector3<T>
impl<T: Unit> AddAssign for Vector3<T>
source§fn add_assign(&mut self, rhs: Vector3<T>)
fn add_assign(&mut self, rhs: Vector3<T>)
+=
operation. Read moresource§impl<T: Unit<Scalar = f64>> BorrowMut<DVec3> for Vector3<T>
impl<T: Unit<Scalar = f64>> BorrowMut<DVec3> for Vector3<T>
source§fn borrow_mut(&mut self) -> &mut DVec3
fn borrow_mut(&mut self) -> &mut DVec3
source§impl<T: Unit<Scalar = i16>> BorrowMut<I16Vec3> for Vector3<T>
impl<T: Unit<Scalar = i16>> BorrowMut<I16Vec3> for Vector3<T>
source§fn borrow_mut(&mut self) -> &mut I16Vec3
fn borrow_mut(&mut self) -> &mut I16Vec3
source§impl<T: Unit<Scalar = i64>> BorrowMut<I64Vec3> for Vector3<T>
impl<T: Unit<Scalar = i64>> BorrowMut<I64Vec3> for Vector3<T>
source§fn borrow_mut(&mut self) -> &mut I64Vec3
fn borrow_mut(&mut self) -> &mut I64Vec3
source§impl<T: Unit<Scalar = i32>> BorrowMut<IVec3> for Vector3<T>
impl<T: Unit<Scalar = i32>> BorrowMut<IVec3> for Vector3<T>
source§fn borrow_mut(&mut self) -> &mut IVec3
fn borrow_mut(&mut self) -> &mut IVec3
source§impl<T: Unit<Scalar = u16>> BorrowMut<U16Vec3> for Vector3<T>
impl<T: Unit<Scalar = u16>> BorrowMut<U16Vec3> for Vector3<T>
source§fn borrow_mut(&mut self) -> &mut U16Vec3
fn borrow_mut(&mut self) -> &mut U16Vec3
source§impl<T: Unit<Scalar = u64>> BorrowMut<U64Vec3> for Vector3<T>
impl<T: Unit<Scalar = u64>> BorrowMut<U64Vec3> for Vector3<T>
source§fn borrow_mut(&mut self) -> &mut U64Vec3
fn borrow_mut(&mut self) -> &mut U64Vec3
source§impl<T: Unit<Scalar = u32>> BorrowMut<UVec3> for Vector3<T>
impl<T: Unit<Scalar = u32>> BorrowMut<UVec3> for Vector3<T>
source§fn borrow_mut(&mut self) -> &mut UVec3
fn borrow_mut(&mut self) -> &mut UVec3
source§impl<T: Unit<Scalar = f32>> BorrowMut<Vec3> for Vector3<T>
impl<T: Unit<Scalar = f32>> BorrowMut<Vec3> for Vector3<T>
source§fn borrow_mut(&mut self) -> &mut Vec3
fn borrow_mut(&mut self) -> &mut Vec3
source§impl<T: Unit> DivAssign<&Vector3<T>> for Vector3<T>
impl<T: Unit> DivAssign<&Vector3<T>> for Vector3<T>
source§fn div_assign(&mut self, rhs: &Vector3<T>)
fn div_assign(&mut self, rhs: &Vector3<T>)
/=
operation. Read moresource§impl<T: Unit<Scalar = f32>> DivAssign<&f32> for Vector3<T>
impl<T: Unit<Scalar = f32>> DivAssign<&f32> for Vector3<T>
source§fn div_assign(&mut self, rhs: &f32)
fn div_assign(&mut self, rhs: &f32)
/=
operation. Read moresource§impl<T: Unit<Scalar = f64>> DivAssign<&f64> for Vector3<T>
impl<T: Unit<Scalar = f64>> DivAssign<&f64> for Vector3<T>
source§fn div_assign(&mut self, rhs: &f64)
fn div_assign(&mut self, rhs: &f64)
/=
operation. Read moresource§impl<T: Unit<Scalar = i16>> DivAssign<&i16> for Vector3<T>
impl<T: Unit<Scalar = i16>> DivAssign<&i16> for Vector3<T>
source§fn div_assign(&mut self, rhs: &i16)
fn div_assign(&mut self, rhs: &i16)
/=
operation. Read moresource§impl<T: Unit<Scalar = i32>> DivAssign<&i32> for Vector3<T>
impl<T: Unit<Scalar = i32>> DivAssign<&i32> for Vector3<T>
source§fn div_assign(&mut self, rhs: &i32)
fn div_assign(&mut self, rhs: &i32)
/=
operation. Read moresource§impl<T: Unit<Scalar = i64>> DivAssign<&i64> for Vector3<T>
impl<T: Unit<Scalar = i64>> DivAssign<&i64> for Vector3<T>
source§fn div_assign(&mut self, rhs: &i64)
fn div_assign(&mut self, rhs: &i64)
/=
operation. Read moresource§impl<T: Unit<Scalar = u16>> DivAssign<&u16> for Vector3<T>
impl<T: Unit<Scalar = u16>> DivAssign<&u16> for Vector3<T>
source§fn div_assign(&mut self, rhs: &u16)
fn div_assign(&mut self, rhs: &u16)
/=
operation. Read moresource§impl<T: Unit<Scalar = u32>> DivAssign<&u32> for Vector3<T>
impl<T: Unit<Scalar = u32>> DivAssign<&u32> for Vector3<T>
source§fn div_assign(&mut self, rhs: &u32)
fn div_assign(&mut self, rhs: &u32)
/=
operation. Read moresource§impl<T: Unit<Scalar = u64>> DivAssign<&u64> for Vector3<T>
impl<T: Unit<Scalar = u64>> DivAssign<&u64> for Vector3<T>
source§fn div_assign(&mut self, rhs: &u64)
fn div_assign(&mut self, rhs: &u64)
/=
operation. Read moresource§impl<T: Unit<Scalar = f32>> DivAssign<f32> for Vector3<T>
impl<T: Unit<Scalar = f32>> DivAssign<f32> for Vector3<T>
source§fn div_assign(&mut self, rhs: f32)
fn div_assign(&mut self, rhs: f32)
/=
operation. Read moresource§impl<T: Unit<Scalar = f64>> DivAssign<f64> for Vector3<T>
impl<T: Unit<Scalar = f64>> DivAssign<f64> for Vector3<T>
source§fn div_assign(&mut self, rhs: f64)
fn div_assign(&mut self, rhs: f64)
/=
operation. Read moresource§impl<T: Unit<Scalar = i16>> DivAssign<i16> for Vector3<T>
impl<T: Unit<Scalar = i16>> DivAssign<i16> for Vector3<T>
source§fn div_assign(&mut self, rhs: i16)
fn div_assign(&mut self, rhs: i16)
/=
operation. Read moresource§impl<T: Unit<Scalar = i32>> DivAssign<i32> for Vector3<T>
impl<T: Unit<Scalar = i32>> DivAssign<i32> for Vector3<T>
source§fn div_assign(&mut self, rhs: i32)
fn div_assign(&mut self, rhs: i32)
/=
operation. Read moresource§impl<T: Unit<Scalar = i64>> DivAssign<i64> for Vector3<T>
impl<T: Unit<Scalar = i64>> DivAssign<i64> for Vector3<T>
source§fn div_assign(&mut self, rhs: i64)
fn div_assign(&mut self, rhs: i64)
/=
operation. Read moresource§impl<T: Unit<Scalar = u16>> DivAssign<u16> for Vector3<T>
impl<T: Unit<Scalar = u16>> DivAssign<u16> for Vector3<T>
source§fn div_assign(&mut self, rhs: u16)
fn div_assign(&mut self, rhs: u16)
/=
operation. Read moresource§impl<T: Unit<Scalar = u32>> DivAssign<u32> for Vector3<T>
impl<T: Unit<Scalar = u32>> DivAssign<u32> for Vector3<T>
source§fn div_assign(&mut self, rhs: u32)
fn div_assign(&mut self, rhs: u32)
/=
operation. Read moresource§impl<T: Unit<Scalar = u64>> DivAssign<u64> for Vector3<T>
impl<T: Unit<Scalar = u64>> DivAssign<u64> for Vector3<T>
source§fn div_assign(&mut self, rhs: u64)
fn div_assign(&mut self, rhs: u64)
/=
operation. Read moresource§impl<T: Unit> DivAssign for Vector3<T>
impl<T: Unit> DivAssign for Vector3<T>
source§fn div_assign(&mut self, rhs: Vector3<T>)
fn div_assign(&mut self, rhs: Vector3<T>)
/=
operation. Read moresource§impl<T: Unit> From<(<T as Unit>::Scalar, <T as Unit>::Scalar, <T as Unit>::Scalar)> for Vector3<T>
impl<T: Unit> From<(<T as Unit>::Scalar, <T as Unit>::Scalar, <T as Unit>::Scalar)> for Vector3<T>
source§impl<T: Unit> IntoIterator for Vector3<T>
impl<T: Unit> IntoIterator for Vector3<T>
source§impl<T: Unit> MulAssign<&Vector3<T>> for Vector3<T>
impl<T: Unit> MulAssign<&Vector3<T>> for Vector3<T>
source§fn mul_assign(&mut self, rhs: &Vector3<T>)
fn mul_assign(&mut self, rhs: &Vector3<T>)
*=
operation. Read moresource§impl<T: Unit<Scalar = f32>> MulAssign<&f32> for Vector3<T>
impl<T: Unit<Scalar = f32>> MulAssign<&f32> for Vector3<T>
source§fn mul_assign(&mut self, rhs: &f32)
fn mul_assign(&mut self, rhs: &f32)
*=
operation. Read moresource§impl<T: Unit<Scalar = f64>> MulAssign<&f64> for Vector3<T>
impl<T: Unit<Scalar = f64>> MulAssign<&f64> for Vector3<T>
source§fn mul_assign(&mut self, rhs: &f64)
fn mul_assign(&mut self, rhs: &f64)
*=
operation. Read moresource§impl<T: Unit<Scalar = i16>> MulAssign<&i16> for Vector3<T>
impl<T: Unit<Scalar = i16>> MulAssign<&i16> for Vector3<T>
source§fn mul_assign(&mut self, rhs: &i16)
fn mul_assign(&mut self, rhs: &i16)
*=
operation. Read moresource§impl<T: Unit<Scalar = i32>> MulAssign<&i32> for Vector3<T>
impl<T: Unit<Scalar = i32>> MulAssign<&i32> for Vector3<T>
source§fn mul_assign(&mut self, rhs: &i32)
fn mul_assign(&mut self, rhs: &i32)
*=
operation. Read moresource§impl<T: Unit<Scalar = i64>> MulAssign<&i64> for Vector3<T>
impl<T: Unit<Scalar = i64>> MulAssign<&i64> for Vector3<T>
source§fn mul_assign(&mut self, rhs: &i64)
fn mul_assign(&mut self, rhs: &i64)
*=
operation. Read moresource§impl<T: Unit<Scalar = u16>> MulAssign<&u16> for Vector3<T>
impl<T: Unit<Scalar = u16>> MulAssign<&u16> for Vector3<T>
source§fn mul_assign(&mut self, rhs: &u16)
fn mul_assign(&mut self, rhs: &u16)
*=
operation. Read moresource§impl<T: Unit<Scalar = u32>> MulAssign<&u32> for Vector3<T>
impl<T: Unit<Scalar = u32>> MulAssign<&u32> for Vector3<T>
source§fn mul_assign(&mut self, rhs: &u32)
fn mul_assign(&mut self, rhs: &u32)
*=
operation. Read moresource§impl<T: Unit<Scalar = u64>> MulAssign<&u64> for Vector3<T>
impl<T: Unit<Scalar = u64>> MulAssign<&u64> for Vector3<T>
source§fn mul_assign(&mut self, rhs: &u64)
fn mul_assign(&mut self, rhs: &u64)
*=
operation. Read moresource§impl<T: Unit<Scalar = f32>> MulAssign<f32> for Vector3<T>
impl<T: Unit<Scalar = f32>> MulAssign<f32> for Vector3<T>
source§fn mul_assign(&mut self, rhs: f32)
fn mul_assign(&mut self, rhs: f32)
*=
operation. Read moresource§impl<T: Unit<Scalar = f64>> MulAssign<f64> for Vector3<T>
impl<T: Unit<Scalar = f64>> MulAssign<f64> for Vector3<T>
source§fn mul_assign(&mut self, rhs: f64)
fn mul_assign(&mut self, rhs: f64)
*=
operation. Read moresource§impl<T: Unit<Scalar = i16>> MulAssign<i16> for Vector3<T>
impl<T: Unit<Scalar = i16>> MulAssign<i16> for Vector3<T>
source§fn mul_assign(&mut self, rhs: i16)
fn mul_assign(&mut self, rhs: i16)
*=
operation. Read moresource§impl<T: Unit<Scalar = i32>> MulAssign<i32> for Vector3<T>
impl<T: Unit<Scalar = i32>> MulAssign<i32> for Vector3<T>
source§fn mul_assign(&mut self, rhs: i32)
fn mul_assign(&mut self, rhs: i32)
*=
operation. Read moresource§impl<T: Unit<Scalar = i64>> MulAssign<i64> for Vector3<T>
impl<T: Unit<Scalar = i64>> MulAssign<i64> for Vector3<T>
source§fn mul_assign(&mut self, rhs: i64)
fn mul_assign(&mut self, rhs: i64)
*=
operation. Read moresource§impl<T: Unit<Scalar = u16>> MulAssign<u16> for Vector3<T>
impl<T: Unit<Scalar = u16>> MulAssign<u16> for Vector3<T>
source§fn mul_assign(&mut self, rhs: u16)
fn mul_assign(&mut self, rhs: u16)
*=
operation. Read moresource§impl<T: Unit<Scalar = u32>> MulAssign<u32> for Vector3<T>
impl<T: Unit<Scalar = u32>> MulAssign<u32> for Vector3<T>
source§fn mul_assign(&mut self, rhs: u32)
fn mul_assign(&mut self, rhs: u32)
*=
operation. Read moresource§impl<T: Unit<Scalar = u64>> MulAssign<u64> for Vector3<T>
impl<T: Unit<Scalar = u64>> MulAssign<u64> for Vector3<T>
source§fn mul_assign(&mut self, rhs: u64)
fn mul_assign(&mut self, rhs: u64)
*=
operation. Read moresource§impl<T: Unit> MulAssign for Vector3<T>
impl<T: Unit> MulAssign for Vector3<T>
source§fn mul_assign(&mut self, rhs: Vector3<T>)
fn mul_assign(&mut self, rhs: Vector3<T>)
*=
operation. Read moresource§impl<T: SignedUnit> Neg for Vector3<T>
impl<T: SignedUnit> Neg for Vector3<T>
source§impl<T: FloatUnit> RelativeEq for Vector3<T>
impl<T: FloatUnit> RelativeEq for Vector3<T>
source§fn default_max_relative() -> Self::Epsilon
fn default_max_relative() -> Self::Epsilon
source§fn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon,
) -> bool
fn relative_eq( &self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon, ) -> bool
source§fn relative_ne(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon,
) -> bool
fn relative_ne( &self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon, ) -> bool
RelativeEq::relative_eq
.source§impl<T: Unit> RemAssign<&Vector3<T>> for Point3<T>
impl<T: Unit> RemAssign<&Vector3<T>> for Point3<T>
source§fn rem_assign(&mut self, rhs: &Vector3<T>)
fn rem_assign(&mut self, rhs: &Vector3<T>)
%=
operation. Read moresource§impl<T: Unit> RemAssign<&Vector3<T>> for Vector3<T>
impl<T: Unit> RemAssign<&Vector3<T>> for Vector3<T>
source§fn rem_assign(&mut self, rhs: &Vector3<T>)
fn rem_assign(&mut self, rhs: &Vector3<T>)
%=
operation. Read moresource§impl<T: Unit<Scalar = f32>> RemAssign<&f32> for Vector3<T>
impl<T: Unit<Scalar = f32>> RemAssign<&f32> for Vector3<T>
source§fn rem_assign(&mut self, rhs: &f32)
fn rem_assign(&mut self, rhs: &f32)
%=
operation. Read moresource§impl<T: Unit<Scalar = f64>> RemAssign<&f64> for Vector3<T>
impl<T: Unit<Scalar = f64>> RemAssign<&f64> for Vector3<T>
source§fn rem_assign(&mut self, rhs: &f64)
fn rem_assign(&mut self, rhs: &f64)
%=
operation. Read moresource§impl<T: Unit<Scalar = i16>> RemAssign<&i16> for Vector3<T>
impl<T: Unit<Scalar = i16>> RemAssign<&i16> for Vector3<T>
source§fn rem_assign(&mut self, rhs: &i16)
fn rem_assign(&mut self, rhs: &i16)
%=
operation. Read moresource§impl<T: Unit<Scalar = i32>> RemAssign<&i32> for Vector3<T>
impl<T: Unit<Scalar = i32>> RemAssign<&i32> for Vector3<T>
source§fn rem_assign(&mut self, rhs: &i32)
fn rem_assign(&mut self, rhs: &i32)
%=
operation. Read moresource§impl<T: Unit<Scalar = i64>> RemAssign<&i64> for Vector3<T>
impl<T: Unit<Scalar = i64>> RemAssign<&i64> for Vector3<T>
source§fn rem_assign(&mut self, rhs: &i64)
fn rem_assign(&mut self, rhs: &i64)
%=
operation. Read moresource§impl<T: Unit<Scalar = u16>> RemAssign<&u16> for Vector3<T>
impl<T: Unit<Scalar = u16>> RemAssign<&u16> for Vector3<T>
source§fn rem_assign(&mut self, rhs: &u16)
fn rem_assign(&mut self, rhs: &u16)
%=
operation. Read moresource§impl<T: Unit<Scalar = u32>> RemAssign<&u32> for Vector3<T>
impl<T: Unit<Scalar = u32>> RemAssign<&u32> for Vector3<T>
source§fn rem_assign(&mut self, rhs: &u32)
fn rem_assign(&mut self, rhs: &u32)
%=
operation. Read moresource§impl<T: Unit<Scalar = u64>> RemAssign<&u64> for Vector3<T>
impl<T: Unit<Scalar = u64>> RemAssign<&u64> for Vector3<T>
source§fn rem_assign(&mut self, rhs: &u64)
fn rem_assign(&mut self, rhs: &u64)
%=
operation. Read moresource§impl<T: Unit> RemAssign<Vector3<T>> for Point3<T>
impl<T: Unit> RemAssign<Vector3<T>> for Point3<T>
source§fn rem_assign(&mut self, rhs: Vector3<T>)
fn rem_assign(&mut self, rhs: Vector3<T>)
%=
operation. Read moresource§impl<T: Unit<Scalar = f32>> RemAssign<f32> for Vector3<T>
impl<T: Unit<Scalar = f32>> RemAssign<f32> for Vector3<T>
source§fn rem_assign(&mut self, rhs: f32)
fn rem_assign(&mut self, rhs: f32)
%=
operation. Read moresource§impl<T: Unit<Scalar = f64>> RemAssign<f64> for Vector3<T>
impl<T: Unit<Scalar = f64>> RemAssign<f64> for Vector3<T>
source§fn rem_assign(&mut self, rhs: f64)
fn rem_assign(&mut self, rhs: f64)
%=
operation. Read moresource§impl<T: Unit<Scalar = i16>> RemAssign<i16> for Vector3<T>
impl<T: Unit<Scalar = i16>> RemAssign<i16> for Vector3<T>
source§fn rem_assign(&mut self, rhs: i16)
fn rem_assign(&mut self, rhs: i16)
%=
operation. Read moresource§impl<T: Unit<Scalar = i32>> RemAssign<i32> for Vector3<T>
impl<T: Unit<Scalar = i32>> RemAssign<i32> for Vector3<T>
source§fn rem_assign(&mut self, rhs: i32)
fn rem_assign(&mut self, rhs: i32)
%=
operation. Read moresource§impl<T: Unit<Scalar = i64>> RemAssign<i64> for Vector3<T>
impl<T: Unit<Scalar = i64>> RemAssign<i64> for Vector3<T>
source§fn rem_assign(&mut self, rhs: i64)
fn rem_assign(&mut self, rhs: i64)
%=
operation. Read moresource§impl<T: Unit<Scalar = u16>> RemAssign<u16> for Vector3<T>
impl<T: Unit<Scalar = u16>> RemAssign<u16> for Vector3<T>
source§fn rem_assign(&mut self, rhs: u16)
fn rem_assign(&mut self, rhs: u16)
%=
operation. Read moresource§impl<T: Unit<Scalar = u32>> RemAssign<u32> for Vector3<T>
impl<T: Unit<Scalar = u32>> RemAssign<u32> for Vector3<T>
source§fn rem_assign(&mut self, rhs: u32)
fn rem_assign(&mut self, rhs: u32)
%=
operation. Read moresource§impl<T: Unit<Scalar = u64>> RemAssign<u64> for Vector3<T>
impl<T: Unit<Scalar = u64>> RemAssign<u64> for Vector3<T>
source§fn rem_assign(&mut self, rhs: u64)
fn rem_assign(&mut self, rhs: u64)
%=
operation. Read moresource§impl<T: Unit> RemAssign for Vector3<T>
impl<T: Unit> RemAssign for Vector3<T>
source§fn rem_assign(&mut self, rhs: Vector3<T>)
fn rem_assign(&mut self, rhs: Vector3<T>)
%=
operation. Read moresource§impl<T: Unit> SubAssign<&Vector3<T>> for Point3<T>
impl<T: Unit> SubAssign<&Vector3<T>> for Point3<T>
source§fn sub_assign(&mut self, rhs: &Vector3<T>)
fn sub_assign(&mut self, rhs: &Vector3<T>)
-=
operation. Read moresource§impl<T: Unit> SubAssign<&Vector3<T>> for Vector3<T>
impl<T: Unit> SubAssign<&Vector3<T>> for Vector3<T>
source§fn sub_assign(&mut self, rhs: &Vector3<T>)
fn sub_assign(&mut self, rhs: &Vector3<T>)
-=
operation. Read moresource§impl<T: Unit<Scalar = f32>> SubAssign<&f32> for Vector3<T>
impl<T: Unit<Scalar = f32>> SubAssign<&f32> for Vector3<T>
source§fn sub_assign(&mut self, rhs: &f32)
fn sub_assign(&mut self, rhs: &f32)
-=
operation. Read moresource§impl<T: Unit<Scalar = f64>> SubAssign<&f64> for Vector3<T>
impl<T: Unit<Scalar = f64>> SubAssign<&f64> for Vector3<T>
source§fn sub_assign(&mut self, rhs: &f64)
fn sub_assign(&mut self, rhs: &f64)
-=
operation. Read moresource§impl<T: Unit<Scalar = i16>> SubAssign<&i16> for Vector3<T>
impl<T: Unit<Scalar = i16>> SubAssign<&i16> for Vector3<T>
source§fn sub_assign(&mut self, rhs: &i16)
fn sub_assign(&mut self, rhs: &i16)
-=
operation. Read moresource§impl<T: Unit<Scalar = i32>> SubAssign<&i32> for Vector3<T>
impl<T: Unit<Scalar = i32>> SubAssign<&i32> for Vector3<T>
source§fn sub_assign(&mut self, rhs: &i32)
fn sub_assign(&mut self, rhs: &i32)
-=
operation. Read moresource§impl<T: Unit<Scalar = i64>> SubAssign<&i64> for Vector3<T>
impl<T: Unit<Scalar = i64>> SubAssign<&i64> for Vector3<T>
source§fn sub_assign(&mut self, rhs: &i64)
fn sub_assign(&mut self, rhs: &i64)
-=
operation. Read moresource§impl<T: Unit<Scalar = u16>> SubAssign<&u16> for Vector3<T>
impl<T: Unit<Scalar = u16>> SubAssign<&u16> for Vector3<T>
source§fn sub_assign(&mut self, rhs: &u16)
fn sub_assign(&mut self, rhs: &u16)
-=
operation. Read moresource§impl<T: Unit<Scalar = u32>> SubAssign<&u32> for Vector3<T>
impl<T: Unit<Scalar = u32>> SubAssign<&u32> for Vector3<T>
source§fn sub_assign(&mut self, rhs: &u32)
fn sub_assign(&mut self, rhs: &u32)
-=
operation. Read moresource§impl<T: Unit<Scalar = u64>> SubAssign<&u64> for Vector3<T>
impl<T: Unit<Scalar = u64>> SubAssign<&u64> for Vector3<T>
source§fn sub_assign(&mut self, rhs: &u64)
fn sub_assign(&mut self, rhs: &u64)
-=
operation. Read moresource§impl<T: Unit> SubAssign<Vector3<T>> for Point3<T>
impl<T: Unit> SubAssign<Vector3<T>> for Point3<T>
source§fn sub_assign(&mut self, rhs: Vector3<T>)
fn sub_assign(&mut self, rhs: Vector3<T>)
-=
operation. Read moresource§impl<T: Unit<Scalar = f32>> SubAssign<f32> for Vector3<T>
impl<T: Unit<Scalar = f32>> SubAssign<f32> for Vector3<T>
source§fn sub_assign(&mut self, rhs: f32)
fn sub_assign(&mut self, rhs: f32)
-=
operation. Read moresource§impl<T: Unit<Scalar = f64>> SubAssign<f64> for Vector3<T>
impl<T: Unit<Scalar = f64>> SubAssign<f64> for Vector3<T>
source§fn sub_assign(&mut self, rhs: f64)
fn sub_assign(&mut self, rhs: f64)
-=
operation. Read moresource§impl<T: Unit<Scalar = i16>> SubAssign<i16> for Vector3<T>
impl<T: Unit<Scalar = i16>> SubAssign<i16> for Vector3<T>
source§fn sub_assign(&mut self, rhs: i16)
fn sub_assign(&mut self, rhs: i16)
-=
operation. Read moresource§impl<T: Unit<Scalar = i32>> SubAssign<i32> for Vector3<T>
impl<T: Unit<Scalar = i32>> SubAssign<i32> for Vector3<T>
source§fn sub_assign(&mut self, rhs: i32)
fn sub_assign(&mut self, rhs: i32)
-=
operation. Read moresource§impl<T: Unit<Scalar = i64>> SubAssign<i64> for Vector3<T>
impl<T: Unit<Scalar = i64>> SubAssign<i64> for Vector3<T>
source§fn sub_assign(&mut self, rhs: i64)
fn sub_assign(&mut self, rhs: i64)
-=
operation. Read moresource§impl<T: Unit<Scalar = u16>> SubAssign<u16> for Vector3<T>
impl<T: Unit<Scalar = u16>> SubAssign<u16> for Vector3<T>
source§fn sub_assign(&mut self, rhs: u16)
fn sub_assign(&mut self, rhs: u16)
-=
operation. Read moresource§impl<T: Unit<Scalar = u32>> SubAssign<u32> for Vector3<T>
impl<T: Unit<Scalar = u32>> SubAssign<u32> for Vector3<T>
source§fn sub_assign(&mut self, rhs: u32)
fn sub_assign(&mut self, rhs: u32)
-=
operation. Read moresource§impl<T: Unit<Scalar = u64>> SubAssign<u64> for Vector3<T>
impl<T: Unit<Scalar = u64>> SubAssign<u64> for Vector3<T>
source§fn sub_assign(&mut self, rhs: u64)
fn sub_assign(&mut self, rhs: u64)
-=
operation. Read moresource§impl<T: Unit> SubAssign for Vector3<T>
impl<T: Unit> SubAssign for Vector3<T>
source§fn sub_assign(&mut self, rhs: Vector3<T>)
fn sub_assign(&mut self, rhs: Vector3<T>)
-=
operation. Read moresource§impl<T: Unit> Swizzle<T> for Vector3<T>
impl<T: Unit> Swizzle<T> for Vector3<T>
source§fn swizzle2<const X: usize, const Y: usize>(&self) -> Vector2<T>
fn swizzle2<const X: usize, const Y: usize>(&self) -> Vector2<T>
source§impl<Src, Dst> TransformMap<Vector3<Src>> for Transform3<Src, Dst>
impl<Src, Dst> TransformMap<Vector3<Src>> for Transform3<Src, Dst>
source§impl<T: Unit> Transparent for Vector3<T>
impl<T: Unit> Transparent for Vector3<T>
SAFETY: These are guaranteed to have the same representation.
source§impl<T: FloatUnit> UlpsEq for Vector3<T>
impl<T: FloatUnit> UlpsEq for Vector3<T>
source§impl<T: Unit> Vec3Swizzles for Vector3<T>
impl<T: Unit> Vec3Swizzles for Vector3<T>
type Vec2 = Vector2<T>
type Vec4 = Vector4<T>
fn xx(self) -> Vector2<T>
fn xy(self) -> Vector2<T>
fn yy(self) -> Vector2<T>
fn yx(self) -> Vector2<T>
fn xxx(self) -> Vector3<T>
fn xxy(self) -> Vector3<T>
fn xyx(self) -> Vector3<T>
fn xyy(self) -> Vector3<T>
fn yxx(self) -> Vector3<T>
fn yxy(self) -> Vector3<T>
fn yyx(self) -> Vector3<T>
fn yyy(self) -> Vector3<T>
fn xxxx(self) -> Vector4<T>
fn xxxy(self) -> Vector4<T>
fn xxyx(self) -> Vector4<T>
fn xxyy(self) -> Vector4<T>
fn xyxx(self) -> Vector4<T>
fn xyxy(self) -> Vector4<T>
fn xyyx(self) -> Vector4<T>
fn xyyy(self) -> Vector4<T>
fn yxxx(self) -> Vector4<T>
fn yxxy(self) -> Vector4<T>
fn yxyx(self) -> Vector4<T>
fn yxyy(self) -> Vector4<T>
fn yyxx(self) -> Vector4<T>
fn yyxy(self) -> Vector4<T>
fn yyyx(self) -> Vector4<T>
fn yyyy(self) -> Vector4<T>
fn xz(self) -> Vector2<T>
fn yz(self) -> Vector2<T>
fn zx(self) -> Vector2<T>
fn zy(self) -> Vector2<T>
fn zz(self) -> Vector2<T>
fn xxz(self) -> Vector3<T>
fn xyz(self) -> Vector3<T>
fn xzx(self) -> Vector3<T>
fn xzy(self) -> Vector3<T>
fn xzz(self) -> Vector3<T>
fn yxz(self) -> Vector3<T>
fn yyz(self) -> Vector3<T>
fn yzx(self) -> Vector3<T>
fn yzy(self) -> Vector3<T>
fn yzz(self) -> Vector3<T>
fn zxx(self) -> Vector3<T>
fn zxy(self) -> Vector3<T>
fn zxz(self) -> Vector3<T>
fn zyx(self) -> Vector3<T>
fn zyy(self) -> Vector3<T>
fn zyz(self) -> Vector3<T>
fn zzx(self) -> Vector3<T>
fn zzy(self) -> Vector3<T>
fn zzz(self) -> Vector3<T>
fn xxxz(self) -> Vector4<T>
fn xxyz(self) -> Vector4<T>
fn xxzx(self) -> Vector4<T>
fn xxzy(self) -> Vector4<T>
fn xxzz(self) -> Vector4<T>
fn xyxz(self) -> Vector4<T>
fn xyyz(self) -> Vector4<T>
fn xyzx(self) -> Vector4<T>
fn xyzy(self) -> Vector4<T>
fn xyzz(self) -> Vector4<T>
fn xzxx(self) -> Vector4<T>
fn xzxy(self) -> Vector4<T>
fn xzxz(self) -> Vector4<T>
fn xzyx(self) -> Vector4<T>
fn xzyy(self) -> Vector4<T>
fn xzyz(self) -> Vector4<T>
fn xzzx(self) -> Vector4<T>
fn xzzy(self) -> Vector4<T>
fn xzzz(self) -> Vector4<T>
fn yxxz(self) -> Vector4<T>
fn yxyz(self) -> Vector4<T>
fn yxzx(self) -> Vector4<T>
fn yxzy(self) -> Vector4<T>
fn yxzz(self) -> Vector4<T>
fn yyxz(self) -> Vector4<T>
fn yyyz(self) -> Vector4<T>
fn yyzx(self) -> Vector4<T>
fn yyzy(self) -> Vector4<T>
fn yyzz(self) -> Vector4<T>
fn yzxx(self) -> Vector4<T>
fn yzxy(self) -> Vector4<T>
fn yzxz(self) -> Vector4<T>
fn yzyx(self) -> Vector4<T>
fn yzyy(self) -> Vector4<T>
fn yzyz(self) -> Vector4<T>
fn yzzx(self) -> Vector4<T>
fn yzzy(self) -> Vector4<T>
fn yzzz(self) -> Vector4<T>
fn zxxx(self) -> Vector4<T>
fn zxxy(self) -> Vector4<T>
fn zxxz(self) -> Vector4<T>
fn zxyx(self) -> Vector4<T>
fn zxyy(self) -> Vector4<T>
fn zxyz(self) -> Vector4<T>
fn zxzx(self) -> Vector4<T>
fn zxzy(self) -> Vector4<T>
fn zxzz(self) -> Vector4<T>
fn zyxx(self) -> Vector4<T>
fn zyxy(self) -> Vector4<T>
fn zyxz(self) -> Vector4<T>
fn zyyx(self) -> Vector4<T>
fn zyyy(self) -> Vector4<T>
fn zyyz(self) -> Vector4<T>
fn zyzx(self) -> Vector4<T>
fn zyzy(self) -> Vector4<T>
fn zyzz(self) -> Vector4<T>
fn zzxx(self) -> Vector4<T>
fn zzxy(self) -> Vector4<T>
fn zzxz(self) -> Vector4<T>
fn zzyx(self) -> Vector4<T>
fn zzyy(self) -> Vector4<T>
fn zzyz(self) -> Vector4<T>
fn zzzx(self) -> Vector4<T>
fn zzzy(self) -> Vector4<T>
fn zzzz(self) -> Vector4<T>
source§impl<T: Unit> Zeroable for Vector3<T>
impl<T: Unit> Zeroable for Vector3<T>
SAFETY: T::Scalar
is Zeroable
, and Vector3
is #[repr(C)]
.
impl<T: Unit> Copy for Vector3<T>
impl<T: Unit<Scalar: Eq>> Eq for Vector3<T>
impl<T: Unit> Pod for Vector3<T>
SAFETY: T::Scalar
is Pod
.
Auto Trait Implementations§
impl<U> Freeze for Vector3<U>
impl<U> RefUnwindSafe for Vector3<U>
impl<U> Send for Vector3<U>
impl<U> Sync for Vector3<U>
impl<U> Unpin for Vector3<U>
impl<U> UnwindSafe for Vector3<U>
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
source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
source§type Bits = T
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
.source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self
.source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)