MeshLib C# Docs
Loading...
Searching...
No Matches
MR.Matrix3d Struct Reference

arbitrary 3x3 matrix Generated from class MR.Matrix3d. This is the by-value version of the struct. More...

+ Inheritance diagram for MR.Matrix3d:

Public Member Functions

 Matrix3d (Matrix3d _other)
 Generated copy constructor.
 
unsafe Matrix3d ()
 Constructs an empty (default-constructed) instance.
 
unsafe Matrix3d (in MR.Vector3d x, in MR.Vector3d y, in MR.Vector3d z)
 initializes matrix from its 3 rows Generated from constructor MR.Matrix3d.Matrix3d.
 
unsafe ref MR.Vector3d index (int row)
 Generated from method MR.Matrix3d.operator[].
 
readonly unsafe MR.Vector3d col (int i)
 column access Generated from method MR.Matrix3d.col.
 
readonly unsafe double trace ()
 computes trace of the matrix Generated from method MR.Matrix3d.trace.
 
readonly unsafe double normSq ()
 compute sum of squared matrix elements Generated from method MR.Matrix3d.normSq.
 
readonly unsafe double norm ()
 Generated from method MR.Matrix3d.norm.
 
readonly unsafe double det ()
 computes determinant of the matrix Generated from method MR.Matrix3d.det.
 
readonly unsafe MR.Matrix3d inverse ()
 computes inverse matrix Generated from method MR.Matrix3d.inverse.
 
readonly unsafe MR.Matrix3d transposed ()
 computes transposed matrix Generated from method MR.Matrix3d.transposed.
 
readonly unsafe MR.Vector3d toEulerAngles ()
 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.
 
readonly unsafe MR.Matrix3_Double.QR qr ()
 decompose this matrix on the product Q*R, where Q is orthogonal and R is upper triangular Generated from method MR.Matrix3d.qr.
 
unsafe ref MR.Matrix3d addAssign (in MR.Matrix3d b)
 Generated from function MR.operator+=.
 
unsafe ref MR.Matrix3d subAssign (in MR.Matrix3d b)
 Generated from function MR.operator-=.
 
unsafe ref MR.Matrix3d mulAssign (double b)
 Generated from function MR.operator*=.
 
unsafe ref MR.Matrix3d divAssign (double b)
 Generated from function MR.operator/=.
 
bool Equals (MR.Matrix3d b)
 
override bool Equals (object? other)
 

Static Public Member Functions

static implicit operator Matrix3d (ConstBox_Matrix3d other)
 Copy contents from a wrapper class to this struct.
 
static MR.Matrix3d zero ()
 Generated from method MR.Matrix3d.zero.
 
static MR.Matrix3d identity ()
 Generated from method MR.Matrix3d.identity.
 
static MR.Matrix3d scale (double s)
 returns a matrix that scales uniformly Generated from method MR.Matrix3d.scale.
 
static MR.Matrix3d scale (double sx, double sy, double sz)
 returns a matrix that has its own scale along each axis Generated from method MR.Matrix3d.scale.
 
static unsafe MR.Matrix3d scale (in MR.Vector3d s)
 Generated from method MR.Matrix3d.scale.
 
static unsafe MR.Matrix3d rotation (in MR.Vector3d axis, double angle)
 creates matrix representing rotation around given axis on given angle Generated from method MR.Matrix3d.rotation.
 
static unsafe MR.Matrix3d rotation (in MR.Vector3d from, in MR.Vector3d to)
 creates matrix representing rotation that after application to (from) makes (to) vector Generated from method MR.Matrix3d.rotation.
 
static unsafe MR.Matrix3d rotationFromEuler (in MR.Vector3d eulerAngles)
 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.
 
static unsafe MR.Matrix3d approximateLinearRotationMatrixFromEuler (in MR.Vector3d eulerAngles)
 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.
 
static unsafe MR.Matrix3d fromRows (in MR.Vector3d x, in MR.Vector3d y, in MR.Vector3d z)
 constructs a matrix from its 3 rows Generated from method MR.Matrix3d.fromRows.
 
static unsafe MR.Matrix3d fromColumns (in MR.Vector3d x, in MR.Vector3d y, in MR.Vector3d z)
 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.
 
static unsafe bool operator== (MR.Matrix3d a, MR.Matrix3d b)
 Generated from function MR.operator==.
 
static unsafe bool operator!= (MR.Matrix3d a, MR.Matrix3d b)
 
static unsafe MR.Matrix3d operator+ (MR.Matrix3d a, in MR.Matrix3d b)
 Generated from function MR.operator+.
 
static unsafe MR.Matrix3d operator- (MR.Matrix3d a, in MR.Matrix3d b)
 Generated from function MR.operator-.
 
static unsafe MR.Matrix3d operator* (double a, MR.Matrix3d b)
 Generated from function MR.operator*.
 
static unsafe MR.Matrix3d operator* (MR.Matrix3d b, double a)
 Generated from function MR.operator*.
 
static MR.Matrix3d operator/ (MR.Matrix3d b, double a)
 Generated from function MR.operator/.
 
static unsafe MR.Vector3d operator* (MR.Matrix3d a, in MR.Vector3d b)
 x = a * b Generated from function MR.operator*.
 
static unsafe MR.Matrix3d operator* (MR.Matrix3d a, in MR.Matrix3d b)
 product of two matrices Generated from function MR.operator*.
 

Public Attributes

MR.Vector3d x
 rows, identity matrix by default
 
MR.Vector3d y
 
MR.Vector3d z
 

Properties

readonly unsafe ref readonly MR.Vector3d this[int row] [get]
 row access Generated from method MR.Matrix3d.operator[].
 

Detailed Description

arbitrary 3x3 matrix Generated from class MR.Matrix3d. This is the by-value version of the struct.

Constructor & Destructor Documentation

◆ Matrix3d() [1/3]

MR.Matrix3d.Matrix3d ( Matrix3d _other)
inline

Generated copy constructor.

◆ Matrix3d() [2/3]

unsafe MR.Matrix3d.Matrix3d ( )
inline

Constructs an empty (default-constructed) instance.

◆ Matrix3d() [3/3]

unsafe MR.Matrix3d.Matrix3d ( in MR.Vector3d x,
in MR.Vector3d y,
in MR.Vector3d z )
inline

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

Member Function Documentation

◆ addAssign()

unsafe ref MR.Matrix3d MR.Matrix3d.addAssign ( in MR.Matrix3d b)
inline

Generated from function MR.operator+=.

◆ approximateLinearRotationMatrixFromEuler()

static unsafe MR.Matrix3d MR.Matrix3d.approximateLinearRotationMatrixFromEuler ( in MR.Vector3d eulerAngles)
inlinestatic

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.

◆ col()

readonly unsafe MR.Vector3d MR.Matrix3d.col ( int i)
inline

column access Generated from method MR.Matrix3d.col.

◆ det()

readonly unsafe double MR.Matrix3d.det ( )
inline

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

◆ divAssign()

unsafe ref MR.Matrix3d MR.Matrix3d.divAssign ( double b)
inline

Generated from function MR.operator/=.

◆ Equals() [1/2]

bool MR.Matrix3d.Equals ( MR.Matrix3d b)
inline

◆ Equals() [2/2]

override bool MR.Matrix3d.Equals ( object? other)
inline

◆ fromColumns()

static unsafe MR.Matrix3d MR.Matrix3d.fromColumns ( in MR.Vector3d x,
in MR.Vector3d y,
in MR.Vector3d z )
inlinestatic

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.

◆ fromRows()

static unsafe MR.Matrix3d MR.Matrix3d.fromRows ( in MR.Vector3d x,
in MR.Vector3d y,
in MR.Vector3d z )
inlinestatic

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

◆ identity()

static MR.Matrix3d MR.Matrix3d.identity ( )
inlinestatic

Generated from method MR.Matrix3d.identity.

◆ index()

unsafe ref MR.Vector3d MR.Matrix3d.index ( int row)
inline

Generated from method MR.Matrix3d.operator[].

◆ inverse()

readonly unsafe MR.Matrix3d MR.Matrix3d.inverse ( )
inline

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

◆ mulAssign()

unsafe ref MR.Matrix3d MR.Matrix3d.mulAssign ( double b)
inline

Generated from function MR.operator*=.

◆ norm()

readonly unsafe double MR.Matrix3d.norm ( )
inline

Generated from method MR.Matrix3d.norm.

◆ normSq()

readonly unsafe double MR.Matrix3d.normSq ( )
inline

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

◆ operator Matrix3d()

static implicit MR.Matrix3d.operator Matrix3d ( ConstBox_Matrix3d other)
static

Copy contents from a wrapper class to this struct.

◆ operator!=()

static unsafe bool MR.Matrix3d.operator!= ( MR.Matrix3d a,
MR.Matrix3d b )
inlinestatic

◆ operator*() [1/4]

static unsafe MR.Matrix3d MR.Matrix3d.operator* ( double a,
MR.Matrix3d b )
inlinestatic

Generated from function MR.operator*.

◆ operator*() [2/4]

static unsafe MR.Matrix3d MR.Matrix3d.operator* ( MR.Matrix3d a,
in MR.Matrix3d b )
inlinestatic

product of two matrices Generated from function MR.operator*.

◆ operator*() [3/4]

static unsafe MR.Vector3d MR.Matrix3d.operator* ( MR.Matrix3d a,
in MR.Vector3d b )
inlinestatic

x = a * b Generated from function MR.operator*.

◆ operator*() [4/4]

static unsafe MR.Matrix3d MR.Matrix3d.operator* ( MR.Matrix3d b,
double a )
inlinestatic

Generated from function MR.operator*.

◆ operator+()

static unsafe MR.Matrix3d MR.Matrix3d.operator+ ( MR.Matrix3d a,
in MR.Matrix3d b )
inlinestatic

Generated from function MR.operator+.

◆ operator-()

static unsafe MR.Matrix3d MR.Matrix3d.operator- ( MR.Matrix3d a,
in MR.Matrix3d b )
inlinestatic

Generated from function MR.operator-.

◆ operator/()

static MR.Matrix3d MR.Matrix3d.operator/ ( MR.Matrix3d b,
double a )
inlinestatic

Generated from function MR.operator/.

◆ operator==()

static unsafe bool MR.Matrix3d.operator== ( MR.Matrix3d a,
MR.Matrix3d b )
inlinestatic

Generated from function MR.operator==.

◆ qr()

readonly unsafe MR.Matrix3_Double.QR MR.Matrix3d.qr ( )
inline

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

◆ rotation() [1/2]

static unsafe MR.Matrix3d MR.Matrix3d.rotation ( in MR.Vector3d axis,
double angle )
inlinestatic

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

◆ rotation() [2/2]

static unsafe MR.Matrix3d MR.Matrix3d.rotation ( in MR.Vector3d from,
in MR.Vector3d to )
inlinestatic

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

◆ rotationFromEuler()

static unsafe MR.Matrix3d MR.Matrix3d.rotationFromEuler ( in MR.Vector3d eulerAngles)
inlinestatic

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.

◆ scale() [1/3]

static MR.Matrix3d MR.Matrix3d.scale ( double s)
inlinestatic

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

◆ scale() [2/3]

static MR.Matrix3d MR.Matrix3d.scale ( double sx,
double sy,
double sz )
inlinestatic

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

◆ scale() [3/3]

static unsafe MR.Matrix3d MR.Matrix3d.scale ( in MR.Vector3d s)
inlinestatic

Generated from method MR.Matrix3d.scale.

◆ subAssign()

unsafe ref MR.Matrix3d MR.Matrix3d.subAssign ( in MR.Matrix3d b)
inline

Generated from function MR.operator-=.

◆ toEulerAngles()

readonly unsafe MR.Vector3d MR.Matrix3d.toEulerAngles ( )
inline

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.

◆ trace()

readonly unsafe double MR.Matrix3d.trace ( )
inline

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

◆ transposed()

readonly unsafe MR.Matrix3d MR.Matrix3d.transposed ( )
inline

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

◆ zero()

static MR.Matrix3d MR.Matrix3d.zero ( )
inlinestatic

Generated from method MR.Matrix3d.zero.

Member Data Documentation

◆ x

MR.Vector3d MR.Matrix3d.x

rows, identity matrix by default

◆ y

MR.Vector3d MR.Matrix3d.y

◆ z

MR.Vector3d MR.Matrix3d.z

Property Documentation

◆ this[int row]

readonly unsafe ref readonly MR.Vector3d MR.Matrix3d.this[int row]
get

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


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