CMatrix4 Class Reference
Related Scripting Object: SIMatrix4
This class represents a double precision floating point 4 by 4 matrix. More...
#include <xsi_matrix4.h>
List of all members.
|
|
Public Member Functions
|
| __forceinline |
CMatrix4 () |
| __forceinline |
CMatrix4 (double in_d00, double in_d01, double in_d02, double in_d03, double in_d10, double in_d11, double in_d12, double in_d13, double in_d20, double in_d21, double in_d22, double in_d23, double in_d30, double in_d31, double in_d32, double in_d33) |
| __forceinline |
CMatrix4 (const CMatrix4 &in_matrix4) |
| __forceinline |
~CMatrix4 () |
| __forceinline CMatrix4 & |
operator= (const CMatrix4 &in_matrix4) |
| __forceinline CMatrix4 & |
operator *= (const CMatrix4 &in_matrix4) |
| __forceinline CMatrix4 & |
SetIdentity () |
| bool |
InvertInPlace () |
| bool |
Invert (const CMatrix4 &in_matrix4) |
| bool |
TransposeInverseInPlace () |
| bool |
TransposeInverse (const CMatrix4 &in_matrix4) |
| void |
TransposeInPlace () |
| __forceinline void |
Transpose (const CMatrix4 &in_matrix4) |
| __forceinline CMatrix4 & |
MulInPlace (const CMatrix4 &in_matrix4) |
| __forceinline CMatrix4 & |
Mul (const CMatrix4 &in_matrix4A, const CMatrix4 &in_matrix4B) |
| __forceinline void |
Get (double &io_d00, double &io_d01, double &io_d02, double &io_d03, double &io_d10, double &io_d11, double &io_d12, double &io_d13, double &io_d20, double &io_d21, double &io_d22, double &io_d23, double &io_d30, double &io_d31, double &io_d32, double &io_d33) const |
| __forceinline void |
Set (double in_d00, double in_d01, double in_d02, double in_d03, double in_d10, double in_d11, double in_d12, double in_d13, double in_d20, double in_d21, double in_d22, double in_d23, double in_d30, double in_d31, double in_d32, double in_d33) |
| __forceinline void |
Set (const double in_vals[4][4]) |
| __forceinline double |
GetValue (short in_sRow, short in_sCol) const |
| __forceinline void |
SetValue (short in_sRow, short in_sCol, double in_dVal) |
| bool |
EpsilonEquals (const CMatrix4 &in_matrix4, double in_dEpsilon) const |
| __forceinline bool |
Equals (const CMatrix4 &in_matrix4) const |
| __forceinline bool |
operator== (const CMatrix4 &in_matrix4) const |
| __forceinline bool |
operator!= (const CMatrix4 &in_matrix4) const |
Detailed Description
This class represents a double precision floating point 4 by 4 matrix.
- Example:
-
using namespace XSI::MATH;
CMatrix4 mat4( 1.0,2.0,3.0,4.0,
5.0,6.0,7.0,8.0,
9.0,10.0,11.0,12.0,
13.0,14.0,15.0,16.0);
mat4.TransposeInPlace();
Application app;
app.LogMessage(CString(L"The transposed matrix is ") +
CValue(mat4.GetValue(0,0)).GetAsText() + CString(L", ")+
CValue(mat4.GetValue(0,1)).GetAsText() + CString(L", ")+
CValue(mat4.GetValue(0,2)).GetAsText() + CString(L", ")+
CValue(mat4.GetValue(0,3)).GetAsText() + CString(L", ")+
CValue(mat4.GetValue(1,0)).GetAsText() + CString(L", ")+
CValue(mat4.GetValue(1,1)).GetAsText() + CString(L", ")+
CValue(mat4.GetValue(1,2)).GetAsText() + CString(L", ")+
CValue(mat4.GetValue(1,3)).GetAsText() + CString(L", ")+
CValue(mat4.GetValue(2,0)).GetAsText() + CString(L", ")+
CValue(mat4.GetValue(2,1)).GetAsText() + CString(L", ")+
CValue(mat4.GetValue(2,2)).GetAsText() + CString(L", ")+
CValue(mat4.GetValue(2,3)).GetAsText() + CString(L", ")+
CValue(mat4.GetValue(3,0)).GetAsText() + CString(L", ")+
CValue(mat4.GetValue(3,1)).GetAsText() + CString(L", ")+
CValue(mat4.GetValue(3,2)).GetAsText() + CString(L", ")+
CValue(mat4.GetValue(3,3)).GetAsText());
Constructor & Destructor Documentation
| __forceinline CMatrix4 |
( |
double |
in_d00, |
|
|
|
double |
in_d01, |
|
|
|
double |
in_d02, |
|
|
|
double |
in_d03, |
|
|
|
double |
in_d10, |
|
|
|
double |
in_d11, |
|
|
|
double |
in_d12, |
|
|
|
double |
in_d13, |
|
|
|
double |
in_d20, |
|
|
|
double |
in_d21, |
|
|
|
double |
in_d22, |
|
|
|
double |
in_d23, |
|
|
|
double |
in_d30, |
|
|
|
double |
in_d31, |
|
|
|
double |
in_d32, |
|
|
|
double |
in_d33 |
|
|
|
) |
|
|
|
Constructor.
- Parameters:
-
|
|
in_d00 |
Value to set to this matrix[0,0]. |
|
|
in_d01 |
Value to set to this matrix[0,1]. |
|
|
in_d02 |
Value to set to this matrix[0,2]. |
|
|
in_d03 |
Value to set to this matrix[0,3]. |
|
|
in_d10 |
Value to set to this matrix[1,0]. |
|
|
in_d11 |
Value to set to this matrix[1,1]. |
|
|
in_d12 |
Value to set to this matrix[1,2]. |
|
|
in_d13 |
Value to set to this matrix[1,3]. |
|
|
in_d20 |
Value to set to this matrix[2,0]. |
|
|
in_d21 |
Value to set to this matrix[2,1]. |
|
|
in_d22 |
Value to set to this matrix[2,2]. |
|
|
in_d23 |
Value to set to this matrix[2,3]. |
|
|
in_d30 |
Value to set to this matrix[3,0]. |
|
|
in_d31 |
Value to set to this matrix[3,1]. |
|
|
in_d32 |
Value to set to this matrix[3,2]. |
|
|
in_d33 |
Value to set to this matrix[3,3]. |
Copy constructor.
- Parameters:
-
|
|
in_matrix4 |
constant class object. |
Default destructor.
Member Function Documentation
Assignment operator.
- Parameters:
-
|
|
in_matrix4 |
constant class object. |
- Returns:
- A reference to this object.
Right-multiplies this CMatrix4 object by the specified matrix and stores the result into this matrix (this = this . in_matrix4).
- Parameters:
-
|
|
in_matrix4 |
matrix to be multiplied with. |
- Returns:
- A reference to this object.
- See also:
- CTransformation::MulInPlace
| __forceinline CMatrix4 & SetIdentity |
( |
|
) |
|
Sets this CMatrix4 object to the identity matrix (this = id).
- Returns:
- A reference to this object.
Inverts this CMatrix4 object (if not singular) (this = this^-1).
- Returns:
- true if this matrix has been inverted (not singular), else false.
| bool Invert |
( |
const CMatrix4 & |
in_matrix4 |
) |
|
Inverts this CMatrix4 object (if not singular) (this = this^-1).
- Parameters:
-
|
|
in_matrix4 |
matrix to be inverted. |
- Returns:
- true if this matrix has been inverted (not singular), else false.
| bool TransposeInverseInPlace |
( |
|
) |
|
Sets this CMatrix4 object to the transpose of the inverse of itself (if not singular) (this = Transpose(this^-1)).
- Returns:
- true if this matrix has been inverted (not singular), else false.
| bool TransposeInverse |
( |
const CMatrix4 & |
in_matrix4 |
) |
|
Sets this CMatrix4 object to the transpose of the inverse of the input matrix (if not singular) (this = Transpose(in_matrix4^-1)).
- Parameters:
-
|
|
in_matrix4 |
matrix to be inversed and transposed. |
- Returns:
- true if this matrix has been inverted (not singular), else false.
| __forceinline void TransposeInPlace |
( |
|
) |
|
Transposes this CMatrix4 object in place (this = Transpose(this)).
| __forceinline void Transpose |
( |
const CMatrix4 & |
in_matrix4 |
) |
|
Transposes in_matrix and stores the result in this CMatrix4 object (this = Transpose(in_matrix4)).
- Parameters:
-
|
|
in_matrix4 |
matrix to be inversed and transposed. |
Right-multiplies this matrix by the matrix m and stores the result in this CMatrix4 object (this = this . in_matrix4).
- Parameters:
-
|
|
in_matrix4 |
matrix to be multiplied with. |
- Returns:
- A reference to this object.
Right-multiplies matrix A by matrix B and stores the result in this CMatrix4 object (this = in_matrix4A . in_matrix4B).
- Parameters:
-
|
|
in_matrix4A |
matrix |
|
|
in_matrix4B |
matrix |
- Returns:
- A reference to the object which contains the result of the multiplication.
| __forceinline void Get |
( |
double & |
io_d00, |
|
|
|
double & |
io_d01, |
|
|
|
double & |
io_d02, |
|
|
|
double & |
io_d03, |
|
|
|
double & |
io_d10, |
|
|
|
double & |
io_d11, |
|
|
|
double & |
io_d12, |
|
|
|
double & |
io_d13, |
|
|
|
double & |
io_d20, |
|
|
|
double & |
io_d21, |
|
|
|
double & |
io_d22, |
|
|
|
double & |
io_d23, |
|
|
|
double & |
io_d30, |
|
|
|
double & |
io_d31, |
|
|
|
double & |
io_d32, |
|
|
|
double & |
io_d33 |
|
|
|
) |
|
|
const |
Gets the 16 components of this matrix.
- Parameters:
-
|
|
io_d00 |
Value of this matrix[0,0]. |
|
|
io_d01 |
Value of this matrix[0,1]. |
|
|
io_d02 |
Value of this matrix[0,2]. |
|
|
io_d03 |
Value of this matrix[0,3]. |
|
|
io_d10 |
Value of this matrix[1,0]. |
|
|
io_d11 |
Value of this matrix[1,1]. |
|
|
io_d12 |
Value of this matrix[1,2]. |
|
|
io_d13 |
Value of this matrix[1,3]. |
|
|
io_d20 |
Value of this matrix[2,0]. |
|
|
io_d21 |
Value of this matrix[2,1]. |
|
|
io_d22 |
Value of this matrix[2,2]. |
|
|
io_d23 |
Value of this matrix[2,3]. |
|
|
io_d30 |
Value of this matrix[3,0]. |
|
|
io_d31 |
Value of this matrix[3,1]. |
|
|
io_d32 |
Value of this matrix[3,2]. |
|
|
io_d33 |
Value of this matrix[3,3]. |
| __forceinline void Set |
( |
double |
in_d00, |
|
|
|
double |
in_d01, |
|
|
|
double |
in_d02, |
|
|
|
double |
in_d03, |
|
|
|
double |
in_d10, |
|
|
|
double |
in_d11, |
|
|
|
double |
in_d12, |
|
|
|
double |
in_d13, |
|
|
|
double |
in_d20, |
|
|
|
double |
in_d21, |
|
|
|
double |
in_d22, |
|
|
|
double |
in_d23, |
|
|
|
double |
in_d30, |
|
|
|
double |
in_d31, |
|
|
|
double |
in_d32, |
|
|
|
double |
in_d33 |
|
|
|
) |
|
|
|
Sets the 16 components of this matrix.
- Parameters:
-
|
|
in_d00 |
Value to set in this matrix[0,0]. |
|
|
in_d01 |
Value to set in this matrix[0,1]. |
|
|
in_d02 |
Value to set in this matrix[0,2]. |
|
|
in_d03 |
Value to set in this matrix[0,3]. |
|
|
in_d10 |
Value to set in this matrix[1,0]. |
|
|
in_d11 |
Value to set in this matrix[1,1]. |
|
|
in_d12 |
Value to set in this matrix[1,2]. |
|
|
in_d13 |
Value to set in this matrix[1,3]. |
|
|
in_d20 |
Value to set in this matrix[2,0]. |
|
|
in_d21 |
Value to set in this matrix[2,1]. |
|
|
in_d22 |
Value to set in this matrix[2,2]. |
|
|
in_d23 |
Value to set in this matrix[2,3]. |
|
|
in_d30 |
Value to set in this matrix[3,0]. |
|
|
in_d31 |
Value to set in this matrix[3,1]. |
|
|
in_d32 |
Value to set in this matrix[3,2]. |
|
|
in_d33 |
Value to set in this matrix[3,3]. |
| __forceinline void Set |
( |
const double |
in_vals[4][4] |
) |
|
Sets the 16 components of this matrix.
- Parameters:
-
|
|
in_vals |
values for the matrix. |
| __forceinline double GetValue |
( |
short |
in_sRow, |
|
|
|
short |
in_sCol |
|
|
|
) |
|
|
const |
Returns the (i,j)th value of this CMatrix4 object.
- Parameters:
-
|
|
in_sRow |
access to the i th row |
|
|
in_sCol |
access to the j th column |
- Returns:
- The (i,j)th value of this CMatrix4 object.
| __forceinline void SetValue |
( |
short |
in_sRow, |
|
|
|
short |
in_sCol, |
|
|
|
double |
in_dVal |
|
|
|
) |
|
|
|
Sets the (i,j)th value of this CMatrix4 object.
- Parameters:
-
|
|
in_sRow |
access to the i th row |
|
|
in_sCol |
access to the j th column |
|
|
in_dVal |
new value |
| bool EpsilonEquals |
( |
const CMatrix4 & |
in_matrix4, |
|
|
|
double |
in_dEpsilon |
|
|
|
) |
|
|
const |
Tests the equality of this CMatrix4 object with the specified matrix, with a tolerance of Epsilon.
- Parameters:
-
|
|
in_matrix4 |
Operand matrix. |
|
|
in_dEpsilon |
Error margin Possible Values: [0, +INF[ should be a positive value |
- Returns:
- true if equal else false.
| __forceinline bool Equals |
( |
const CMatrix4 & |
in_matrix4 |
) |
const |
Tests the strict equality of this CMatrix4 object with the specified matrix.
- Parameters:
-
|
|
in_matrix4 |
Operand matrix. |
- Returns:
- true if equal else false.
| __forceinline bool operator== |
( |
const CMatrix4 & |
in_matrix4 |
) |
const |
Equality operator. Tests the strict equality of this CMatrix4 object with the specified matrix.
- Parameters:
-
|
|
in_matrix4 |
Operand matrix4. |
- Returns:
- true if equal else false.
- See also:
- CMatrix4::Equals
| __forceinline bool operator!= |
( |
const CMatrix4 & |
in_matrix4 |
) |
const |
Inequality operator. Tests the strict inequality of this CMatrix4 object with the specified matrix.
- Parameters:
-
|
|
in_matrix4 |
Operand matrix. |
- Returns:
- true if equal else false.
- See also:
- CMatrix4::Equals
The documentation for this class was generated from the following file: