Types:
Matrix33;
A 3x3 Matrix.Functions:typedef struct{
float x[3][3];
} Matrix33;
void Matrix33_Add(const Matrix33* m1, const Matrix33* m2, Matrix33* res);
This function adds matrix m1 to matrix m2 returning the result in res.Returns: nothing.
void Matrix33_Copy(const Matrix33* m, Matrix33*
c);
This function returns a copy of matrix m in c.Returns: nothing.
void Matrix33_ExtractFromXForm3d(const
geXForm3d* xform, Matrix33* m);
This function extracts the upper left 3x3 sections of the geXForm3d xform and copies it to m. I guess this would represent the non-translational transformation.Returns: nothing.
void Matrix33_GetTranspose(const Matrix33*
m, Matrix33* t);
This function transposes matrix m returning the result in t.Returns: nothing.
void Matrix33_GetInverse(const Matrix33*
m, Matrix33* inv);
This function inverts matrix m returning the result in t.Returns:nothing.
void Matrix33_MakeCrossProductMatrix33(const
geVec3d* v, Matrix33* m);
This function can be used to create a matrix from a vector to help calculate the cross product of two vectors. As an example, if you wanted the cross product of the vectors A and B (A x B), this could be calculated as Matrix33_MakeCrossProductMatrix33(A,temp); Matrix33_MultiplyVec3d(temp, B, result) where result is the result.Returns: nothing.
void Matrix33_Multiply(const Matrix33*
m1, const Matrix33* m2, Matrix33* res);
This function multiplies matrices m1 and m2 returning the result in res.Returns: nothing.
void Matrix33_MultiplyScalar(float s, const
Matrix33* m, Matrix33* res);
This function multiplies the matrix m by the scalar float s returning the result in res.Returns: nothing.
void Matrix33_MultiplyVec3d(const Matrix33*
m, const geVec3d* v, geVec3d* res);
This function multiplies the matrix m by the geVec3d v returning the resulting geVec3d in res.Returns: nothing.
void Matrix33_SetIdentity(Matrix33* m);
This function sets the matrix m to the identity matrix.Returns: nothing.
void Matrix33_Subtract(const Matrix33*
m1, const Matrix33* m2, Matrix33* res);
This function subtracts matrix m2 from matrix m1 returning the result in res.Returns: nothing.