Trait vecmat::transform::Reorder[][src]

pub trait Reorder<B: Transform<T>, T>: Transform<T> {
    fn reorder(self, other: B) -> (B, Self);
}

Transformations that can be reordered, e.g. for some A and B find such A' and B' that satisfies A(B(x)) = B'(A'(x)) for any x.

Required methods

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

For given A and B returns B' and A'.

Loading content...

Implementors

impl<T> Reorder<Rotation2<T>, Vector<T, 2_usize>> for Shift<T, 2> where
    Rotation2<T>: Transform<Vector<T, 2>> + Copy,
    Self: Transform<Vector<T, 2>>, 
[src]

fn reorder(self, other: Rotation2<T>) -> (Rotation2<T>, Shift<T, 2>)[src]

impl<T> Reorder<Rotation3<T>, Vector<T, 3_usize>> for Shift<T, 3> where
    Rotation3<T>: Transform<Vector<T, 3>> + Copy,
    Self: Transform<Vector<T, 3>>, 
[src]

fn reorder(self, other: Rotation3<T>) -> (Rotation3<T>, Shift<T, 3>)[src]

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

fn reorder(self, other: Shift<T, 2>) -> (Shift<T, 2>, Rotation2<T>)[src]

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

fn reorder(self, other: Shift<T, 3>) -> (Shift<T, 3>, Rotation3<T>)[src]

impl<T, const N: usize> Reorder<Linear<T, N>, Vector<T, N>> for Shift<T, N> where
    Linear<T, N>: Transform<Vector<T, N>> + Copy,
    Self: Transform<Vector<T, N>>, 
[src]

fn reorder(self, other: Linear<T, N>) -> (Linear<T, N>, Shift<T, N>)[src]

impl<T, const N: usize> Reorder<Scale<T>, Vector<T, N>> for Shift<T, N> where
    Scale<T>: Transform<Vector<T, N>> + Copy,
    Self: Transform<Vector<T, N>>, 
[src]

fn reorder(self, other: Scale<T>) -> (Scale<T>, Shift<T, N>)[src]

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

fn reorder(self, other: Shift<T, N>) -> (Shift<T, N>, Linear<T, N>)[src]

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

fn reorder(self, other: Shift<T, N>) -> (Shift<T, N>, Scale<T>)[src]

Loading content...