Public Member Functions
CMatrix3f Class Reference

Detailed Description

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>

List of all members.

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 CMatrix3foperator= (const CMatrix3f &in_matrix3)
SICPPSDK_INLINE CMatrix3foperator*= (const CMatrix3f &in_matrix3)
SICPPSDK_INLINE CMatrix3fSetIdentity ()
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 CMatrix3fMulInPlace (const CMatrix3f &in_matrix3)
SICPPSDK_INLINE CMatrix3fMul (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

Constructor & Destructor Documentation

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.

Parameters:
in_00Value to set in this matrix[0,0].
in_01Value to set in this matrix[0,1].
in_02Value to set in this matrix[0,2].
in_10Value to set in this matrix[1,0].
in_11Value to set in this matrix[1,1].
in_12Value to set in this matrix[1,2].
in_20Value to set in this matrix[2,0].
in_21Value to set in this matrix[2,1].
in_22Value to set in this matrix[2,2].
SICPPSDK_INLINE CMatrix3f ( const CMatrix3f in_matrix3)

Copy constructor.

Parameters:
in_matrix3constant class object.
SICPPSDK_INLINE ~CMatrix3f ( )

Default destructor.


Member Function Documentation

SICPPSDK_INLINE CMatrix3f & operator= ( const CMatrix3f in_matrix3)

Assignment operator.

Parameters:
in_matrix3&constant class object.
SICPPSDK_INLINE CMatrix3f & operator*= ( const CMatrix3f in_matrix3)

Right-multiplies this CMatrix3f object by in_matrix3 and stores the result in the same CMatrix3f object (this = this * in_matrix3)

Parameters:
in_matrix3Matrix to be multiplied with.
Returns:
A reference to this CMatrix3f object.
See also:
CMatrix3f::MulInPlace
SICPPSDK_INLINE CMatrix3f & SetIdentity ( )

Sets this CMatrix3f object to the identity matrix (this = id).

Returns:
A reference to this CMatrix3f object.
SICPPSDK_INLINE bool Invert ( const CMatrix3f in_matrix3)

Inverts this CMatrix3f object (if not singular) (this = this^-1).

Parameters:
in_matrix3Matrix to be inverted.
Returns:
true if this CMatrix3f object has been inverted (not singular), else false.
SICPPSDK_INLINE bool TransposeInverseInPlace ( )

Sets this CMatrix3f object to the transpose of the inverse of itself (if not singular) (this = Transpose(this^-1)).

Returns:
true if this CMatrix3f object has been inverted (not singular), else false.
SICPPSDK_INLINE bool TransposeInverse ( const CMatrix3f in_matrix3)

Sets this CMatrix3f object to the transpose of the inverse of the input matrix (if not singular) (this = Transpose(in_matrix3^-1)).

Parameters:
in_matrix3CMatrix3f object to be inversed and transposed.
Returns:
true if this CMatrix3f object has been inverted (not singular), else false.
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)).

Parameters:
in_matrix3matrix to be inversed and transposed.
SICPPSDK_INLINE CMatrix3f & MulInPlace ( const CMatrix3f in_matrix3)

Right-multiplies this CMatrix3f object by in_matrix3 and stores the result in this CMatrix3f object (this = this * in_matrix3).

Parameters:
in_matrix3matrix to be multiplied with.
Returns:
A reference to the CMatrix3f object.
SICPPSDK_INLINE CMatrix3f & Mul ( const CMatrix3f in_matrix3A,
const CMatrix3f in_matrix3B 
)

Right-multiplies in_matrix3A by in_matrix3B and stores the result in this CMatrix3f object (this = in_matrix3A * in_matrix3B).

Parameters:
in_matrix3Amatrix
in_matrix3Bmatrix
Returns:
CMatrix3f& A reference to the CMatrix3f object which contains the result of the multiplication.
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.

Parameters:
io_00Value of this matrix[0,0].
io_01Value of this matrix[0,1].
io_02Value of this matrix[0,2].
io_10Value of this matrix[1,0].
io_11Value of this matrix[1,1].
io_12Value of this matrix[1,2].
io_20Value of this matrix[2,0].
io_21Value of this matrix[2,1].
io_22Value 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.

Parameters:
in_00Value to set to this matrix[0,0].
in_01Value to set to this matrix[0,1].
in_02Value to set to this matrix[0,2].
in_10Value to set to this matrix[1,0].
in_11Value to set to this matrix[1,1].
in_12Value to set to this matrix[1,2].
in_20Value to set to this matrix[2,0].
in_21Value to set to this matrix[2,1].
in_22Value 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.

Parameters:
in_ValA 3x3 array of float values.
SICPPSDK_INLINE float * Get ( )

Gets a pointer to the internal matrix.

Returns:
Pointer to matrix.
SICPPSDK_INLINE float GetValue ( short  in_sRow,
short  in_sCol 
) const

Returns the (i,j)th value of this CMatrix3f object.

Parameters:
in_sRowaccess to the i th row
in_sColaccess to the j th column
Returns:
The (i,j)th value of this CMatrix3f object.
SICPPSDK_INLINE void SetValue ( short  in_sRow,
short  in_sCol,
float  in_Val 
)

Sets the (i,j)th value of this CMatrix3f object.

Parameters:
in_sRowaccess to the i th row
in_sColaccess to the j th column
in_Valnew 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.

Parameters:
in_matrix3Operand matrix.
in_EpsilonError margin Possible Values: [0, +INF[ should be a positive value
Returns:
true if equal else false.
SICPPSDK_INLINE bool Equals ( const CMatrix3f in_matrix3) const

Tests the strict equality of this CMatrix3f object with the specified matrix.

Parameters:
in_matrix3Operand matrix.
Returns:
true if equal else false.
SICPPSDK_INLINE bool operator== ( const CMatrix3f in_matrix3) const

Equality operator. Tests the strict equality of this CMatrix3f object with the specified matrix.

Parameters:
in_matrix3Operand matrix3.
Returns:
true if equal else false.
See also:
CMatrix3f::Equals
SICPPSDK_INLINE bool operator!= ( const CMatrix3f in_matrix3) const

Inequality operator. Tests the strict inequality of this CMatrix3f object with the specified matrix.

Parameters:
in_matrix3Operand matrix.
Returns:
true if equal else false.
See also:
CMatrix3f::Equals
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.

Parameters:
in_matrix3CMatrix3f to compare.
Returns:
true if this CMatrix3f is less than the specified CMatrix3f, false otherwise.
Since:
7.5
SICPPSDK_INLINE const float * Get ( ) const

Gets a pointer to the const version of the internal matrix.

Returns:
Pointer to const matrix.
Since:
11.0 (2013)

The documentation for this class was generated from the following file: