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

Public Member Functions

auto index (row:core::ffi::c_int) const -> &meshlib::Vector3d
auto index_mut (row:core::ffi::c_int) -> &mut meshlib::Vector3d
auto col (i:core::ffi::c_int) const -> meshlib::Vector3d
auto trace () const -> f64
auto norm_sq () const -> f64
auto norm () const -> f64
auto det () const -> f64
auto inverse () const -> meshlib::Matrix3d
auto transposed () const -> meshlib::Matrix3d
auto to_euler_angles () const -> meshlib::Vector3d
auto qr () const -> meshlib::Owned< meshlib::Matrix3_double_QR >

Static Public Member Functions

static auto new () -> meshlib::Matrix3d
static auto construct (x:&meshlib::Vector3d, y:&meshlib::Vector3d, z:&meshlib::Vector3d) -> meshlib::Matrix3d
static auto zero () -> meshlib::Matrix3d
static auto identity () -> meshlib::Matrix3d
static auto scale_1_double (s:f64) -> meshlib::Matrix3d
static auto scale_3 (sx:f64, sy:f64, sz:f64) -> meshlib::Matrix3d
static auto scale_1_mr_vector3d (s:&meshlib::Vector3d) -> meshlib::Matrix3d
static auto rotation_double (axis:&meshlib::Vector3d, angle:f64) -> meshlib::Matrix3d
static auto rotation_mr_vector3d (from:&meshlib::Vector3d, to:&meshlib::Vector3d) -> meshlib::Matrix3d
static auto rotation_from_euler (eulerAngles:&meshlib::Vector3d) -> meshlib::Matrix3d
static auto approximate_linear_rotation_matrix_from_euler (eulerAngles:&meshlib::Vector3d) -> meshlib::Matrix3d
static auto from_rows (x:&meshlib::Vector3d, y:&meshlib::Vector3d, z:&meshlib::Vector3d) -> meshlib::Matrix3d
static auto from_columns (x:&meshlib::Vector3d, y:&meshlib::Vector3d, z:&meshlib::Vector3d) -> meshlib::Matrix3d

Public Attributes

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

Detailed Description

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

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

Member Function Documentation

◆ approximate_linear_rotation_matrix_from_euler()

auto meshlib::Matrix3d::approximate_linear_rotation_matrix_from_euler ( eulerAngles:&meshlib::Vector3d ) -> meshlib::Matrix3d
static

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

Calls MR_Matrix3d_approximateLinearRotationMatrixFromEuler().

◆ col()

auto meshlib::Matrix3d::col ( i:core::ffi::c_int ) const -> meshlib::Vector3d

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

Calls MR_Matrix3d_col().

◆ construct()

auto meshlib::Matrix3d::construct ( x:&meshlib::Vector3d ,
y:&meshlib::Vector3d ,
z:&meshlib::Vector3d  ) -> meshlib::Matrix3d
static

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

Calls MR_Matrix3d_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.

◆ det()

auto meshlib::Matrix3d::det ( ) const -> f64

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

Calls MR_Matrix3d_det().

◆ from_columns()

auto meshlib::Matrix3d::from_columns ( x:&meshlib::Vector3d ,
y:&meshlib::Vector3d ,
z:&meshlib::Vector3d  ) -> meshlib::Matrix3d
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::Matrix3d::fromColumns.

Calls MR_Matrix3d_fromColumns().

◆ from_rows()

auto meshlib::Matrix3d::from_rows ( x:&meshlib::Vector3d ,
y:&meshlib::Vector3d ,
z:&meshlib::Vector3d  ) -> meshlib::Matrix3d
static

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

Calls MR_Matrix3d_fromRows().

◆ identity()

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

Generated from method MR::Matrix3d::identity.

Calls MR_Matrix3d_identity().

◆ index()

auto meshlib::Matrix3d::index ( row:core::ffi::c_int ) const -> &meshlib::Vector3d

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

Calls MR_Matrix3d_index().

◆ index_mut()

auto meshlib::Matrix3d::index_mut ( row:core::ffi::c_int ) -> &mut meshlib::Vector3d

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

Calls MR_Matrix3d_index_mut().

◆ inverse()

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

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

Calls MR_Matrix3d_inverse().

◆ new()

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

Constructs an empty (default-constructed) instance.

Calls MR_Matrix3d_DefaultConstruct().

◆ norm()

auto meshlib::Matrix3d::norm ( ) const -> f64

Generated from method MR::Matrix3d::norm.

Calls MR_Matrix3d_norm().

◆ norm_sq()

auto meshlib::Matrix3d::norm_sq ( ) const -> f64

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

Calls MR_Matrix3d_normSq().

◆ qr()

auto meshlib::Matrix3d::qr ( ) const -> meshlib::Owned< meshlib::Matrix3_double_QR >

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

Calls MR_Matrix3d_qr().

◆ rotation_double()

auto meshlib::Matrix3d::rotation_double ( axis:&meshlib::Vector3d ,
angle:f64  ) -> meshlib::Matrix3d
static

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

Calls MR_Matrix3d_rotation_double().

◆ rotation_from_euler()

auto meshlib::Matrix3d::rotation_from_euler ( eulerAngles:&meshlib::Vector3d ) -> meshlib::Matrix3d
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::Matrix3d::rotationFromEuler.

Calls MR_Matrix3d_rotationFromEuler().

◆ rotation_mr_vector3d()

auto meshlib::Matrix3d::rotation_mr_vector3d ( from:&meshlib::Vector3d ,
to:&meshlib::Vector3d  ) -> meshlib::Matrix3d
static

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

Calls MR_Matrix3d_rotation_MR_Vector3d().

◆ scale_1_double()

auto meshlib::Matrix3d::scale_1_double ( s:f64 ) -> meshlib::Matrix3d
static

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

Calls MR_Matrix3d_scale_1_double().

◆ scale_1_mr_vector3d()

auto meshlib::Matrix3d::scale_1_mr_vector3d ( s:&meshlib::Vector3d ) -> meshlib::Matrix3d
static

Generated from method MR::Matrix3d::scale.

Calls MR_Matrix3d_scale_1_MR_Vector3d().

◆ scale_3()

auto meshlib::Matrix3d::scale_3 ( sx:f64 ,
sy:f64 ,
sz:f64  ) -> meshlib::Matrix3d
static

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

Calls MR_Matrix3d_scale_3().

◆ to_euler_angles()

auto meshlib::Matrix3d::to_euler_angles ( ) const -> meshlib::Vector3d

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

Calls MR_Matrix3d_toEulerAngles().

◆ trace()

auto meshlib::Matrix3d::trace ( ) const -> f64

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

Calls MR_Matrix3d_trace().

◆ transposed()

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

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

Calls MR_Matrix3d_transposed().

◆ zero()

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

Generated from method MR::Matrix3d::zero.

Calls MR_Matrix3d_zero().

Member Data Documentation

◆ x

meshlib::Vector3d meshlib::Matrix3d::x

rows, identity matrix by default

◆ y

meshlib::Vector3d meshlib::Matrix3d::y

◆ z

meshlib::Vector3d meshlib::Matrix3d::z

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