A class to represent a single precision floating point 3 by 3 matrix. This class is typically used for implementing custom ICE nodes.
#include <xsi_matrix3f.h>
Public Member Functions | |
SICPPSDK_INLINE | CMatrix3f () |
SICPPSDK_INLINE | CMatrix3f (float in_00, float in_01, float in_02, float in_10, float in_11, float in_12, float in_20, float in_21, float in_22) |
SICPPSDK_INLINE | CMatrix3f (const CMatrix3f &in_matrix3) |
SICPPSDK_INLINE | ~CMatrix3f () |
SICPPSDK_INLINE CMatrix3f & | operator= (const CMatrix3f &in_matrix3) |
SICPPSDK_INLINE CMatrix3f & | operator*= (const CMatrix3f &in_matrix3) |
SICPPSDK_INLINE CMatrix3f & | SetIdentity () |
SICPPSDK_INLINE bool | Invert (const CMatrix3f &in_matrix3) |
SICPPSDK_INLINE bool | TransposeInverseInPlace () |
SICPPSDK_INLINE bool | TransposeInverse (const CMatrix3f &in_matrix3) |
SICPPSDK_INLINE void | TransposeInPlace () |
SICPPSDK_INLINE void | Transpose (const CMatrix3f &in_matrix3) |
SICPPSDK_INLINE CMatrix3f & | MulInPlace (const CMatrix3f &in_matrix3) |
SICPPSDK_INLINE CMatrix3f & | Mul (const CMatrix3f &in_matrix3A, const CMatrix3f &in_matrix3B) |
SICPPSDK_INLINE void | Get (float &io_00, float &io_01, float &io_02, float &io_10, float &io_11, float &io_12, float &io_20, float &io_21, float &io_22) const |
SICPPSDK_INLINE void | Set (float in_00, float in_01, float in_02, float in_10, float in_11, float in_12, float in_20, float in_21, float in_22) |
SICPPSDK_INLINE void | Set (const float in_Val[3][3]) |
SICPPSDK_INLINE float * | Get () |
SICPPSDK_INLINE float | GetValue (short in_sRow, short in_sCol) const |
SICPPSDK_INLINE void | SetValue (short in_sRow, short in_sCol, float in_Val) |
bool | EpsilonEquals (const CMatrix3f &in_matrix3, float in_Epsilon) const |
SICPPSDK_INLINE bool | Equals (const CMatrix3f &in_matrix3) const |
SICPPSDK_INLINE bool | operator== (const CMatrix3f &in_matrix3) const |
SICPPSDK_INLINE bool | operator!= (const CMatrix3f &in_matrix3) const |
SICPPSDK_INLINE bool | operator< (const CMatrix3f &in_matrix3) const |
SICPPSDK_INLINE const float * | Get () const |
SICPPSDK_INLINE CMatrix3f | ( | ) |
Default constructor.
SICPPSDK_INLINE CMatrix3f | ( | float | in_00, |
float | in_01, | ||
float | in_02, | ||
float | in_10, | ||
float | in_11, | ||
float | in_12, | ||
float | in_20, | ||
float | in_21, | ||
float | in_22 | ||
) |
Constructor.
in_00 | Value to set in this matrix[0,0]. |
in_01 | Value to set in this matrix[0,1]. |
in_02 | Value to set in this matrix[0,2]. |
in_10 | Value to set in this matrix[1,0]. |
in_11 | Value to set in this matrix[1,1]. |
in_12 | Value to set in this matrix[1,2]. |
in_20 | Value to set in this matrix[2,0]. |
in_21 | Value to set in this matrix[2,1]. |
in_22 | Value to set in this matrix[2,2]. |
Copy constructor.
in_matrix3 | constant class object. |
SICPPSDK_INLINE ~CMatrix3f | ( | ) |
Default destructor.
Assignment operator.
in_matrix3& | constant class object. |
Right-multiplies this CMatrix3f object by in_matrix3 and stores the result in the same CMatrix3f object (this = this * in_matrix3)
in_matrix3 | Matrix to be multiplied with. |
SICPPSDK_INLINE CMatrix3f & SetIdentity | ( | ) |
SICPPSDK_INLINE bool Invert | ( | const CMatrix3f & | in_matrix3 | ) |
SICPPSDK_INLINE bool TransposeInverseInPlace | ( | ) |
SICPPSDK_INLINE bool TransposeInverse | ( | const CMatrix3f & | in_matrix3 | ) |
SICPPSDK_INLINE void TransposeInPlace | ( | ) |
Transposes this CMatrix3f object in place (this = Transpose(this)).
SICPPSDK_INLINE void Transpose | ( | const CMatrix3f & | in_matrix3 | ) |
Transposes the specified matrix and stores the result in this CMatrix3f object (this = Transpose(in_matrix3)).
in_matrix3 | matrix to be inversed and transposed. |
SICPPSDK_INLINE void Get | ( | float & | io_00, |
float & | io_01, | ||
float & | io_02, | ||
float & | io_10, | ||
float & | io_11, | ||
float & | io_12, | ||
float & | io_20, | ||
float & | io_21, | ||
float & | io_22 | ||
) | const |
Returns the 9 components of this CMatrix3f object.
io_00 | Value of this matrix[0,0]. |
io_01 | Value of this matrix[0,1]. |
io_02 | Value of this matrix[0,2]. |
io_10 | Value of this matrix[1,0]. |
io_11 | Value of this matrix[1,1]. |
io_12 | Value of this matrix[1,2]. |
io_20 | Value of this matrix[2,0]. |
io_21 | Value of this matrix[2,1]. |
io_22 | Value of this matrix[2,2]. |
SICPPSDK_INLINE void Set | ( | float | in_00, |
float | in_01, | ||
float | in_02, | ||
float | in_10, | ||
float | in_11, | ||
float | in_12, | ||
float | in_20, | ||
float | in_21, | ||
float | in_22 | ||
) |
Sets the 9 components of this CMatrix3f object.
in_00 | Value to set to this matrix[0,0]. |
in_01 | Value to set to this matrix[0,1]. |
in_02 | Value to set to this matrix[0,2]. |
in_10 | Value to set to this matrix[1,0]. |
in_11 | Value to set to this matrix[1,1]. |
in_12 | Value to set to this matrix[1,2]. |
in_20 | Value to set to this matrix[2,0]. |
in_21 | Value to set to this matrix[2,1]. |
in_22 | Value to set to this matrix[2,2]. |
SICPPSDK_INLINE void Set | ( | const float | in_Val[3][3] | ) |
Sets the 9 components of this CMatrix3f object.
in_Val | A 3x3 array of float values. |
SICPPSDK_INLINE float * Get | ( | ) |
Gets a pointer to the internal matrix.
SICPPSDK_INLINE float GetValue | ( | short | in_sRow, |
short | in_sCol | ||
) | const |
SICPPSDK_INLINE void SetValue | ( | short | in_sRow, |
short | in_sCol, | ||
float | in_Val | ||
) |
Sets the (i,j)th value of this CMatrix3f object.
in_sRow | access to the i th row |
in_sCol | access to the j th column |
in_Val | new value |
bool EpsilonEquals | ( | const CMatrix3f & | in_matrix3, |
float | in_Epsilon | ||
) | const |
Tests the equality of this CMatrix3f object with the specified matrix, with a tolerance of Epsilon.
in_matrix3 | Operand matrix. |
in_Epsilon | Error margin Possible Values: [0, +INF[ should be a positive value |
SICPPSDK_INLINE bool Equals | ( | const CMatrix3f & | in_matrix3 | ) | const |
Tests the strict equality of this CMatrix3f object with the specified matrix.
in_matrix3 | Operand matrix. |
SICPPSDK_INLINE bool operator== | ( | const CMatrix3f & | in_matrix3 | ) | const |
Equality operator. Tests the strict equality of this CMatrix3f object with the specified matrix.
in_matrix3 | Operand matrix3. |
SICPPSDK_INLINE bool operator!= | ( | const CMatrix3f & | in_matrix3 | ) | const |
Inequality operator. Tests the strict inequality of this CMatrix3f object with the specified matrix.
in_matrix3 | Operand matrix. |
SICPPSDK_INLINE bool operator< | ( | const CMatrix3f & | in_matrix3 | ) | const |
Less than operator. Performs a comparison with a specified CMatrix3f to determine if this CMatrix3f is less than the specified CMatrix3f. The comparison is arbitrary and not geometrically meaningful, it's only purpose is to make CMAtrix3ff compliant with stl for sorting operations.
in_matrix3 | CMatrix3f to compare. |
SICPPSDK_INLINE const float * Get | ( | ) | const |
Gets a pointer to the const version of the internal matrix.