CMatrix3 Class Reference
Related Scripting Object: SIMatrix3
This class represents a double precision floating point 3 by 3 matrix. More...
#include <xsi_matrix3.h>
List of all members.
|
|
Public Member Functions
|
| __forceinline |
CMatrix3 () |
| __forceinline |
CMatrix3 (double in_d00, double in_d01, double in_d02, double in_d10, double in_d11, double in_d12, double in_d20, double in_d21, double in_d22) |
| __forceinline |
CMatrix3 (const CMatrix3 &in_matrix3) |
| __forceinline |
~CMatrix3 () |
| __forceinline CMatrix3 & |
operator= (const CMatrix3 &in_matrix3) |
| __forceinline CMatrix3 & |
operator *= (const CMatrix3 &in_matrix3) |
| CVector3 & |
operator[] (const short &in_sIndex) |
| __forceinline CMatrix3 & |
SetIdentity () |
| bool |
InvertInPlace () |
| bool |
Invert (const CMatrix3 &in_matrix3) |
| bool |
TransposeInverseInPlace () |
| bool |
TransposeInverse (const CMatrix3 &in_matrix3) |
| __forceinline void |
TransposeInPlace () |
| __forceinline void |
Transpose (const CMatrix3 &in_matrix3) |
| __forceinline CMatrix3 & |
MulInPlace (const CMatrix3 &in_matrix3) |
| __forceinline CMatrix3 & |
Mul (const CMatrix3 &in_matrix3A, const CMatrix3 &in_matrix3B) |
| __forceinline void |
Get (double &io_d00, double &io_d01, double &io_d02, double &io_d10, double &io_d11, double &io_d12, double &io_d20, double &io_d21, double &io_d22) const |
| __forceinline void |
Set (double in_d00, double in_d01, double in_d02, double in_d10, double in_d11, double in_d12, double in_d20, double in_d21, double in_d22) |
| __forceinline void |
Set (const double in_dVal[3][3]) |
| __forceinline double |
GetValue (short in_sRow, short in_sCol) const |
| __forceinline void |
SetValue (short in_sRow, short in_sCol, double in_dVal) |
| CMatrix3 & |
SetFromQuaternion (const CQuaternion &in_quaternion) |
| CQuaternion |
GetQuaternion (void) const |
| bool |
EpsilonEquals (const CMatrix3 &in_matrix3, double in_dEpsilon) const |
| __forceinline bool |
Equals (const CMatrix3 &in_matrix3) const |
| __forceinline bool |
operator== (const CMatrix3 &in_matrix3) const |
| __forceinline bool |
operator!= (const CMatrix3 &in_matrix3) const |
Detailed Description
This class represents a double precision floating point 3 by 3 matrix.
- Example:
-
using namespace XSI::MATH;
CMatrix3 mat3(1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0);
mat3.TransposeInPlace();
Application app;
app.LogMessage(CString(L"The transposed matrix is ") +
CValue(mat3.GetValue(0,0)).GetAsText() + CString(L", ")+
CValue(mat3.GetValue(0,1)).GetAsText() + CString(L", ")+
CValue(mat3.GetValue(0,2)).GetAsText() + CString(L", ")+
CValue(mat3.GetValue(1,0)).GetAsText() + CString(L", ")+
CValue(mat3.GetValue(1,1)).GetAsText() + CString(L", ")+
CValue(mat3.GetValue(1,2)).GetAsText() + CString(L", ")+
CValue(mat3.GetValue(2,0)).GetAsText() + CString(L", ")+
CValue(mat3.GetValue(2,1)).GetAsText() + CString(L", ")+
CValue(mat3.GetValue(2,2)).GetAsText());
Constructor & Destructor Documentation
| __forceinline CMatrix3 |
( |
double |
in_d00, |
|
|
|
double |
in_d01, |
|
|
|
double |
in_d02, |
|
|
|
double |
in_d10, |
|
|
|
double |
in_d11, |
|
|
|
double |
in_d12, |
|
|
|
double |
in_d20, |
|
|
|
double |
in_d21, |
|
|
|
double |
in_d22 |
|
|
|
) |
|
|
|
Constructor.
- 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_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_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]. |
Copy constructor.
- Parameters:
-
|
|
in_matrix3 |
constant class object. |
Default destructor.
Member Function Documentation
Assignment operator.
- Parameters:
-
|
|
in_matrix3& |
constant class object. |
Right-multiplies this CMatrix3 object by the matrix m and stores the result in the same CMatrix3 object (this = this . in_matrix3)
- Parameters:
-
|
|
in_matrix3 |
matrix to be multiplied with. |
- Returns:
- A reference to this CMatrix3 object.
- See also:
- CMatrix3::MulInPlace
| CVector3& operator[] |
( |
const short & |
in_sIndex |
) |
|
Accesses a row of this CMatrix3 object.
- Parameters:
-
|
|
in_sIndex |
0,1,2 for the row of the matrix. |
- Returns:
- A reference to this CVector3 object.
- See also:
- CVector3::operator[]
| __forceinline CMatrix3 & SetIdentity |
( |
|
) |
|
Sets this CMatrix3 object to the identity matrix (this = id).
- Returns:
- A reference to this CMatrix3 object.
Inverts this CMatrix3 object (if not singular) (this = this^-1).
- Returns:
- true if this CMatrix3 object has been inverted (not singular), else false.
| bool Invert |
( |
const CMatrix3 & |
in_matrix3 |
) |
|
Inverts this CMatrix3 object (if not singular) (this = this^-1).
- Parameters:
-
|
|
in_matrix3 |
matrix to be inverted. |
- Returns:
- true if this CMatrix3 object has been inverted (not singular), else false.
| bool TransposeInverseInPlace |
( |
|
) |
|
Sets this CMatrix3 object to the transpose of the inverse of itself (if not singular) (this = Transpose(this^-1)).
- Returns:
- true if this CMatrix3 object has been inverted (not singular), else false.
| bool TransposeInverse |
( |
const CMatrix3 & |
in_matrix3 |
) |
|
Sets this CMatrix3 object to the transpose of the inverse of the input matrix (if not singular) (this = Transpose(in_matrix3^-1)).
- Parameters:
-
|
|
in_matrix3 |
CMatrix3 object to be inversed and transposed. |
- Returns:
- true if this CMatrix3 object has been inverted (not singular), else false.
| __forceinline void TransposeInPlace |
( |
|
) |
|
Transposes this CMatrix3 object in place (this = Transpose(this)).
| __forceinline void Transpose |
( |
const CMatrix3 & |
in_matrix3 |
) |
|
Transposes the specified matrix and stores the result in this CMatrix3 object (this = Transpose(in_matrix3)).
- Parameters:
-
|
|
in_matrix3 |
matrix to be inversed and transposed. |
Right-multiplies this CMatrix3 object by the matrix m and stores the result in this CMatrix3 object (this = this . in_matrix3).
- Parameters:
-
|
|
in_matrix3 |
matrix to be multiplied with. |
- Returns:
- A reference to the CMatrix3 object.
Right-multiplies the matrix A by the matrix B and stores the result in this CMatrix3 object (this = in_matrix3A . in_matrix3B).
- Parameters:
-
|
|
in_matrix3A |
matrix |
|
|
in_matrix3B |
matrix |
- Returns:
- CMatrix3& A reference to the CMatrix3 object which contains the result of the multiplication.
| __forceinline void Get |
( |
double & |
io_d00, |
|
|
|
double & |
io_d01, |
|
|
|
double & |
io_d02, |
|
|
|
double & |
io_d10, |
|
|
|
double & |
io_d11, |
|
|
|
double & |
io_d12, |
|
|
|
double & |
io_d20, |
|
|
|
double & |
io_d21, |
|
|
|
double & |
io_d22 |
|
|
|
) |
|
|
const |
Returns the 9 components of this CMatrix3 object.
- 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_d10 |
Value of this matrix[1,0]. |
|
|
io_d11 |
Value of this matrix[1,1]. |
|
|
io_d12 |
Value of this matrix[1,2]. |
|
|
io_d20 |
Value of this matrix[2,0]. |
|
|
io_d21 |
Value of this matrix[2,1]. |
|
|
io_d22 |
Value of this matrix[2,2]. |
| __forceinline void Set |
( |
double |
in_d00, |
|
|
|
double |
in_d01, |
|
|
|
double |
in_d02, |
|
|
|
double |
in_d10, |
|
|
|
double |
in_d11, |
|
|
|
double |
in_d12, |
|
|
|
double |
in_d20, |
|
|
|
double |
in_d21, |
|
|
|
double |
in_d22 |
|
|
|
) |
|
|
|
Sets the 9 components of this CMatrix3 object.
- 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_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_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]. |
| __forceinline void Set |
( |
const double |
in_dVal[3][3] |
) |
|
Sets the 9 components of this CMatrix3 object.
- Parameters:
-
|
|
in_dVal |
A 3x3 array of double values. |
| __forceinline double GetValue |
( |
short |
in_sRow, |
|
|
|
short |
in_sCol |
|
|
|
) |
|
|
const |
Returns the (i,j)th value of this CMatrix3 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 CMatrix3 object.
| __forceinline void SetValue |
( |
short |
in_sRow, |
|
|
|
short |
in_sCol, |
|
|
|
double |
in_dVal |
|
|
|
) |
|
|
|
Sets the (i,j)th value of this CMatrix3 object.
- Parameters:
-
|
|
in_sRow |
access to the i th row |
|
|
in_sCol |
access to the j th column |
|
|
in_dVal |
new value |
Sets the CMatrix3 object using rotation CQuaternion.
- Parameters:
-
|
|
in_quaternion |
The CQuaternion containing the new matrix3 values |
- Returns:
- The new CMatrix3 object.
Gets the rotation CQuaternion representation of this matrix3.
- Returns:
- Rotation CQuaternion
| bool EpsilonEquals |
( |
const CMatrix3 & |
in_matrix3, |
|
|
|
double |
in_dEpsilon |
|
|
|
) |
|
|
const |
Tests the equality of this CMatrix3 object with the specified matrix, with a tolerance of Epsilon.
- Parameters:
-
|
|
in_matrix3 |
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 CMatrix3 & |
in_matrix3 |
) |
const |
Tests the strict equality of this CMatrix3 object with the specified matrix.
- Parameters:
-
|
|
in_matrix3 |
Operand matrix. |
- Returns:
- true if equal else false.
| __forceinline bool operator== |
( |
const CMatrix3 & |
in_matrix3 |
) |
const |
Equality operator. Tests the strict equality of this CMatrix3 object with the specified matrix.
- Parameters:
-
|
|
in_matrix3 |
Operand matrix3. |
- Returns:
- true if equal else false.
- See also:
- CMatrix3::Equals
| __forceinline bool operator!= |
( |
const CMatrix3 & |
in_matrix3 |
) |
const |
Inequality operator. Tests the strict inequality of this CMatrix3 object with the specified matrix.
- Parameters:
-
|
|
in_matrix3 |
Operand matrix. |
- Returns:
- true if equal else false.
- See also:
- CMatrix3::Equals
The documentation for this class was generated from the following file: