HPL3/Community/Scripting/Classes/cmatrixf

From Frictional Wiki
Jump to navigation Jump to search

cMatrixf

Constructors

Constructor
cMatrixf() Creates a matrix with default values.
cMatrixf(cVector4f, cVector4f, cVector4f, cVector4f) Creates a matrix using the given vectors as column data.
cMatrixf(float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float) Creates a matrix using the given values as cell data.


Fields

cMatrixf has no public fields.

Functions

Return Type Function Name Parameters
float GetElement uint64,
uint64,
const
[[:hpl3:community:scripting:classes:cvector3f cVector3f]] GetRight const
void SetRight const [[:hpl3:community:scripting:classes:cvector3f cVector3f]] &in avVec
[[:hpl3:community:scripting:classes:cvector3f cVector3f]] GetUp const
void SetUp const [[:hpl3:community:scripting:classes:cvector3f cVector3f]] &in avVec
[[:hpl3:community:scripting:classes:cvector3f cVector3f]] GetForward const
void SetForward const [[:hpl3:community:scripting:classes:cvector3f cVector3f]] &in avVec
[[:hpl3:community:scripting:classes:cvector3f cVector3f]] GetTranslation const
void SetTranslation const [[:hpl3:community:scripting:classes:cvector3f cVector3f]] &in avTrans
void SetRotation float afXX,
float afXY,
float afXZ,
float afYX,
float afYY,
float afYZ,
float afZX,
float afZY,
float afZZ
void SetRotation const [[:hpl3:community:scripting:classes:cmatrixf cMatrixf]] &in a_mtxRot
[[:hpl3:community:scripting:classes:cmatrixf cMatrixf]] GetRotation const
[[:hpl3:community:scripting:classes:cmatrixf cMatrixf]] GetTranspose const


Constructors

Constructor
cMatrixf() Creates a matrix with default values.
cMatrixf(cVector4f, cVector4f, cVector4f, cVector4f) Creates a matrix using the given vectors as column data.
cMatrixf(float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float) Creates a matrix using the given values as cell data.

Fields

cMatrixf has no public fields.

Functions

Return Type Function Name Parameters
float GetElement uint64,
uint64,
const
[[:hpl3:community:scripting:classes:cvector3f cVector3f]] GetRight const
void SetRight const [[:hpl3:community:scripting:classes:cvector3f cVector3f]] &in avVec
[[:hpl3:community:scripting:classes:cvector3f cVector3f]] GetUp const
void SetUp const [[:hpl3:community:scripting:classes:cvector3f cVector3f]] &in avVec
[[:hpl3:community:scripting:classes:cvector3f cVector3f]] GetForward const
void SetForward const [[:hpl3:community:scripting:classes:cvector3f cVector3f]] &in avVec
[[:hpl3:community:scripting:classes:cvector3f cVector3f]] GetTranslation const
void SetTranslation const [[:hpl3:community:scripting:classes:cvector3f cVector3f]] &in avTrans
void SetRotation float afXX,
float afXY,
float afXZ,
float afYX,
float afYY,
float afYZ,
float afZX,
float afZY,
float afZZ
void SetRotation const [[:hpl3:community:scripting:classes:cmatrixf cMatrixf]] &in a_mtxRot
[[:hpl3:community:scripting:classes:cmatrixf cMatrixf]] GetRotation const
[[:hpl3:community:scripting:classes:cmatrixf cMatrixf]] GetTranspose const

Remarks

To retrieve a value from a matrix, use the GetElement function above. The parameters for the GetElement function use the format GetElement(columnIndex, rowIndex).

cMatrixf m1(cVector4f(0, 1, 2, 3), 
            cVector4f(4, 5, 6, 7), 
	    cVector4f(8, 9, 10, 11), 
	    cVector4f(12, 13, 14, 15));

float f = m1.GetElement(1, 2);

'' value of f: 9

To do matrix computations, use the cMath_MatrixXXX family of functions.

cMatrixf m1(cVector4f(1, 1, 1, 1), 
            cVector4f(2, 2, 2, 2), 
            cVector4f(3, 3, 3, 3), 
            cVector4f(4, 4, 4, 4));

cMatrixf m2(cVector4f(5, 5, 5, 5), 
            cVector4f(6, 6, 6, 6), 
            cVector4f(7, 7, 7, 7), 
            cVector4f(8, 8, 8, 8));
            
cMatrixf m3 = cMath_MatrixMul(m1, m2);

// value of m3: { 26,  26,  26,  26,
//                52,  52,  52,  52,
//                78,  78,  78,  78,
''                104, 104, 104, 104 }