Trait vecmat::transform::Directional[][src]

pub trait Directional<T>: Transform<T> {
    fn apply_dir(&self, pos: T, dir: T) -> T;
fn apply_normal(&self, pos: T, normal: T) -> T; }

Required methods

fn apply_dir(&self, pos: T, dir: T) -> T[src]

Returns the result of the direction transformation at the specified position.

fn apply_normal(&self, pos: T, normal: T) -> T[src]

Returns the result of the normal transformation at the specified position.

If the transformation is conformal then the result is equal to apply_dir.

Loading content...

Implementors

impl<A, B, T> Directional<T> for Chain<A, B, T> where
    A: Directional<T>,
    B: Directional<T>,
    Self: Transform<T>,
    T: Normalize + Copy
[src]

fn apply_dir(&self, pos: T, dir: T) -> T[src]

fn apply_normal(&self, pos: T, normal: T) -> T[src]

impl<T> Directional<Complex<T>> for Moebius<Complex<T>> where
    Self: Transform<Complex<T>>,
    Complex<T>: Normalize
[src]

fn apply_dir(&self, pos: Complex<T>, dir: Complex<T>) -> Complex<T>[src]

fn apply_normal(&self, pos: Complex<T>, normal: Complex<T>) -> Complex<T>[src]

impl<T> Directional<Quaternion<T>> for Moebius<Complex<T>> where
    Self: Transform<Quaternion<T>>,
    Quaternion<T>: Normalize
[src]

fn apply_dir(&self, pos: Quaternion<T>, dir: Quaternion<T>) -> Quaternion<T>[src]

fn apply_normal(
    &self,
    pos: Quaternion<T>,
    normal: Quaternion<T>
) -> Quaternion<T>
[src]

impl<T> Directional<Vector<T, 2_usize>> for Rotation2<T> where
    Self: Transform<Vector<T, 2>>, 
[src]

fn apply_dir(&self, pos: Vector<T, 2>, dir: Vector<T, 2>) -> Vector<T, 2>[src]

fn apply_normal(&self, pos: Vector<T, 2>, normal: Vector<T, 2>) -> Vector<T, 2>[src]

impl<T> Directional<Vector<T, 3_usize>> for Rotation3<T> where
    Self: Transform<Vector<T, 3>>, 
[src]

fn apply_dir(&self, pos: Vector<T, 3>, dir: Vector<T, 3>) -> Vector<T, 3>[src]

fn apply_normal(&self, pos: Vector<T, 3>, normal: Vector<T, 3>) -> Vector<T, 3>[src]

impl<T, const N: usize> Directional<Vector<T, N>> for Linear<T, N> where
    Self: Transform<Vector<T, N>>,
    T: Neg<Output = T> + Num + Copy,
    Vector<T, N>: Normalize,
    Matrix<T, N, N>: Inv<Output = Matrix<T, N, N>>, 
[src]

fn apply_dir(&self, pos: Vector<T, N>, dir: Vector<T, N>) -> Vector<T, N>[src]

fn apply_normal(&self, _: Vector<T, N>, normal: Vector<T, N>) -> Vector<T, N>[src]

impl<T, const N: usize> Directional<Vector<T, N>> for Scale<T> where
    Self: Transform<Vector<T, N>>, 
[src]

fn apply_dir(&self, _: Vector<T, N>, dir: Vector<T, N>) -> Vector<T, N>[src]

fn apply_normal(&self, _: Vector<T, N>, normal: Vector<T, N>) -> Vector<T, N>[src]

impl<T, const N: usize> Directional<Vector<T, N>> for Shift<T, N> where
    Self: Transform<Vector<T, N>>, 
[src]

fn apply_dir(&self, _: Vector<T, N>, dir: Vector<T, N>) -> Vector<T, N>[src]

fn apply_normal(&self, _: Vector<T, N>, normal: Vector<T, N>) -> Vector<T, N>[src]

Loading content...