MeshLib Rust Docs
Loading...
Searching...
No Matches
Inheritance diagram for meshlib::Matrix3f:

Public Member Functions

auto index (row:core::ffi::c_int) const -> &meshlib::Vector3f
auto index_mut (row:core::ffi::c_int) -> &mut meshlib::Vector3f
auto col (i:core::ffi::c_int) const -> meshlib::Vector3f
auto trace () const -> f32
auto norm_sq () const -> f32
auto norm () const -> f32
auto det () const -> f32
auto inverse () const -> meshlib::Matrix3f
auto transposed () const -> meshlib::Matrix3f
auto to_euler_angles () const -> meshlib::Vector3f
auto qr () const -> meshlib::Owned< meshlib::Matrix3_float_QR >

Static Public Member Functions

static auto new () -> meshlib::Matrix3f
static auto construct (x:&meshlib::Vector3f, y:&meshlib::Vector3f, z:&meshlib::Vector3f) -> meshlib::Matrix3f
static auto construct_double (m:&meshlib::Matrix3d) -> meshlib::Matrix3f
static auto zero () -> meshlib::Matrix3f
static auto identity () -> meshlib::Matrix3f
static auto scale_1_float (s:f32) -> meshlib::Matrix3f
static auto scale_3 (sx:f32, sy:f32, sz:f32) -> meshlib::Matrix3f
static auto scale_1_mr_vector3f (s:&meshlib::Vector3f) -> meshlib::Matrix3f
static auto rotation_float (axis:&meshlib::Vector3f, angle:f32) -> meshlib::Matrix3f
static auto rotation_mr_vector3f (from:&meshlib::Vector3f, to:&meshlib::Vector3f) -> meshlib::Matrix3f
static auto rotation_from_euler (eulerAngles:&meshlib::Vector3f) -> meshlib::Matrix3f
static auto approximate_linear_rotation_matrix_from_euler (eulerAngles:&meshlib::Vector3f) -> meshlib::Matrix3f
static auto from_rows (x:&meshlib::Vector3f, y:&meshlib::Vector3f, z:&meshlib::Vector3f) -> meshlib::Matrix3f
static auto from_columns (x:&meshlib::Vector3f, y:&meshlib::Vector3f, z:&meshlib::Vector3f) -> meshlib::Matrix3f

Public Attributes

meshlib::Vector3f x
 rows, identity matrix by default
meshlib::Vector3f y
meshlib::Vector3f z

Detailed Description

arbitrary 3x3 matrix Generated from class MR::Matrix3f.

Generated from struct MR::Matrix3f. The fields are accessed directly.

Member Function Documentation

◆ approximate_linear_rotation_matrix_from_euler()

auto meshlib::Matrix3f::approximate_linear_rotation_matrix_from_euler ( eulerAngles:&meshlib::Vector3f ) -> meshlib::Matrix3f
static

returns linear by angles approximation of the rotation matrix, which is close to true rotation matrix for small angles Generated from method MR::Matrix3f::approximateLinearRotationMatrixFromEuler.

Calls MR_Matrix3f_approximateLinearRotationMatrixFromEuler().

◆ col()

auto meshlib::Matrix3f::col ( i:core::ffi::c_int ) const -> meshlib::Vector3f

column access Generated from method MR::Matrix3f::col.

Calls MR_Matrix3f_col().

◆ construct()

auto meshlib::Matrix3f::construct ( x:&meshlib::Vector3f ,
y:&meshlib::Vector3f ,
z:&meshlib::Vector3f  ) -> meshlib::Matrix3f
static

initializes matrix from its 3 rows Generated from constructor MR::Matrix3f::Matrix3f.

Calls MR_Matrix3f_Construct(). The reference to the parameter x might be preserved in the constructed object. The reference to the parameter y might be preserved in the constructed object. The reference to the parameter z might be preserved in the constructed object.

◆ construct_double()

auto meshlib::Matrix3f::construct_double ( m:&meshlib::Matrix3d ) -> meshlib::Matrix3f
static

Here T == U doesn't seem to cause any issues in the C++ code, but we're still disabling it because it somehow gets emitted when generating the bindings, and results in duplicate functions in C#. Generated from constructor MR::Matrix3f::Matrix3f.

Calls MR_Matrix3f_Construct_double(). The reference to the parameter m might be preserved in the constructed object.

◆ det()

auto meshlib::Matrix3f::det ( ) const -> f32

computes determinant of the matrix Generated from method MR::Matrix3f::det.

Calls MR_Matrix3f_det().

◆ from_columns()

auto meshlib::Matrix3f::from_columns ( x:&meshlib::Vector3f ,
y:&meshlib::Vector3f ,
z:&meshlib::Vector3f  ) -> meshlib::Matrix3f
static

constructs a matrix from its 3 columns; use this method to get the matrix that transforms basis vectors ( plusX, plusY, plusZ ) into vectors ( x, y, z ) respectively Generated from method MR::Matrix3f::fromColumns.

Calls MR_Matrix3f_fromColumns().

◆ from_rows()

auto meshlib::Matrix3f::from_rows ( x:&meshlib::Vector3f ,
y:&meshlib::Vector3f ,
z:&meshlib::Vector3f  ) -> meshlib::Matrix3f
static

constructs a matrix from its 3 rows Generated from method MR::Matrix3f::fromRows.

Calls MR_Matrix3f_fromRows().

◆ identity()

auto meshlib::Matrix3f::identity ( ) -> meshlib::Matrix3f
static

Generated from method MR::Matrix3f::identity.

Calls MR_Matrix3f_identity().

◆ index()

auto meshlib::Matrix3f::index ( row:core::ffi::c_int ) const -> &meshlib::Vector3f

row access Generated from method MR::Matrix3f::operator[].

Calls MR_Matrix3f_index().

◆ index_mut()

auto meshlib::Matrix3f::index_mut ( row:core::ffi::c_int ) -> &mut meshlib::Vector3f

Generated from method MR::Matrix3f::operator[].

Calls MR_Matrix3f_index_mut().

◆ inverse()

auto meshlib::Matrix3f::inverse ( ) const -> meshlib::Matrix3f

computes inverse matrix Generated from method MR::Matrix3f::inverse.

Calls MR_Matrix3f_inverse().

◆ new()

auto meshlib::Matrix3f::new ( ) -> meshlib::Matrix3f
static

Constructs an empty (default-constructed) instance.

Calls MR_Matrix3f_DefaultConstruct().

◆ norm()

auto meshlib::Matrix3f::norm ( ) const -> f32

Generated from method MR::Matrix3f::norm.

Calls MR_Matrix3f_norm().

◆ norm_sq()

auto meshlib::Matrix3f::norm_sq ( ) const -> f32

compute sum of squared matrix elements Generated from method MR::Matrix3f::normSq.

Calls MR_Matrix3f_normSq().

◆ qr()

auto meshlib::Matrix3f::qr ( ) const -> meshlib::Owned< meshlib::Matrix3_float_QR >

decompose this matrix on the product Q*R, where Q is orthogonal and R is upper triangular Generated from method MR::Matrix3f::qr.

Calls MR_Matrix3f_qr().

◆ rotation_float()

auto meshlib::Matrix3f::rotation_float ( axis:&meshlib::Vector3f ,
angle:f32  ) -> meshlib::Matrix3f
static

creates matrix representing rotation around given axis on given angle Generated from method MR::Matrix3f::rotation.

Calls MR_Matrix3f_rotation_float().

◆ rotation_from_euler()

auto meshlib::Matrix3f::rotation_from_euler ( eulerAngles:&meshlib::Vector3f ) -> meshlib::Matrix3f
static

creates matrix representing rotation from 3 Euler angles: R=R(z)*R(y)*R(x) see more https://en.wikipedia.org/wiki/Euler_angles#Conventions_by_intrinsic_rotations Generated from method MR::Matrix3f::rotationFromEuler.

Calls MR_Matrix3f_rotationFromEuler().

◆ rotation_mr_vector3f()

auto meshlib::Matrix3f::rotation_mr_vector3f ( from:&meshlib::Vector3f ,
to:&meshlib::Vector3f  ) -> meshlib::Matrix3f
static

creates matrix representing rotation that after application to (from) makes (to) vector Generated from method MR::Matrix3f::rotation.

Calls MR_Matrix3f_rotation_MR_Vector3f().

◆ scale_1_float()

auto meshlib::Matrix3f::scale_1_float ( s:f32 ) -> meshlib::Matrix3f
static

returns a matrix that scales uniformly Generated from method MR::Matrix3f::scale.

Calls MR_Matrix3f_scale_1_float().

◆ scale_1_mr_vector3f()

auto meshlib::Matrix3f::scale_1_mr_vector3f ( s:&meshlib::Vector3f ) -> meshlib::Matrix3f
static

Generated from method MR::Matrix3f::scale.

Calls MR_Matrix3f_scale_1_MR_Vector3f().

◆ scale_3()

auto meshlib::Matrix3f::scale_3 ( sx:f32 ,
sy:f32 ,
sz:f32  ) -> meshlib::Matrix3f
static

returns a matrix that has its own scale along each axis Generated from method MR::Matrix3f::scale.

Calls MR_Matrix3f_scale_3().

◆ to_euler_angles()

auto meshlib::Matrix3f::to_euler_angles ( ) const -> meshlib::Vector3f

returns 3 Euler angles, assuming this is a rotation matrix composed as follows: R=R(z)*R(y)*R(x) Generated from method MR::Matrix3f::toEulerAngles.

Calls MR_Matrix3f_toEulerAngles().

◆ trace()

auto meshlib::Matrix3f::trace ( ) const -> f32

computes trace of the matrix Generated from method MR::Matrix3f::trace.

Calls MR_Matrix3f_trace().

◆ transposed()

auto meshlib::Matrix3f::transposed ( ) const -> meshlib::Matrix3f

computes transposed matrix Generated from method MR::Matrix3f::transposed.

Calls MR_Matrix3f_transposed().

◆ zero()

auto meshlib::Matrix3f::zero ( ) -> meshlib::Matrix3f
static

Generated from method MR::Matrix3f::zero.

Calls MR_Matrix3f_zero().

Member Data Documentation

◆ x

meshlib::Vector3f meshlib::Matrix3f::x

rows, identity matrix by default

◆ y

meshlib::Vector3f meshlib::Matrix3f::y

◆ z

meshlib::Vector3f meshlib::Matrix3f::z

The documentation for this struct was generated from the following file: