Struct M44
#[repr(C)]pub struct M44 { /* private fields */ }
Implementations§
§impl M44
impl M44
pub const fn new_identity() -> M44
pub fn concat(a: &M44, b: &M44) -> M44
pub const fn nan() -> M44
pub const fn new( m0: f32, m4: f32, m8: f32, m12: f32, m1: f32, m5: f32, m9: f32, m13: f32, m2: f32, m6: f32, m10: f32, m14: f32, m3: f32, m7: f32, m11: f32, m15: f32, ) -> M44
pub fn rows(r0: &V4, r1: &V4, r2: &V4, r3: &V4) -> M44
pub fn cols(c0: &V4, c1: &V4, c2: &V4, c3: &V4) -> M44
pub fn row_major(r: &[f32; 16]) -> M44
pub fn col_major(c: &[f32; 16]) -> M44
pub fn translate(x: f32, y: f32, z: f32) -> M44
pub fn scale(x: f32, y: f32, z: f32) -> M44
pub fn rotate(axis: V3, radians: f32) -> M44
pub fn rect_to_rect(src: impl AsRef<Rect>, dst: impl AsRef<Rect>) -> M44
pub fn look_at(eye: &V3, center: &V3, up: &V3) -> M44
pub fn perspective(near: f32, far: f32, angle: f32) -> M44
pub fn get_col_major(&self, v: &mut [f32; 16])
pub fn get_row_major(&self, v: &mut [f32; 16])
pub fn set_col_major(&mut self, v: &[f32; 16]) -> &mut M44
👎Deprecated since 0.30.0: use M44::col_major() instead
pub fn set_row_major(&mut self, v: &[f32; 16]) -> &mut M44
👎Deprecated since 0.30.0: use M44::row_major() instead
pub fn set_44( &mut self, m0: f32, m1: f32, m2: f32, m3: f32, m4: f32, m5: f32, m6: f32, m7: f32, m8: f32, m9: f32, m10: f32, m11: f32, m12: f32, m13: f32, m14: f32, m15: f32, ) -> &mut M44
👎Deprecated since 0.30.0: use Self::new() instead
pub fn rc(&self, r: usize, c: usize) -> f32
pub fn set_rc(&mut self, r: usize, c: usize, value: f32)
pub fn row(&self, i: usize) -> V4
pub fn col(&self, i: usize) -> V4
pub fn set_row(&mut self, i: usize, v: &V4)
pub fn set_col(&mut self, i: usize, v: &V4)
pub fn set_identity(&mut self) -> &mut M44
pub fn set_translate(&mut self, x: f32, y: f32, z: f32) -> &mut M44
pub fn set_scale(&mut self, x: f32, y: f32, z: f32) -> &mut M44
pub fn set_rotate_unit_sin_cos( &mut self, axis: V3, sin_angle: f32, cos_angle: f32, ) -> &mut M44
pub fn set_rotate_unit(&mut self, axis: V3, radians: f32) -> &mut M44
pub fn set_rotate(&mut self, axis: V3, radians: f32) -> &mut M44
pub fn set_concat_16(&mut self, a: &M44, col_major: &[f32; 16]) -> &mut M44
👎Deprecated since 0.30.0: use M44::col_major() and M44::set_concat()
pub fn set_concat(&mut self, a: &M44, b: &M44) -> &mut M44
pub fn pre_concat_16(&mut self, col_major: &[f32; 16]) -> &mut M44
👎Deprecated since 0.30.0: use M44::col_major() and M44::pre_concat()
pub fn pre_concat(&mut self, m: &M44) -> &mut M44
pub fn post_concat(&mut self, m: &M44) -> &mut M44
pub fn normalize_perspective(&mut self)
pub fn is_finite(&self) -> bool
pub fn invert(&self) -> Option<M44>
pub fn transpose(&self) -> M44
pub fn dump(&self)
pub fn map(&self, x: f32, y: f32, z: f32, w: f32) -> V4
pub fn to_m33(&self) -> Matrix
pub fn pre_translate( &mut self, x: f32, y: f32, z: impl Into<Option<f32>>, ) -> &mut M44
pub fn post_translate( &mut self, x: f32, y: f32, z: impl Into<Option<f32>>, ) -> &mut M44
pub fn pre_scale(&mut self, x: f32, y: f32) -> &mut M44
pub fn pre_scale_xyz(&mut self, x: f32, y: f32, z: f32) -> &mut M44
Trait Implementations§
Auto Trait Implementations§
impl Freeze for M44
impl RefUnwindSafe for M44
impl Send for M44
impl Sync for M44
impl Unpin for M44
impl UnwindSafe for M44
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.