pub struct Direction2<F>(/* private fields */);Expand description
Direction vector in 2-dimensions (normalized)
Implementations§
Source§impl<F: FullFloat> Direction2<F>
impl<F: FullFloat> Direction2<F>
pub fn new_isnormal(x: F, y: F) -> Direction2<F>
Methods from Deref<Target = Vec2<F>>§
pub fn squared_magnitude(&self) -> F
pub fn magnitude(&self) -> F
pub fn is_normal(&self) -> bool
pub fn dot(&self, rhs: Vec2<F>) -> F
pub fn project_onto(&self, axis: Vec2<F>) -> Vec2<F>
pub fn reject_onto(&self, axis: Vec2<F>) -> Vec2<F>
pub fn exp(&self) -> Vec2<F>
Trait Implementations§
Source§impl<F: FullFloat> ApproxEq for Direction2<F>
impl<F: FullFloat> ApproxEq for Direction2<F>
type Flt = F
Source§fn approx_eq(
&self,
other: &Self,
epsilon: <F as ApproxEq>::Flt,
ulps: <<F as ApproxEq>::Flt as Ulps>::U,
) -> bool
fn approx_eq( &self, other: &Self, epsilon: <F as ApproxEq>::Flt, ulps: <<F as ApproxEq>::Flt as Ulps>::U, ) -> bool
This method tests for
self and other values to be approximately equal
using two methods: epsilon and ulps. If the values differ by less than the
given epsilon, they will be considered equal. If the values differ by more
than epsilon, but by less than the given ulps, they will also be considered
equal. Otherwise they are unequal. Read moreSource§fn approx_ne(
&self,
other: &Self,
epsilon: Self::Flt,
ulps: <Self::Flt as Ulps>::U,
) -> bool
fn approx_ne( &self, other: &Self, epsilon: Self::Flt, ulps: <Self::Flt as Ulps>::U, ) -> bool
This method tests for
self and other values to be not approximately equal
using two methods: epsilon and ulps. If the values differ by less than the
given epsilon, they will be considered equal. If the values differ by more
than epsilon, but by less than the given ulps, they will also be considered
equal. Otherwise they are unequal. Read moreSource§impl<F: Clone> Clone for Direction2<F>
impl<F: Clone> Clone for Direction2<F>
Source§fn clone(&self) -> Direction2<F>
fn clone(&self) -> Direction2<F>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<F: Debug> Debug for Direction2<F>
impl<F: Debug> Debug for Direction2<F>
Source§impl<F: FullFloat> Deref for Direction2<F>
impl<F: FullFloat> Deref for Direction2<F>
Source§impl<'de, F> Deserialize<'de> for Direction2<F>where
F: Deserialize<'de>,
impl<'de, F> Deserialize<'de> for Direction2<F>where
F: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<F: FullFloat> From<Direction2<F>> for Vec2<F>
impl<F: FullFloat> From<Direction2<F>> for Vec2<F>
Source§fn from(v: Direction2<F>) -> Vec2<F>
fn from(v: Direction2<F>) -> Vec2<F>
Converts to this type from the input type.
Source§impl<F: FullFloat> From<Vec2<F>> for Direction2<F>
impl<F: FullFloat> From<Vec2<F>> for Direction2<F>
Source§fn from(v: Vec2<F>) -> Direction2<F>
fn from(v: Vec2<F>) -> Direction2<F>
Converts to this type from the input type.
Source§impl<F: Hash> Hash for Direction2<F>
impl<F: Hash> Hash for Direction2<F>
Source§impl<F: PartialEq> PartialEq for Direction2<F>
impl<F: PartialEq> PartialEq for Direction2<F>
Source§impl<F> Serialize for Direction2<F>where
F: Serialize,
impl<F> Serialize for Direction2<F>where
F: Serialize,
impl<F: Copy> Copy for Direction2<F>
impl<F: Eq> Eq for Direction2<F>
impl<F> StructuralPartialEq for Direction2<F>
Auto Trait Implementations§
impl<F> Freeze for Direction2<F>where
F: Freeze,
impl<F> RefUnwindSafe for Direction2<F>where
F: RefUnwindSafe,
impl<F> Send for Direction2<F>where
F: Send,
impl<F> Sync for Direction2<F>where
F: Sync,
impl<F> Unpin for Direction2<F>where
F: Unpin,
impl<F> UnwindSafe for Direction2<F>where
F: UnwindSafe,
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