oa::vlm::Mat3

A packed 3×3 row-major matrix.

StRust public API

Declaration

#[repr(C)]pub struct Mat3<T: Float = f32> { pub m: [[T; 3]; 3], }
Public Rust declaration.

Public Methods

pub fn is_identity(self, tolerance: T) -> bool
pub fn is_orthonormal(self, tolerance: T) -> bool
pub fn is_proper_rotation(self, tolerance: T) -> bool
pub fn try_transform_normal( self, normal: Vec3<T>, tolerance: T, ) -> Option<Vec3<T>>
pub fn is_finite(self) -> bool
pub fn transpose(self) -> Self
pub fn determinant(self) -> T
pub fn try_inverse(self, tolerance: T) -> Option<Self>
pub fn transform(self, value: Vec3<T>) -> Vec3<T>
pub fn approximately_equal(self, other: Self, absolute: T, relative: T) -> bool
fn add(self, other: Self) -> Self
fn add_assign(&mut self, other: Self)
fn clone(&self) -> Mat3<T>
fn fmt(&self, f: &mut Formatter<'_>) -> Result
fn div(self, scalar: T) -> Self
fn div_assign(&mut self, scalar: T)
fn mul(self, other: Self) -> Self
fn mul(self, matrix: Mat3<T>) -> Self
fn mul(self, matrix: Mat3<f64>) -> Self::Output
fn mul(self, matrix: Mat3<f32>) -> Self::Output
fn mul(self, scalar: T) -> Self
fn mul_assign(&mut self, other: Self)
fn mul_assign(&mut self, scalar: T)
fn neg(self) -> Self
fn eq(&self, other: &Mat3<T>) -> bool
fn sub(self, other: Self) -> Self
fn sub_assign(&mut self, other: Self)

Associated Functions

pub fn try_orthonormal_basis( first: Vec3<T>, second: Vec3<T>, tolerance: T, ) -> Option<Self>
pub fn identity() -> Self
fn default() -> Mat3<T>

Public Data Members

m[[T; 3]; 3]field

Public Method Documentation

pub fn is_identity( self, tolerance: T ) -> bool
No public source comment is attached to this declaration.
pub fn is_orthonormal( self, tolerance: T ) -> bool
No public source comment is attached to this declaration.
pub fn is_proper_rotation( self, tolerance: T ) -> bool
No public source comment is attached to this declaration.
pub fn try_transform_normal( self, normal: Vec3<T>, tolerance: T ) -> Option<Vec3<T>>
No public source comment is attached to this declaration.
pub fn is_finite( self ) -> bool
No public source comment is attached to this declaration.
pub fn transpose( self ) -> Self
No public source comment is attached to this declaration.
pub fn determinant( self ) -> T
No public source comment is attached to this declaration.
pub fn try_inverse( self, tolerance: T ) -> Option<Self>
No public source comment is attached to this declaration.
pub fn transform( self, value: Vec3<T> ) -> Vec3<T>
No public source comment is attached to this declaration.
pub fn approximately_equal( self, other: Self, absolute: T, relative: T ) -> bool
No public source comment is attached to this declaration.
fn add( self, other: Self ) -> Self
No public source comment is attached to this declaration.
fn add_assign( &mut self, other: Self )
No public source comment is attached to this declaration.
fn clone( &self ) -> Mat3<T>
No public source comment is attached to this declaration.
fn fmt( &self, f: &mut Formatter<'_> ) -> Result
No public source comment is attached to this declaration.
fn div( self, scalar: T ) -> Self
No public source comment is attached to this declaration.
fn div_assign( &mut self, scalar: T )
No public source comment is attached to this declaration.
fn mul( self, other: Self ) -> Self
No public source comment is attached to this declaration.
fn mul( self, matrix: Mat3<T> ) -> Self
No public source comment is attached to this declaration.
fn mul( self, matrix: Mat3<f64> ) -> Self::Output
No public source comment is attached to this declaration.
fn mul( self, matrix: Mat3<f32> ) -> Self::Output
No public source comment is attached to this declaration.
fn mul( self, scalar: T ) -> Self
No public source comment is attached to this declaration.
fn mul_assign( &mut self, other: Self )
No public source comment is attached to this declaration.
fn mul_assign( &mut self, scalar: T )
No public source comment is attached to this declaration.
fn neg( self ) -> Self
No public source comment is attached to this declaration.
fn eq( &self, other: &Mat3<T> ) -> bool
No public source comment is attached to this declaration.
fn sub( self, other: Self ) -> Self
No public source comment is attached to this declaration.
fn sub_assign( &mut self, other: Self )
No public source comment is attached to this declaration.
pub fn try_orthonormal_basis( first: Vec3<T>, second: Vec3<T>, tolerance: T ) -> Option<Self>
No public source comment is attached to this declaration.
pub fn identity() -> Self
No public source comment is attached to this declaration.
fn default() -> Mat3<T>
No public source comment is attached to this declaration.