Trait Magnitude

Source
pub trait Magnitude<T: Float> {
    // Required methods
    fn length(a: Self) -> T;
    fn mag(a: Self) -> T;
    fn mag2(a: Self) -> T;
    fn normalize(a: Self) -> Self;
}
Expand description

trait for operations involve vector magnitude or dot product

Required Methods§

Source

fn length(a: Self) -> T

returns scalar magnitude or length of vector a

Source

fn mag(a: Self) -> T

returns scalar magnitude or length of vector a

Source

fn mag2(a: Self) -> T

returns scalar magnitude or length of vector a squared to avoid using sqrt

Source

fn normalize(a: Self) -> Self

returns a normalized unit vector of a

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T> Magnitude<T> for Quat<T>
where T: Float + FloatOps<T>,

Source§

impl<T> Magnitude<T> for Vec2<T>
where T: Float + FloatOps<T>,

Source§

impl<T> Magnitude<T> for Vec3<T>
where T: Float + FloatOps<T>,

Source§

impl<T> Magnitude<T> for Vec4<T>
where T: Float + FloatOps<T>,