Trait vecmat::transform::Transform[][src]

pub trait Transform<T, const N: usize> {
    fn identity() -> Self;
fn inv(self) -> Self;
fn apply(&self, pos: Vector<T, N>) -> Vector<T, N>;
fn deriv(&self, pos: Vector<T, N>, dir: Vector<T, N>) -> Vector<T, N>;
fn chain(self, other: Self) -> Self; }

General N-dimensional tansformation trait.

It’s assumed that transfomation is a group.

Required methods

fn identity() -> Self[src]

Identity transformation.

fn inv(self) -> Self[src]

Inverse transformation.

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

Perform the transformation itself.

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

Find transformation directional derivative at specified point.

fn chain(self, other: Self) -> Self[src]

Chain two transformations into a new one.

Loading content...

Implementors

impl<T> Transform<T, 2_usize> for Rotation2<T> where
    T: Neg<Output = T> + Num + Copy
[src]

impl<T> Transform<T, 3_usize> for Rotation3<T> where
    T: Neg<Output = T> + Num + Copy
[src]

impl<T, const N: usize> Transform<T, N> for Affine<T, N> where
    T: Neg<Output = T> + Num + Copy
[src]

impl<T, const N: usize> Transform<T, N> for Linear<T, N> where
    T: Neg<Output = T> + Num + Copy
[src]

impl<T, const N: usize> Transform<T, N> for Shift<T, N> where
    T: Neg<Output = T> + Num + Copy
[src]

Loading content...