#[repr(C)]pub struct Vector2<T> {
pub x: T,
pub y: T,
}
Expand description
Generic 2D vector
Fields§
§x: T
§y: T
Implementations§
source§impl Vector2<f64>
impl Vector2<f64>
pub fn length(&self) -> f64
pub fn direction(&self) -> f64
pub fn normalize(&self, allow_zero: bool) -> Self
pub fn get_orthogonal(&self, polarity: bool) -> Self
pub fn get_orthonormal(&self, polarity: bool, allow_zero: bool) -> Self
pub fn project(&self, vector: &Self, positive: bool) -> Self
Trait Implementations§
source§impl<T> AddAssign<T> for Vector2<T>where
T: AddAssign + Copy,
impl<T> AddAssign<T> for Vector2<T>where
T: AddAssign + Copy,
source§fn add_assign(&mut self, v: T)
fn add_assign(&mut self, v: T)
Performs the
+=
operation. Read moresource§impl<T> AddAssign<Vector2<T>> for Vector2<T>where
T: AddAssign + Copy,
impl<T> AddAssign<Vector2<T>> for Vector2<T>where
T: AddAssign + Copy,
source§fn add_assign(&mut self, v: Vector2<T>)
fn add_assign(&mut self, v: Vector2<T>)
Performs the
+=
operation. Read moresource§impl<T> DivAssign<T> for Vector2<T>where
T: DivAssign + Copy,
impl<T> DivAssign<T> for Vector2<T>where
T: DivAssign + Copy,
source§fn div_assign(&mut self, v: T)
fn div_assign(&mut self, v: T)
Performs the
/=
operation. Read moresource§impl<T> DivAssign<Vector2<T>> for Vector2<T>where
T: DivAssign + Copy,
impl<T> DivAssign<Vector2<T>> for Vector2<T>where
T: DivAssign + Copy,
source§fn div_assign(&mut self, v: Vector2<T>)
fn div_assign(&mut self, v: Vector2<T>)
Performs the
/=
operation. Read moresource§impl<T> MulAssign<T> for Vector2<T>where
T: MulAssign + Copy,
impl<T> MulAssign<T> for Vector2<T>where
T: MulAssign + Copy,
source§fn mul_assign(&mut self, v: T)
fn mul_assign(&mut self, v: T)
Performs the
*=
operation. Read moresource§impl<T> MulAssign<Vector2<T>> for Vector2<T>where
T: MulAssign + Copy,
impl<T> MulAssign<Vector2<T>> for Vector2<T>where
T: MulAssign + Copy,
source§fn mul_assign(&mut self, v: Vector2<T>)
fn mul_assign(&mut self, v: Vector2<T>)
Performs the
*=
operation. Read moresource§impl<T: PartialEq> PartialEq<Vector2<T>> for Vector2<T>
impl<T: PartialEq> PartialEq<Vector2<T>> for Vector2<T>
source§impl<T> SubAssign<T> for Vector2<T>where
T: SubAssign + Copy,
impl<T> SubAssign<T> for Vector2<T>where
T: SubAssign + Copy,
source§fn sub_assign(&mut self, v: T)
fn sub_assign(&mut self, v: T)
Performs the
-=
operation. Read moresource§impl<T> SubAssign<Vector2<T>> for Vector2<T>where
T: SubAssign + Copy,
impl<T> SubAssign<Vector2<T>> for Vector2<T>where
T: SubAssign + Copy,
source§fn sub_assign(&mut self, v: Vector2<T>)
fn sub_assign(&mut self, v: Vector2<T>)
Performs the
-=
operation. Read more