MeshLib Python Docs
Loading...
Searching...
No Matches
mrmeshpy.Matrix3d Class Reference

Public Member Functions

Matrix3d __add__ (self, Matrix3d b)
 
bool __eq__ (self, Matrix3d b)
 
Vector3d __getitem__ (self, int row)
 
Vector3d __getitem__ (self, int row)
 
Matrix3d __iadd__ (self, Matrix3d b)
 
Matrix3d __imatmul__ (self, float b)
 
None __init__ (self, Quaterniond arg0)
 
None __init__ (self)
 
None __init__ (self, Vector3d x, Vector3d y, Vector3d z)
 
None __init__ (self, Matrix3d m)
 
Matrix3d __isub__ (self, Matrix3d b)
 
Matrix3d __itruediv__ (self, float b)
 
Matrix3d __mul__ (self, float a)
 
Vector3d __mul__ (self, Vector3d b)
 
Matrix3d __mul__ (self, Matrix3d b)
 
bool __ne__ (self, Matrix3d b)
 
str __repr__ (self)
 
Matrix3d __rmul__ (self, float b)
 
None __setitem__ (self, int arg0, Vector3d arg1)
 
Matrix3d __sub__ (self, Matrix3d b)
 
Matrix3d __truediv__ (self, float a)
 
Vector3d col (self, int i)
 
float det (self)
 
Matrix3d inverse (self)
 
float norm (self)
 
float normSq (self)
 
Matrix3_double_QR qr (self)
 
Vector3d toEulerAngles (self)
 
float trace (self)
 
Matrix3d transposed (self)
 
Vector3d x (self)
 
None x (self, Vector3d arg1)
 

Static Public Member Functions

None __init__ (*args, **kwargs)
 
Matrix3d approximateLinearRotationMatrixFromEuler (Vector3d eulerAngles)
 
Matrix3d fromColumns (Vector3d x, Vector3d y, Vector3d z)
 
Matrix3d fromRows (Vector3d x, Vector3d y, Vector3d z)
 
Matrix3d identity ()
 
Matrix3d operator (*args, **kwargs)
 
Matrix3d operator (*args, **kwargs)
 
Matrix3d rotation (Vector3d axis, float angle)
 
Matrix3d rotation (Vector3d from_, Vector3d to)
 
Matrix3d rotationFromEuler (Vector3d eulerAngles)
 
Matrix3d scale (float s)
 
Matrix3d scale (float sx, float sy, float sz)
 
Matrix3d scale (Vector3d s)
 
Matrix3d zero ()
 

Static Protected Attributes

typing _offsetof_x = 0
 
typing _offsetof_y = 24
 
typing _offsetof_z = 48
 

Detailed Description

Generated from:  MR::Matrix3d
Aliases:  AffineXf_Vector3d_M, Vector3_double_MatrixType

arbitrary 3x3 matrix
\\ingroup MatrixGroup

Constructor & Destructor Documentation

◆ __init__() [1/5]

None mrmeshpy.Matrix3d.__init__ ( * args,
** kwargs )
static

◆ __init__() [2/5]

None mrmeshpy.Matrix3d.__init__ ( self,
Quaterniond arg0 )
converts this into 3x3 rotation matrix

◆ __init__() [3/5]

None mrmeshpy.Matrix3d.__init__ ( self)

◆ __init__() [4/5]

None mrmeshpy.Matrix3d.__init__ ( self,
Vector3d x,
Vector3d y,
Vector3d z )
initializes matrix from its 3 rows

◆ __init__() [5/5]

None mrmeshpy.Matrix3d.__init__ ( self,
Matrix3d m )

Member Function Documentation

◆ __add__()

Matrix3d mrmeshpy.Matrix3d.__add__ ( self,
Matrix3d b )
NOTE: We use `std::declval()` in the operators below because libclang 18 in our binding generator is bugged and chokes on decltyping `a.x` and such. TODO fix this when we update libclang.

◆ __eq__()

bool mrmeshpy.Matrix3d.__eq__ ( self,
Matrix3d b )

◆ __getitem__() [1/2]

Vector3d mrmeshpy.Matrix3d.__getitem__ ( self,
int row )
row access

◆ __getitem__() [2/2]

Vector3d mrmeshpy.Matrix3d.__getitem__ ( self,
int row )

◆ __iadd__()

Matrix3d mrmeshpy.Matrix3d.__iadd__ ( self,
Matrix3d b )

◆ __imatmul__()

Matrix3d mrmeshpy.Matrix3d.__imatmul__ ( self,
float b )

◆ __isub__()

Matrix3d mrmeshpy.Matrix3d.__isub__ ( self,
Matrix3d b )

◆ __itruediv__()

Matrix3d mrmeshpy.Matrix3d.__itruediv__ ( self,
float b )

◆ __mul__() [1/3]

Matrix3d mrmeshpy.Matrix3d.__mul__ ( self,
float a )

◆ __mul__() [2/3]

Matrix3d mrmeshpy.Matrix3d.__mul__ ( self,
Matrix3d b )
product of two matrices

◆ __mul__() [3/3]

Vector3d mrmeshpy.Matrix3d.__mul__ ( self,
Vector3d b )
x = a * b

◆ __ne__()

bool mrmeshpy.Matrix3d.__ne__ ( self,
Matrix3d b )

◆ __repr__()

str mrmeshpy.Matrix3d.__repr__ ( self)

◆ __rmul__()

Matrix3d mrmeshpy.Matrix3d.__rmul__ ( self,
float b )

◆ __setitem__()

None mrmeshpy.Matrix3d.__setitem__ ( self,
int arg0,
Vector3d arg1 )

◆ __sub__()

Matrix3d mrmeshpy.Matrix3d.__sub__ ( self,
Matrix3d b )

◆ __truediv__()

Matrix3d mrmeshpy.Matrix3d.__truediv__ ( self,
float a )

◆ approximateLinearRotationMatrixFromEuler()

Matrix3d mrmeshpy.Matrix3d.approximateLinearRotationMatrixFromEuler ( Vector3d eulerAngles)
static
returns linear by angles approximation of the rotation matrix, which is close to true rotation matrix for small angles

◆ col()

Vector3d mrmeshpy.Matrix3d.col ( self,
int i )
column access

◆ det()

float mrmeshpy.Matrix3d.det ( self)
computes determinant of the matrix

◆ fromColumns()

Matrix3d mrmeshpy.Matrix3d.fromColumns ( Vector3d x,
Vector3d y,
Vector3d z )
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

◆ fromRows()

Matrix3d mrmeshpy.Matrix3d.fromRows ( Vector3d x,
Vector3d y,
Vector3d z )
static
constructs a matrix from its 3 rows

◆ identity()

Matrix3d mrmeshpy.Matrix3d.identity ( )
static

◆ inverse()

Matrix3d mrmeshpy.Matrix3d.inverse ( self)
computes inverse matrix

◆ norm()

float mrmeshpy.Matrix3d.norm ( self)

◆ normSq()

float mrmeshpy.Matrix3d.normSq ( self)
compute sum of squared matrix elements

◆ operator() [1/2]

Matrix3d mrmeshpy.Matrix3d.operator ( * args,
** kwargs )
static

◆ operator() [2/2]

Matrix3d mrmeshpy.Matrix3d.operator ( * args,
** kwargs )
static

◆ qr()

Matrix3_double_QR mrmeshpy.Matrix3d.qr ( self)
decompose this matrix on the product Q*R, where Q is orthogonal and R is upper triangular

◆ rotation() [1/2]

Matrix3d mrmeshpy.Matrix3d.rotation ( Vector3d axis,
float angle )
static
creates matrix representing rotation around given axis on given angle

◆ rotation() [2/2]

Matrix3d mrmeshpy.Matrix3d.rotation ( Vector3d from_,
Vector3d to )
static
creates matrix representing rotation that after application to (from) makes (to) vector

◆ rotationFromEuler()

Matrix3d mrmeshpy.Matrix3d.rotationFromEuler ( Vector3d eulerAngles)
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

◆ scale() [1/3]

Matrix3d mrmeshpy.Matrix3d.scale ( float s)
static
returns a matrix that scales uniformly

◆ scale() [2/3]

Matrix3d mrmeshpy.Matrix3d.scale ( float sx,
float sy,
float sz )
static
returns a matrix that has its own scale along each axis

◆ scale() [3/3]

Matrix3d mrmeshpy.Matrix3d.scale ( Vector3d s)
static

◆ toEulerAngles()

Vector3d mrmeshpy.Matrix3d.toEulerAngles ( self)
returns 3 Euler angles, assuming this is a rotation matrix composed as follows: R=R(z)*R(y)*R(x)

◆ trace()

float mrmeshpy.Matrix3d.trace ( self)
computes trace of the matrix

◆ transposed()

Matrix3d mrmeshpy.Matrix3d.transposed ( self)
computes transposed matrix

◆ x() [1/2]

Vector3d mrmeshpy.Matrix3d.x ( self)
rows, identity matrix by default

◆ x() [2/2]

None mrmeshpy.Matrix3d.x ( self,
Vector3d arg1 )

◆ zero()

Matrix3d mrmeshpy.Matrix3d.zero ( )
static

Member Data Documentation

◆ _offsetof_x

typing mrmeshpy.Matrix3d._offsetof_x = 0
staticprotected

◆ _offsetof_y

typing mrmeshpy.Matrix3d._offsetof_y = 24
staticprotected

◆ _offsetof_z

typing mrmeshpy.Matrix3d._offsetof_z = 48
staticprotected

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