#[repr(C)]pub struct Vector2 {
pub x: f32,
pub y: f32,
}
Expand description
A vector in 2D space.
Fields§
§x: f32
§y: f32
Implementations§
Source§impl Vector2
impl Vector2
Sourcepub const fn from_scalar(s: f32) -> Self
pub const fn from_scalar(s: f32) -> Self
Construct new a vector where each coordinate is the same
Sourcepub fn lerp(&self, rhs: Self, factor: f32) -> Self
pub fn lerp(&self, rhs: Self, factor: f32) -> Self
Linear interpolation between this vector and another
Sourcepub fn min(&self, rhs: Self) -> Self
pub fn min(&self, rhs: Self) -> Self
Compute the element-wise minimum of this vector and another
Sourcepub fn max(&self, rhs: Self) -> Self
pub fn max(&self, rhs: Self) -> Self
Compute the element-wise maximum of this vector and another
Sourcepub fn magnitude_squared(&self) -> f32
pub fn magnitude_squared(&self) -> f32
The length of this vector squared. Note that this avoids an expensive square root.
Sourcepub fn magnitude(&self) -> f32
pub fn magnitude(&self) -> f32
The length of this vector. Note that this involves an expensive square root.
Sourcepub fn normalized(&self) -> Self
pub fn normalized(&self) -> Self
Normalize this vector to unit length. Note that this involves an expensive square root.
pub fn as_slice(&self) -> &[f32]
Trait Implementations§
Source§impl AddAssign<f32> for Vector2
impl AddAssign<f32> for Vector2
Source§fn add_assign(&mut self, t: f32)
fn add_assign(&mut self, t: f32)
Performs the
+=
operation. Read moreSource§impl AddAssign for Vector2
impl AddAssign for Vector2
Source§fn add_assign(&mut self, rhs: Vector2)
fn add_assign(&mut self, rhs: Vector2)
Performs the
+=
operation. Read moreSource§impl DivAssign<f32> for Vector2
impl DivAssign<f32> for Vector2
Source§fn div_assign(&mut self, t: f32)
fn div_assign(&mut self, t: f32)
Performs the
/=
operation. Read moreSource§impl DivAssign for Vector2
impl DivAssign for Vector2
Source§fn div_assign(&mut self, rhs: Vector2)
fn div_assign(&mut self, rhs: Vector2)
Performs the
/=
operation. Read moreSource§impl MulAssign<f32> for Vector2
impl MulAssign<f32> for Vector2
Source§fn mul_assign(&mut self, t: f32)
fn mul_assign(&mut self, t: f32)
Performs the
*=
operation. Read moreSource§impl MulAssign for Vector2
impl MulAssign for Vector2
Source§fn mul_assign(&mut self, rhs: Vector2)
fn mul_assign(&mut self, rhs: Vector2)
Performs the
*=
operation. Read moreSource§impl NearlyEqual for &Vector2
impl NearlyEqual for &Vector2
fn nearly_equals(self, rhs: Self) -> bool
Source§impl SubAssign<f32> for Vector2
impl SubAssign<f32> for Vector2
Source§fn sub_assign(&mut self, t: f32)
fn sub_assign(&mut self, t: f32)
Performs the
-=
operation. Read moreSource§impl SubAssign for Vector2
impl SubAssign for Vector2
Source§fn sub_assign(&mut self, rhs: Vector2)
fn sub_assign(&mut self, rhs: Vector2)
Performs the
-=
operation. Read moreimpl Copy for Vector2
impl StructuralPartialEq for Vector2
Auto Trait Implementations§
impl Freeze for Vector2
impl RefUnwindSafe for Vector2
impl Send for Vector2
impl Sync for Vector2
impl Unpin for Vector2
impl UnwindSafe for Vector2
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