use na::{Real, DefaultAllocator, Transform, TAffine}; use traits::{Alloc, Dimension}; use aliases::Mat; pub fn affine_inverse(m: Mat) -> Mat where DefaultAllocator: Alloc { // FIXME: this should be optimized. m.try_inverse().unwrap_or(Mat::<_, D, D>::zeros()) } pub fn inverse_transpose(m: Mat) -> Mat where DefaultAllocator: Alloc { m.try_inverse().unwrap_or(Mat::<_, D, D>::zeros()).transpose() }