This class represents a double precision floating point 3 by 3 matrix.
        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());
#include <xsi_matrix3.h>
| Public Member Functions | |
| SICPPSDK_INLINE | CMatrix3 () | 
| SICPPSDK_INLINE | 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) | 
| SICPPSDK_INLINE | CMatrix3 (const CMatrix3 &in_matrix3) | 
| SICPPSDK_INLINE | ~CMatrix3 () | 
| SICPPSDK_INLINE CMatrix3 & | operator= (const CMatrix3 &in_matrix3) | 
| SICPPSDK_INLINE CMatrix3 & | operator*= (const CMatrix3 &in_matrix3) | 
| CVector3 & | operator[] (const short &in_sIndex) | 
| SICPPSDK_INLINE CMatrix3 & | SetIdentity () | 
| bool | InvertInPlace () | 
| bool | Invert (const CMatrix3 &in_matrix3) | 
| bool | TransposeInverseInPlace () | 
| bool | TransposeInverse (const CMatrix3 &in_matrix3) | 
| SICPPSDK_INLINE void | TransposeInPlace () | 
| SICPPSDK_INLINE void | Transpose (const CMatrix3 &in_matrix3) | 
| SICPPSDK_INLINE CMatrix3 & | MulInPlace (const CMatrix3 &in_matrix3) | 
| SICPPSDK_INLINE CMatrix3 & | Mul (const CMatrix3 &in_matrix3A, const CMatrix3 &in_matrix3B) | 
| SICPPSDK_INLINE 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 | 
| SICPPSDK_INLINE 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) | 
| SICPPSDK_INLINE void | Set (const double in_dVal[3][3]) | 
| SICPPSDK_INLINE double | GetValue (short in_sRow, short in_sCol) const | 
| SICPPSDK_INLINE 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 | 
| SICPPSDK_INLINE bool | Equals (const CMatrix3 &in_matrix3) const | 
| SICPPSDK_INLINE bool | operator== (const CMatrix3 &in_matrix3) const | 
| SICPPSDK_INLINE bool | operator!= (const CMatrix3 &in_matrix3) const | 
| SICPPSDK_INLINE CMatrix3 | ( | ) | 
Default constructor.
| SICPPSDK_INLINE 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.
| 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.
| in_matrix3 | constant class object. | 
| SICPPSDK_INLINE ~CMatrix3 | ( | ) | 
Default destructor.
Assignment operator.
| 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)
| in_matrix3 | matrix to be multiplied with. | 
| CVector3& operator[] | ( | const short & | in_sIndex | ) | 
Accesses a row of this CMatrix3 object.
| in_sIndex | 0,1,2 for the row of the matrix. | 
| SICPPSDK_INLINE CMatrix3 & SetIdentity | ( | ) | 
| bool InvertInPlace | ( | ) | 
| bool Invert | ( | const CMatrix3 & | in_matrix3 | ) | 
| bool TransposeInverseInPlace | ( | ) | 
| bool TransposeInverse | ( | const CMatrix3 & | in_matrix3 | ) | 
| SICPPSDK_INLINE void TransposeInPlace | ( | ) | 
Transposes this CMatrix3 object in place (this = Transpose(this)).
| SICPPSDK_INLINE void Transpose | ( | const CMatrix3 & | in_matrix3 | ) | 
Transposes the specified matrix and stores the result in this CMatrix3 object (this = Transpose(in_matrix3)).
| in_matrix3 | matrix to be inversed and transposed. | 
| SICPPSDK_INLINE 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.
| 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]. | 
| SICPPSDK_INLINE 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.
| 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]. | 
| SICPPSDK_INLINE void Set | ( | const double | in_dVal[3][3] | ) | 
Sets the 9 components of this CMatrix3 object.
| in_dVal | A 3x3 array of double values. | 
| SICPPSDK_INLINE double GetValue | ( | short | in_sRow, | 
| short | in_sCol | ||
| ) | const | 
| SICPPSDK_INLINE void SetValue | ( | short | in_sRow, | 
| short | in_sCol, | ||
| double | in_dVal | ||
| ) | 
Sets the (i,j)th value of this CMatrix3 object.
| in_sRow | access to the i th row | 
| in_sCol | access to the j th column | 
| in_dVal | new value | 
| CMatrix3& SetFromQuaternion | ( | const CQuaternion & | in_quaternion | ) | 
Sets the CMatrix3 object using rotation CQuaternion.
| in_quaternion | The CQuaternion containing the new matrix3 values | 
| CQuaternion GetQuaternion | ( | void | ) | const | 
Gets the rotation CQuaternion representation of this matrix3.
| 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.
| in_matrix3 | Operand matrix. | 
| in_dEpsilon | Error margin Possible Values: [0, +INF[ should be a positive value | 
| SICPPSDK_INLINE bool Equals | ( | const CMatrix3 & | in_matrix3 | ) | const | 
Tests the strict equality of this CMatrix3 object with the specified matrix.
| in_matrix3 | Operand matrix. | 
| SICPPSDK_INLINE bool operator== | ( | const CMatrix3 & | in_matrix3 | ) | const | 
Equality operator. Tests the strict equality of this CMatrix3 object with the specified matrix.
| in_matrix3 | Operand matrix3. | 
| SICPPSDK_INLINE bool operator!= | ( | const CMatrix3 & | in_matrix3 | ) | const | 
Inequality operator. Tests the strict inequality of this CMatrix3 object with the specified matrix.
| in_matrix3 | Operand matrix. |