class
Matrix4x4
Matrix4x4 is used to represent and manipulate 4x4 transformation matrices, which can be either standard matrices, or homogeneous 4x4 matrices used to transform 3D homogeneous coordinates [x y z w]. The transformations are defined in row-major order.
See also: ReMath
Methods
Method | Description |
DeepCopy | Copies the contents of an input matrix to the current matrix. |
Determinant3x3 | Returns the top 3x3 determinant. |
Direction3ArrayMultiply | Multiply in-place an array with 3D direction vectors [x y z 0]. |
GetClass | Get the name of the Matrix4x4 class. |
GetElement | Get a matrix element. |
GetElements | The elements of the matrix. |
Identity | Set the matrix to the identity matrix. |
Invert | Invert the current matrix. |
IsA | Returns true if Matrix4x4 is a or is a descendant of the class named as the type parameter. |
IsNull | Returns true if the Matrix4x4 object is invalid. |
Point3ArrayMultiply | Multiply in-place an array with 3D points [x y z 1]. |
SetElement | Set a matrix element. |
SetToInvert | The matrix to the invert of the input matrix. |
SetToRotationTransform | Creates a 3D rotation in a homogeneous transformation 4x4 matrix around the specified axis. |
SetToScalingTransform | Creates a 3D scaling in a homogeneous transformation 4x4 matrix. |
SetToTranslationTransform | Creates a 3D translation in a homogeneous 4x4 matrix. |
SetToTranspose | The matrix to the transpose of the input matrix. |
Transpose | Transpose the current matrix. |
Vector4ArrayMultiply | Multiply in-place an array with full 4D vectors [x y z w]. |
Zero | Set the matrix to the zero matrix (all zeros). |
Static methods
Method | Description |
IsClassA | Returns true if the class is a or is a descendant of the class named as the type parameter. |
SafeCast | SafeCast makes sure the input object is of a class that can be cast into spMatrix4x4, and if this is the case, returns the object cast into spMatrix4x4. |
Methods details
DeepCopy
Copies the contents of an input matrix to the current matrix.
Syntax
Parameters
Type | Name | Min | Max | Description |
Matrix4x4 | mtxin | | | The source matrix. |
Syntax
Parameters
Type | Name | Min | Max | Description |
Matrix4x4 | mtxin | | | The source matrix. |
Syntax
Parameters
Name | Type | Min | Max | Description |
mtxin | Matrix4x4 | | | The source matrix. |
Determinant3x3
Returns the top 3x3 determinant.
Syntax
Parameters
Determinant3x3 takes no parameters.
Return value
Type: real
Syntax
Parameters
Determinant3x3 takes no parameters.
Return value
Type: float
Syntax
Parameters
Determinant3x3 takes no parameters.
Return value
Type: float
Direction3ArrayMultiply
Multiply in-place an array with 3D direction vectors [x y z 0].
Syntax
Parameters
Type | Name | Min | Max | Description |
RealArray | vecarray | | | The vectors to be multiplied and written to. |
Syntax
Parameters
Type | Name | Min | Max | Description |
RealArray | vecarray | | | The vectors to be multiplied and written to. |
Syntax
Parameters
Name | Type | Min | Max | Description |
vecarray | RealArray | | | The vectors to be multiplied and written to. |
GetClass
Get the name of the Matrix4x4 class.
Syntax
Parameters
GetClass takes no parameters.
Return value
Type: spString
Syntax
Parameters
GetClass takes no parameters.
Return value
Type: string
Syntax
Parameters
GetClass takes no parameters.
Return value
Type: str
GetElement
Get a matrix element.
Syntax
Parameters
Type | Name | Min | Max | Description |
unsigned int | column | | | The column index. |
unsigned int | row | | | The row index. |
Return value
Type: real
Syntax
Parameters
Type | Name | Min | Max | Description |
uint | column | | | The column index. |
uint | row | | | The row index. |
Return value
Type: float
Syntax
Parameters
Name | Type | Min | Max | Description |
column | int | | | The column index. |
row | int | | | The row index. |
Return value
Type: float
GetElements
The elements of the matrix.
Syntax
Parameters
GetElements takes no parameters.
Return value
Type: RealData
Syntax
Parameters
GetElements takes no parameters.
Return value
Type: RealData
Syntax
Parameters
GetElements takes no parameters.
Return value
Type: float
Identity
Set the matrix to the identity matrix.
Syntax
Parameters
Identity takes no parameters.
Syntax
Parameters
Identity takes no parameters.
Syntax
Parameters
Identity takes no parameters.
Invert
Invert the current matrix.
Syntax
Parameters
Invert takes no parameters.
Syntax
Parameters
Invert takes no parameters.
Syntax
Parameters
Invert takes no parameters.
IsA
Returns true if Matrix4x4 is a or is a descendant of the class named as the type parameter.
Syntax
Parameters
Type | Name | Min | Max | Description |
const char * | type | | | Name of the class to check if Matrix4x4 is, or is a descendant of. |
Return value
Type: bool
Syntax
Parameters
Type | Name | Min | Max | Description |
string | type | | | Name of the class to check if Matrix4x4 is, or is a descendant of. |
Return value
Type: bool
Syntax
Parameters
Name | Type | Min | Max | Description |
type | str | | | Name of the class to check if Matrix4x4 is, or is a descendant of. |
Return value
Type: bool
IsNull
Returns true if the Matrix4x4 object is invalid.
Syntax
Parameters
IsNull takes no parameters.
Return value
Type: bool
Syntax
Parameters
IsNull takes no parameters.
Return value
Type: bool
Syntax
Parameters
IsNull takes no parameters.
Return value
Type: bool
Point3ArrayMultiply
Multiply in-place an array with 3D points [x y z 1].
Syntax
Parameters
Type | Name | Min | Max | Description |
RealArray | vecarray | | | The vectors to be multiplied and written to. |
Syntax
Parameters
Type | Name | Min | Max | Description |
RealArray | vecarray | | | The vectors to be multiplied and written to. |
Syntax
Parameters
Name | Type | Min | Max | Description |
vecarray | RealArray | | | The vectors to be multiplied and written to. |
SetElement
Set a matrix element.
Syntax
Parameters
Type | Name | Min | Max | Description |
unsigned int | column | | | The column index. |
unsigned int | row | | | The row index. |
real | value | | | The value to which the element will be set. |
Syntax
Parameters
Type | Name | Min | Max | Description |
uint | column | | | The column index. |
uint | row | | | The row index. |
float | value | | | The value to which the element will be set. |
Syntax
Parameters
Name | Type | Min | Max | Description |
column | int | | | The column index. |
row | int | | | The row index. |
value | float | | | The value to which the element will be set. |
SetToInvert
The matrix to the invert of the input matrix.
Syntax
Parameters
Type | Name | Min | Max | Description |
Matrix4x4 | mtxin | | | The input matrix. |
Syntax
Parameters
Type | Name | Min | Max | Description |
Matrix4x4 | mtxin | | | The input matrix. |
Syntax
Parameters
Name | Type | Min | Max | Description |
mtxin | Matrix4x4 | | | The input matrix. |
Creates a 3D rotation in a homogeneous transformation 4x4 matrix around the specified axis.
Syntax
Parameters
Type | Name | Min | Max | Description |
real | angle | | | The angle. |
real | ax | | | The x component of the rotation axis. |
real | ay | | | The y component of the rotation axis. |
real | az | | | The z component of the rotation axis. |
Syntax
Parameters
Type | Name | Min | Max | Description |
float | angle | | | The angle. |
float | ax | | | The x component of the rotation axis. |
float | ay | | | The y component of the rotation axis. |
float | az | | | The z component of the rotation axis. |
Syntax
Parameters
Name | Type | Min | Max | Description |
angle | float | | | The angle. |
ax | float | | | The x component of the rotation axis. |
ay | float | | | The y component of the rotation axis. |
az | float | | | The z component of the rotation axis. |
Creates a 3D scaling in a homogeneous transformation 4x4 matrix.
Syntax
Parameters
Type | Name | Min | Max | Description |
real | sx | | | The x component of the scaling. |
real | sy | | | The y component of the scaling. |
real | sz | | | The z component of the scaling. |
Syntax
Parameters
Type | Name | Min | Max | Description |
float | sx | | | The x component of the scaling. |
float | sy | | | The y component of the scaling. |
float | sz | | | The z component of the scaling. |
Syntax
Parameters
Name | Type | Min | Max | Description |
sx | float | | | The x component of the scaling. |
sy | float | | | The y component of the scaling. |
sz | float | | | The z component of the scaling. |
Creates a 3D translation in a homogeneous 4x4 matrix.
Syntax
Parameters
Type | Name | Min | Max | Description |
real | tx | | | The x component of the scaling. |
real | ty | | | The y component of the scaling. |
real | tz | | | The z component of the scaling. |
Syntax
Parameters
Type | Name | Min | Max | Description |
float | tx | | | The x component of the scaling. |
float | ty | | | The y component of the scaling. |
float | tz | | | The z component of the scaling. |
Syntax
Parameters
Name | Type | Min | Max | Description |
tx | float | | | The x component of the scaling. |
ty | float | | | The y component of the scaling. |
tz | float | | | The z component of the scaling. |
SetToTranspose
The matrix to the transpose of the input matrix.
Syntax
Parameters
Type | Name | Min | Max | Description |
Matrix4x4 | mtxin | | | The input matrix. |
Syntax
Parameters
Type | Name | Min | Max | Description |
Matrix4x4 | mtxin | | | The input matrix. |
Syntax
Parameters
Name | Type | Min | Max | Description |
mtxin | Matrix4x4 | | | The input matrix. |
Transpose
Transpose the current matrix.
Syntax
Parameters
Transpose takes no parameters.
Syntax
Parameters
Transpose takes no parameters.
Syntax
Parameters
Transpose takes no parameters.
Vector4ArrayMultiply
Multiply in-place an array with full 4D vectors [x y z w].
Syntax
Parameters
Type | Name | Min | Max | Description |
RealArray | vecarray | | | The vectors to be multiplied and written to. |
Syntax
Parameters
Type | Name | Min | Max | Description |
RealArray | vecarray | | | The vectors to be multiplied and written to. |
Syntax
Parameters
Name | Type | Min | Max | Description |
vecarray | RealArray | | | The vectors to be multiplied and written to. |
Zero
Set the matrix to the zero matrix (all zeros).
Syntax
Parameters
Zero takes no parameters.
Syntax
Parameters
Zero takes no parameters.
Syntax
Parameters
Zero takes no parameters.
Static methods details
IsClassA
Returns true if the class is a or is a descendant of the class named as the type parameter.
Syntax
Parameters
Type | Name | Min | Max | Description |
const char * | type | | | Name of the class to check if the class is, or is a descendant of. |
Return value
Type: bool
Syntax
Parameters
Type | Name | Min | Max | Description |
string | type | | | Name of the class to check if the class is, or is a descendant of. |
Return value
Type: bool
Syntax
Parameters
Name | Type | Min | Max | Description |
type | str | | | Name of the class to check if the class is, or is a descendant of. |
Return value
Type: bool
SafeCast
SafeCast makes sure the input object is of a class that can be cast into spMatrix4x4, and if this is the case, returns the object cast into spMatrix4x4.
Syntax
Parameters
Type | Name | Min | Max | Description |
Object | object | | | Object to cast. |
Return value
Type: Matrix4x4
Syntax
Parameters
Type | Name | Min | Max | Description |
Object | object | | | Object to cast. |
Return value
Type: Matrix4x4
Syntax
Parameters
Name | Type | Min | Max | Description |
object | Object | | | Object to cast. |
Return value
Type: Matrix4x4