OpenGL ES SDK for Android ARM Developer Center
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MaliSDK::Matrix Class Reference

Functions for manipulating matrices. More...

#include <Matrix.h>

Public Member Functions

floatgetAsArray (void)
 Get the matrix elements as a column major order array. More...
 
 Matrix (void)
 Default constructor. More...
 
floatoperator[] (unsigned element)
 Array operator for accessing the elements of the matrix. More...
 
Matrix operator* (Matrix right)
 Multiply operator to post multiply a matrix by another. More...
 
Matrixoperator= (const Matrix &another)
 Overloading assingment operater to do deep copy of the Matrix elements. More...
 
 Matrix (const float *array)
 Constructor from element array. More...
 
void print (void)
 Print the matrix. More...
 
floatgetAsArray (void)
 Get the matrix elements as a column major order array. More...
 
 Matrix (void)
 Default constructor. More...
 
floatoperator[] (unsigned element)
 Array operator for accessing the elements of the matrix. More...
 
Matrix operator* (Matrix right)
 Multiply operator to post multiply a matrix by another. More...
 
Matrixoperator= (const Matrix &another)
 Overloading assingment operater to do deep copy of the Matrix elements. More...
 
 Matrix (const float *array)
 Constructor from element array. More...
 
floatgetAsArray (void)
 Get the matrix elements as a column major order array. More...
 
 Matrix (void)
 Default constructor. More...
 
floatoperator[] (unsigned element)
 Array operator for accessing the elements of the matrix. More...
 
Matrix operator* (Matrix right)
 Multiply operator to post multiply a matrix by another. More...
 
Matrixoperator= (const Matrix &another)
 Overloading assingment operater to do deep copy of the Matrix elements. More...
 
 Matrix (const float *array)
 Constructor from element array. More...
 
floatgetAsArray (void)
 Get the matrix elements as a column major order array. More...
 
 Matrix (void)
 Default constructor. More...
 
floatoperator[] (unsigned element)
 Array operator for accessing the elements of the matrix. More...
 
Matrix operator* (Matrix right)
 Multiply operator to post multiply a matrix by another. More...
 
Matrixoperator= (const Matrix &another)
 Overloading assingment operater to do deep copy of the Matrix elements. More...
 
 Matrix (const float *array)
 Constructor from element array. More...
 
void print (void)
 Print the matrix. More...
 
floatgetAsArray (void)
 Get the matrix elements as a column major order array. More...
 
 Matrix (void)
 Default constructor. More...
 
floatoperator[] (unsigned element)
 Array operator for accessing the elements of the matrix. More...
 
Matrix operator* (Matrix right)
 Multiply operator to post multiply a matrix by another. More...
 
Matrixoperator= (const Matrix &another)
 Overloading assingment operater to do deep copy of the Matrix elements. More...
 
 Matrix (const float *array)
 Constructor from element array. More...
 
void print (void)
 Print the matrix. More...
 
 Matrix (void)
 Default constructor. More...
 
floatoperator[] (unsigned element)
 Array operator for accessing the elements of the matrix. More...
 
Matrix operator* (Matrix right)
 Multiply operator to post multiply a matrix by another. More...
 
Matrixoperator= (const Matrix &another)
 Overloading assingment operater to do deep copy of the Matrix elements. More...
 
 Matrix (const float *array)
 Constructor from element array. More...
 
floatgetAsArray (void)
 Get the matrix elements as a column major order array. More...
 
floatgetAsArray (void)
 Get the matrix elements as a column major order array. More...
 
 Matrix (void)
 Default constructor. More...
 
floatoperator[] (unsigned element)
 Array operator for accessing the elements of the matrix. More...
 
Matrix operator* (Matrix right)
 Multiply operator to post multiply a matrix by another. More...
 
Matrixoperator= (const Matrix &another)
 Overloading assingment operater to do deep copy of the Matrix elements. More...
 
 Matrix (const float *array)
 Constructor from element array. More...
 
void print (void)
 Print the matrix. More...
 
floatgetAsArray (void)
 Get the matrix elements as a column major order array. More...
 
 Matrix (void)
 Default constructor. More...
 
floatoperator[] (unsigned element)
 Array operator for accessing the elements of the matrix. More...
 
Matrix operator* (Matrix right)
 Multiply operator to post multiply a matrix by another. More...
 
Matrixoperator= (const Matrix &another)
 Overloading assingment operater to do deep copy of the Matrix elements. More...
 
 Matrix (const float *array)
 Constructor from element array. More...
 
void print (void)
 Print the matrix. More...
 
 Matrix (void)
 Default constructor. More...
 
floatoperator[] (unsigned element)
 Array operator for accessing the elements of the matrix. More...
 
Matrix operator* (Matrix right)
 Multiply operator to post multiply a matrix by another. More...
 
Matrixoperator= (const Matrix &another)
 Overloading assingment operater to do deep copy of the Matrix elements. More...
 
 Matrix (const float *array)
 Constructor from element array. More...
 
floatgetAsArray (void)
 Get the matrix elements as a column major order array. More...
 
 Matrix (void)
 Default constructor. More...
 
floatoperator[] (unsigned element)
 Array operator for accessing the elements of the matrix. More...
 
Matrix operator* (Matrix right)
 Multiply operator to post multiply a matrix by another. More...
 
Matrixoperator= (const Matrix &another)
 Overloading assingment operater to do deep copy of the Matrix elements. More...
 
 Matrix (const float *array)
 Constructor from element array. More...
 
floatgetAsArray (void)
 Get the matrix elements as a column major order array. More...
 

Static Public Member Functions

static Vec4f vertexTransform (Vec4f *vector, Matrix *matrix)
 Transform a 4D vertex by a matrix. More...
 
static Vec3f vertexTransform (Vec3f *vector, Matrix *matrix)
 Transform a 3D vertex by a matrix. More...
 
static void matrixTranspose (Matrix *matrix)
 Transpose a matrix in-place. More...
 
static Matrix createRotationX (float angle)
 Create and return a rotation matrix around the x-axis matrix. More...
 
static Matrix createRotationY (float angle)
 Create and return a rotation matrix around the y-axis matrix. More...
 
static Matrix createRotationZ (float angle)
 Create and return a rotation matrix around the z-axis matrix. More...
 
static Matrix createTranslation (float x, float y, float z)
 Create and return a translation matrix. More...
 
static Matrix createScaling (float x, float y, float z)
 Create and return a scaling matrix. More...
 
static Matrix matrixPerspective (float FOV, float ratio, float zNear, float zFar)
 Create and return a perspective projection matrix. More...
 
static Matrix matrixCameraLookAt (Vec3f eye, Vec3f center, Vec3f up)
 Create and return a camera matrix. More...
 
static Matrix matrixOrthographic (float left, float right, float bottom, float top, float zNear, float zFar)
 Create and return an orthographic projection matrix. More...
 
static Matrix matrixInvert (Matrix *matrix)
 Get the inverse of a matrix. More...
 
static float matrixDeterminant (float *matrix)
 Calculate determinant of supplied 3x3 matrix. More...
 
static float matrixDeterminant (Matrix *matrix)
 Calculate determinant of supplied 4x4 matrix. More...
 
static Matrix matrixScale (Matrix *matrix, float scale)
 Scale each element in a matrix by a constant. More...
 
static Matrix createTranslation (float x, float y, float z)
 Create and return a translation matrix. More...
 
static Matrix createScaling (float x, float y, float z)
 Create and return a scaling matrix. More...
 
static Matrix matrixPerspective (float FOV, float ratio, float zNear, float zFar)
 Create and return a perspective projection matrix. More...
 
static Matrix matrixPerspective (float FOV, float ratio, float zNear, float zFar)
 Create and return a perspective projection matrix. More...
 
static Matrix matrixCameraLookAt (Vec3f eye, Vec3f center, Vec3f up)
 Create and return a camera matrix. More...
 
static Vec4f vertexTransform (Vec4f *vector, Matrix *matrix)
 Transform a 4D vertex by a matrix. More...
 
static Vec3f vertexTransform (Vec3f *vector, Matrix *matrix)
 Transform a 3D vertex by a matrix. More...
 
static void matrixTranspose (Matrix *matrix)
 Transpose a matrix in-place. More...
 
static Matrix createRotationX (float angle)
 Create and return a rotation matrix around the x-axis matrix. More...
 
static Matrix createRotationY (float angle)
 Create and return a rotation matrix around the y-axis matrix. More...
 
static Matrix createRotationZ (float angle)
 Create and return a rotation matrix around the z-axis matrix. More...
 
static Matrix createTranslation (float x, float y, float z)
 Create and return a translation matrix. More...
 
static Matrix createScaling (float x, float y, float z)
 Create and return a scaling matrix. More...
 
static Matrix matrixPerspective (float FOV, float ratio, float zNear, float zFar)
 Create and return a perspective projection matrix. More...
 
static Matrix matrixCameraLookAt (Vec3f eye, Vec3f center, Vec3f up)
 Create and return a camera matrix. More...
 
static Matrix matrixOrthographic (float left, float right, float bottom, float top, float zNear, float zFar)
 Create and return an orthographic projection matrix. More...
 
static Matrix matrixInvert (Matrix *matrix)
 Get the inverse of a matrix. More...
 
static float matrixDeterminant (float *matrix)
 Calculate determinant of supplied 3x3 matrix. More...
 
static float matrixDeterminant (Matrix *matrix)
 Calculate determinant of supplied 4x4 matrix. More...
 
static Matrix matrixScale (Matrix *matrix, float scale)
 Scale each element in a matrix by a constant. More...
 
static Vec4f vertexTransform (Vec4f *vector, Matrix *matrix)
 Transform a 4D vertex by a matrix. More...
 
static Vec3f vertexTransform (Vec3f *vector, Matrix *matrix)
 Transform a 3D vertex by a matrix. More...
 
static void matrixTranspose (Matrix *matrix)
 Transpose a matrix in-place. More...
 
static Matrix createRotationX (float angle)
 Create and return a rotation matrix around the x-axis matrix. More...
 
static Matrix createRotationY (float angle)
 Create and return a rotation matrix around the y-axis matrix. More...
 
static Matrix createRotationZ (float angle)
 Create and return a rotation matrix around the z-axis matrix. More...
 
static Matrix createTranslation (float x, float y, float z)
 Create and return a translation matrix. More...
 
static Matrix createScaling (float x, float y, float z)
 Create and return a scaling matrix. More...
 
static Matrix matrixPerspective (float FOV, float ratio, float zNear, float zFar)
 Create and return a perspective projection matrix. More...
 
static Matrix matrixCameraLookAt (Vec3f eye, Vec3f center, Vec3f up)
 Create and return a camera matrix. More...
 
static Matrix matrixOrthographic (float left, float right, float bottom, float top, float zNear, float zFar)
 Create and return an orthographic projection matrix. More...
 
static Matrix matrixInvert (Matrix *matrix)
 Get the inverse of a matrix. More...
 
static float matrixDeterminant (float *matrix)
 Calculate determinant of supplied 3x3 matrix. More...
 
static float matrixDeterminant (Matrix *matrix)
 Calculate determinant of supplied 4x4 matrix. More...
 
static Matrix matrixScale (Matrix *matrix, float scale)
 Scale each element in a matrix by a constant. More...
 
static Matrix createRotationX (float angleInDegrees)
 Create and return a rotation matrix around the x-axis matrix. More...
 
static Matrix createRotationY (float angleInDegrees)
 Create and return a rotation matrix around the y-axis matrix. More...
 
static Matrix createRotationZ (float angleInDegrees)
 Create and return a rotation matrix around the z-axis matrix. More...
 
static Matrix createScaling (float x, float y, float z)
 Create and return a scaling matrix. More...
 
static Matrix createTranslation (float x, float y, float z)
 Create and return a translation matrix. More...
 
static float matrixDeterminant (float *matrix)
 Calculate determinant of supplied 3x3 matrix. More...
 
static float matrixDeterminant (Matrix *matrix)
 Calculate determinant of supplied 4x4 matrix. More...
 
static Matrix matrixInvert (Matrix *matrix)
 Get the inverse of a matrix. More...
 
static Matrix matrixLookAt (Vec3f eye, Vec3f center, Vec3f up)
 Create and return a look at matrix. More...
 
static Matrix matrixOrthographic (float left, float right, float bottom, float top, float zNear, float zFar)
 Create and return an orthographic projection matrix. More...
 
static Matrix matrixPerspective (float FOV, float ratio, float zNear, float zFar)
 Create and return a perspective projection matrix. More...
 
static Matrix matrixScale (Matrix *matrix, float scale)
 Scale each element in a matrix by a constant. More...
 
static void matrixTranspose (Matrix *matrix)
 Transpose a matrix in-place. More...
 
static Vec4f vertexTransform (Vec4f *vector, Matrix *matrix)
 Transform a 4D vertex by a matrix. More...
 
static Vec4f vertexTransform (Vec4f *vector, Matrix *matrix)
 Transform a 4D vertex by a matrix. More...
 
static Vec3f vertexTransform (Vec3f *vector, Matrix *matrix)
 Transform a 3D vertex by a matrix. More...
 
static void matrixTranspose (Matrix *matrix)
 Transpose a matrix in-place. More...
 
static Matrix createRotationX (float angle)
 Create and return a rotation matrix around the x-axis matrix. More...
 
static Matrix createRotationY (float angle)
 Create and return a rotation matrix around the y-axis matrix. More...
 
static Matrix createRotationZ (float angle)
 Create and return a rotation matrix around the z-axis matrix. More...
 
static Matrix createTranslation (float x, float y, float z)
 Create and return a translation matrix. More...
 
static Matrix createScaling (float x, float y, float z)
 Create and return a scaling matrix. More...
 
static Matrix matrixPerspective (float FOV, float ratio, float zNear, float zFar)
 Create and return a perspective projection matrix. More...
 
static Matrix matrixCameraLookAt (Vec3f eye, Vec3f center, Vec3f up)
 Create and return a camera matrix. More...
 
static Matrix matrixOrthographic (float left, float right, float bottom, float top, float zNear, float zFar)
 Create and return an orthographic projection matrix. More...
 
static Matrix matrixInvert (Matrix *matrix)
 Get the inverse of a matrix. More...
 
static float matrixDeterminant (float *matrix)
 Calculate determinant of supplied 3x3 matrix. More...
 
static float matrixDeterminant (Matrix *matrix)
 Calculate determinant of supplied 4x4 matrix. More...
 
static Matrix matrixScale (Matrix *matrix, float scale)
 Scale each element in a matrix by a constant. More...
 
static Vec4f vertexTransform (Vec4f *vector, Matrix *matrix)
 Transform a 4D vertex by a matrix. More...
 
static Vec3f vertexTransform (Vec3f *vector, Matrix *matrix)
 Transform a 3D vertex by a matrix. More...
 
static void matrixTranspose (Matrix *matrix)
 Transpose a matrix in-place. More...
 
static Matrix createRotationX (float angle)
 Create and return a rotation matrix around the x-axis matrix. More...
 
static Matrix createRotationY (float angle)
 Create and return a rotation matrix around the y-axis matrix. More...
 
static Matrix createRotationZ (float angle)
 Create and return a rotation matrix around the z-axis matrix. More...
 
static Matrix createTranslation (float x, float y, float z)
 Create and return a translation matrix. More...
 
static Matrix createScaling (float x, float y, float z)
 Create and return a scaling matrix. More...
 
static Matrix matrixPerspective (float FOV, float ratio, float zNear, float zFar)
 Create and return a perspective projection matrix. More...
 
static Matrix matrixCameraLookAt (Vec3f eye, Vec3f center, Vec3f up)
 Create and return a camera matrix. More...
 
static Matrix matrixOrthographic (float left, float right, float bottom, float top, float zNear, float zFar)
 Create and return an orthographic projection matrix. More...
 
static Matrix matrixInvert (Matrix *matrix)
 Get the inverse of a matrix. More...
 
static float matrixDeterminant (float *matrix)
 Calculate determinant of supplied 3x3 matrix. More...
 
static float matrixDeterminant (Matrix *matrix)
 Calculate determinant of supplied 4x4 matrix. More...
 
static Matrix matrixScale (Matrix *matrix, float scale)
 Scale each element in a matrix by a constant. More...
 
static Matrix createRotationX (float angleInDegrees)
 Create and return a rotation matrix around the x-axis matrix. More...
 
static Matrix createRotationY (float angleInDegrees)
 Create and return a rotation matrix around the y-axis matrix. More...
 
static Matrix createRotationZ (float angleInDegrees)
 Create and return a rotation matrix around the z-axis matrix. More...
 
static Matrix createScaling (float x, float y, float z)
 Create and return a scaling matrix. More...
 
static Matrix createTranslation (float x, float y, float z)
 Create and return a translation matrix. More...
 
static float matrixDeterminant (float *matrix)
 Calculate determinant of supplied 3x3 matrix. More...
 
static float matrixDeterminant (Matrix *matrix)
 Calculate determinant of supplied 4x4 matrix. More...
 
static Matrix matrixInvert (Matrix *matrix)
 Get the inverse of a matrix. More...
 
static Matrix matrixLookAt (Vec3f eye, Vec3f center, Vec3f up)
 Create and return a look at matrix. More...
 
static Matrix matrixPerspective (float FOV, float ratio, float zNear, float zFar)
 Create and return a perspective projection matrix. More...
 
static Matrix matrixScale (Matrix *matrix, float scale)
 Scale each element in a matrix by a constant. More...
 
static void matrixTranspose (Matrix *matrix)
 Transpose a matrix in-place. More...
 
static Vec4f vertexTransform (Vec4f *vector, Matrix *matrix)
 Transform a 4D vertex by a matrix. More...
 
static Matrix createRotationX (float angleInDegrees)
 Create and return a rotation matrix around the x-axis matrix. More...
 
static Matrix createRotationY (float angleInDegrees)
 Create and return a rotation matrix around the y-axis matrix. More...
 
static Matrix createRotationZ (float angleInDegrees)
 Create and return a rotation matrix around the z-axis matrix. More...
 
static Matrix createScaling (float x, float y, float z)
 Create and return a scaling matrix. More...
 
static Matrix createTranslation (float x, float y, float z)
 Create and return a translation matrix. More...
 
static float matrixDeterminant (float *matrix)
 Calculate determinant of supplied 3x3 matrix. More...
 
static float matrixDeterminant (Matrix *matrix)
 Calculate determinant of supplied 4x4 matrix. More...
 
static Matrix matrixInvert (Matrix *matrix)
 Get the inverse of a matrix. More...
 
static Matrix matrixLookAt (Vec3f eye, Vec3f center, Vec3f up)
 Create and return a look at matrix. More...
 
static Matrix matrixPerspective (float FOV, float ratio, float zNear, float zFar)
 Create and return a perspective projection matrix. More...
 
static Matrix matrixScale (Matrix *matrix, float scale)
 Scale each element in a matrix by a constant. More...
 
static void matrixTranspose (Matrix *matrix)
 Transpose a matrix in-place. More...
 
static Vec4f vertexTransform (Vec4f *vector, Matrix *matrix)
 Transform a 4D vertex by a matrix. More...
 

Static Public Attributes

static Matrix identityMatrix = Matrix(identityArray)
 The identity matrix. More...
 
static Matrix biasMatrix = Matrix(biasArray)
 The bias matrix. More...
 

Static Private Member Functions

static Matrix multiply (Matrix *left, Matrix *right)
 Multiply 2 matrices to return a third. More...
 
static Matrix multiply (Matrix *left, Matrix *right)
 Multiply 2 matrices to return a third. More...
 
static Matrix multiply (Matrix *left, Matrix *right)
 Multiply 2 matrices to return a third. More...
 
static Matrix multiply (Matrix *left, Matrix *right)
 Multiply 2 matrices to return a third. More...
 
static Matrix multiply (Matrix *left, Matrix *right)
 Multiply 2 matrices to return a third. More...
 
static Matrix multiply (Matrix *left, Matrix *right)
 Multiply 2 matrices to return a third. More...
 
static Matrix multiply (Matrix *left, Matrix *right)
 Multiply 2 matrices to return a third. More...
 
static Matrix multiply (Matrix *left, Matrix *right)
 Multiply 2 matrices to return a third. More...
 
static Matrix multiply (Matrix *left, Matrix *right)
 Multiply 2 matrices to return a third. More...
 
static Matrix multiply (Matrix *left, Matrix *right)
 Multiply 2 matrices to return a third. More...
 

Private Attributes

float elements [16]
 A 16 element floating point array used to represent a 4x4 matrix. More...
 

Static Private Attributes

static const float identityArray []
 A 4x4 identity Matrix;. More...
 
static const float biasArray []
 A 4x4 bias Matrix;. More...
 

Detailed Description

Functions for manipulating matrices.

Definition at line 31 of file Matrix.h.

Constructor & Destructor Documentation

MaliSDK::Matrix::Matrix ( void  )

Default constructor.

Please see header for the specification.

Definition at line 49 of file Matrix.cpp.

MaliSDK::Matrix::Matrix ( const float array)

Constructor from element array.

Parameters
[in]arrayA column major order array to use as the matrix elements.

Please see header for the specification.

Definition at line 44 of file Matrix.cpp.

MaliSDK::Matrix::Matrix ( void  )

Default constructor.

MaliSDK::Matrix::Matrix ( const float array)

Constructor from element array.

Parameters
[in]arrayA column major order array to use as the matrix elements.
MaliSDK::Matrix::Matrix ( void  )

Default constructor.

MaliSDK::Matrix::Matrix ( const float array)

Constructor from element array.

Parameters
[in]arrayA column major order array to use as the matrix elements.
MaliSDK::Matrix::Matrix ( void  )

Default constructor.

MaliSDK::Matrix::Matrix ( const float array)

Constructor from element array.

Parameters
[in]arrayA column major order array to use as the matrix elements.
MaliSDK::Matrix::Matrix ( void  )

Default constructor.

MaliSDK::Matrix::Matrix ( const float array)

Constructor from element array.

Parameters
[in]arrayA column major order array to use as the matrix elements.
MaliSDK::Matrix::Matrix ( void  )

Default constructor.

MaliSDK::Matrix::Matrix ( const float array)

Constructor from element array.

Parameters
[in]arrayA column major order array to use as the matrix elements.
MaliSDK::Matrix::Matrix ( void  )

Default constructor.

MaliSDK::Matrix::Matrix ( const float array)

Constructor from element array.

Parameters
[in]arrayA column major order array to use as the matrix elements.
MaliSDK::Matrix::Matrix ( void  )

Default constructor.

MaliSDK::Matrix::Matrix ( const float array)

Constructor from element array.

Parameters
[in]arrayA column major order array to use as the matrix elements.
MaliSDK::Matrix::Matrix ( void  )

Default constructor.

MaliSDK::Matrix::Matrix ( const float array)

Constructor from element array.

Parameters
[in]arrayA column major order array to use as the matrix elements.
MaliSDK::Matrix::Matrix ( void  )

Default constructor.

MaliSDK::Matrix::Matrix ( const float array)

Constructor from element array.

Parameters
[in]arrayA column major order array to use as the matrix elements.

Member Function Documentation

static Matrix MaliSDK::Matrix::createRotationX ( float  angleInDegrees)
static

Create and return a rotation matrix around the x-axis matrix.

Parameters
[in]angleInDegreesAngle of rotation (in degrees).
Returns
A rotation matrix around the x-axis matrix with the required angle of rotation.
static Matrix MaliSDK::Matrix::createRotationX ( float  angleInDegrees)
static

Create and return a rotation matrix around the x-axis matrix.

Parameters
[in]angleInDegreesAngle of rotation (in degrees).
Returns
A rotation matrix around the x-axis matrix with the required angle of rotation.
static Matrix MaliSDK::Matrix::createRotationX ( float  angleInDegrees)
static

Create and return a rotation matrix around the x-axis matrix.

Parameters
[in]angleInDegreesAngle of rotation (in degrees).
Returns
A rotation matrix around the x-axis matrix with the required angle of rotation.
Matrix MaliSDK::Matrix::createRotationX ( float  angle)
static

Create and return a rotation matrix around the x-axis matrix.

Parameters
[in]angleAngle of rotation (in degrees).
Returns
A rotation matrix around the x-axis matrix with the required angle of rotation.

Definition at line 499 of file Matrix.cpp.

static Matrix MaliSDK::Matrix::createRotationX ( float  angle)
static

Create and return a rotation matrix around the x-axis matrix.

Parameters
[in]angleAngle of rotation (in degrees).
Returns
A rotation matrix around the x-axis matrix with the required angle of rotation.
static Matrix MaliSDK::Matrix::createRotationX ( float  angle)
static

Create and return a rotation matrix around the x-axis matrix.

Parameters
[in]angleAngle of rotation (in degrees).
Returns
A rotation matrix around the x-axis matrix with the required angle of rotation.
static Matrix MaliSDK::Matrix::createRotationX ( float  angle)
static

Create and return a rotation matrix around the x-axis matrix.

Parameters
[in]angleAngle of rotation (in degrees).
Returns
A rotation matrix around the x-axis matrix with the required angle of rotation.
static Matrix MaliSDK::Matrix::createRotationX ( float  angle)
static

Create and return a rotation matrix around the x-axis matrix.

Parameters
[in]angleAngle of rotation (in degrees).
Returns
A rotation matrix around the x-axis matrix with the required angle of rotation.
static Matrix MaliSDK::Matrix::createRotationY ( float  angleInDegrees)
static

Create and return a rotation matrix around the y-axis matrix.

Parameters
[in]angleInDegreesAngle of rotation (in degrees).
Returns
A rotation matrix around the y-axis matrix with the required angle of rotation.
Matrix MaliSDK::Matrix::createRotationY ( float  angle)
static

Create and return a rotation matrix around the y-axis matrix.

Parameters
[in]angleAngle of rotation (in degrees).
Returns
A rotation matrix around the y-axis matrix with the required angle of rotation.

Definition at line 511 of file Matrix.cpp.

static Matrix MaliSDK::Matrix::createRotationY ( float  angleInDegrees)
static

Create and return a rotation matrix around the y-axis matrix.

Parameters
[in]angleInDegreesAngle of rotation (in degrees).
Returns
A rotation matrix around the y-axis matrix with the required angle of rotation.
static Matrix MaliSDK::Matrix::createRotationY ( float  angleInDegrees)
static

Create and return a rotation matrix around the y-axis matrix.

Parameters
[in]angleInDegreesAngle of rotation (in degrees).
Returns
A rotation matrix around the y-axis matrix with the required angle of rotation.
static Matrix MaliSDK::Matrix::createRotationY ( float  angle)
static

Create and return a rotation matrix around the y-axis matrix.

Parameters
[in]angleAngle of rotation (in degrees).
Returns
A rotation matrix around the y-axis matrix with the required angle of rotation.
static Matrix MaliSDK::Matrix::createRotationY ( float  angle)
static

Create and return a rotation matrix around the y-axis matrix.

Parameters
[in]angleAngle of rotation (in degrees).
Returns
A rotation matrix around the y-axis matrix with the required angle of rotation.
static Matrix MaliSDK::Matrix::createRotationY ( float  angle)
static

Create and return a rotation matrix around the y-axis matrix.

Parameters
[in]angleAngle of rotation (in degrees).
Returns
A rotation matrix around the y-axis matrix with the required angle of rotation.
static Matrix MaliSDK::Matrix::createRotationY ( float  angle)
static

Create and return a rotation matrix around the y-axis matrix.

Parameters
[in]angleAngle of rotation (in degrees).
Returns
A rotation matrix around the y-axis matrix with the required angle of rotation.
Matrix MaliSDK::Matrix::createRotationZ ( float  angle)
static

Create and return a rotation matrix around the z-axis matrix.

Parameters
[in]angleAngle of rotation (in degrees).
Returns
A rotation matrix around the z-axis matrix with the required angle of rotation.

Definition at line 523 of file Matrix.cpp.

static Matrix MaliSDK::Matrix::createRotationZ ( float  angleInDegrees)
static

Create and return a rotation matrix around the z-axis matrix.

Parameters
[in]angleInDegreesAngle of rotation (in degrees).
Returns
A rotation matrix around the z-axis matrix with the required angle of rotation.
static Matrix MaliSDK::Matrix::createRotationZ ( float  angleInDegrees)
static

Create and return a rotation matrix around the z-axis matrix.

Parameters
[in]angleInDegreesAngle of rotation (in degrees).
Returns
A rotation matrix around the z-axis matrix with the required angle of rotation.
static Matrix MaliSDK::Matrix::createRotationZ ( float  angleInDegrees)
static

Create and return a rotation matrix around the z-axis matrix.

Parameters
[in]angleInDegreesAngle of rotation (in degrees).
Returns
A rotation matrix around the z-axis matrix with the required angle of rotation.
static Matrix MaliSDK::Matrix::createRotationZ ( float  angle)
static

Create and return a rotation matrix around the z-axis matrix.

Parameters
[in]angleAngle of rotation (in degrees).
Returns
A rotation matrix around the z-axis matrix with the required angle of rotation.
static Matrix MaliSDK::Matrix::createRotationZ ( float  angle)
static

Create and return a rotation matrix around the z-axis matrix.

Parameters
[in]angleAngle of rotation (in degrees).
Returns
A rotation matrix around the z-axis matrix with the required angle of rotation.
static Matrix MaliSDK::Matrix::createRotationZ ( float  angle)
static

Create and return a rotation matrix around the z-axis matrix.

Parameters
[in]angleAngle of rotation (in degrees).
Returns
A rotation matrix around the z-axis matrix with the required angle of rotation.
static Matrix MaliSDK::Matrix::createRotationZ ( float  angle)
static

Create and return a rotation matrix around the z-axis matrix.

Parameters
[in]angleAngle of rotation (in degrees).
Returns
A rotation matrix around the z-axis matrix with the required angle of rotation.
static Matrix MaliSDK::Matrix::createScaling ( float  x,
float  y,
float  z 
)
static

Create and return a scaling matrix.

Parameters
[in]xScale factor in the x-axis.
[in]yScale factor in the y-axis.
[in]zScale factor in the z-axis.
Returns
A scaling matrix with the required scaling factors.
static Matrix MaliSDK::Matrix::createScaling ( float  x,
float  y,
float  z 
)
static

Create and return a scaling matrix.

Parameters
[in]xScale factor in the x-axis.
[in]yScale factor in the y-axis.
[in]zScale factor in the z-axis.
Returns
A scaling matrix with the required scaling factors.
static Matrix MaliSDK::Matrix::createScaling ( float  x,
float  y,
float  z 
)
static

Create and return a scaling matrix.

Parameters
[in]xScale factor in the x-axis.
[in]yScale factor in the y-axis.
[in]zScale factor in the z-axis.
Returns
A scaling matrix with the required scaling factors.
static Matrix MaliSDK::Matrix::createScaling ( float  x,
float  y,
float  z 
)
static

Create and return a scaling matrix.

Parameters
[in]xScale factor in the x-axis.
[in]yScale factor in the y-axis.
[in]zScale factor in the z-axis.
Returns
A scaling matrix with the required scaling factors.
Matrix MaliSDK::Matrix::createScaling ( float  x,
float  y,
float  z 
)
static

Create and return a scaling matrix.

Parameters
[in]xScale factor in the x-axis.
[in]yScale factor in the y-axis.
[in]zScale factor in the z-axis.
Returns
A scaling matrix with the required scaling factors.

Definition at line 403 of file Matrix.cpp.

static Matrix MaliSDK::Matrix::createScaling ( float  x,
float  y,
float  z 
)
static

Create and return a scaling matrix.

Parameters
[in]xScale factor in the x-axis.
[in]yScale factor in the y-axis.
[in]zScale factor in the z-axis.
Returns
A scaling matrix with the required scaling factors.
static Matrix MaliSDK::Matrix::createScaling ( float  x,
float  y,
float  z 
)
static

Create and return a scaling matrix.

Parameters
[in]xScale factor in the x-axis.
[in]yScale factor in the y-axis.
[in]zScale factor in the z-axis.
Returns
A scaling matrix with the required scaling factors.
static Matrix MaliSDK::Matrix::createScaling ( float  x,
float  y,
float  z 
)
static

Create and return a scaling matrix.

Parameters
[in]xScale factor in the x-axis.
[in]yScale factor in the y-axis.
[in]zScale factor in the z-axis.
Returns
A scaling matrix with the required scaling factors.
static Matrix MaliSDK::Matrix::createScaling ( float  x,
float  y,
float  z 
)
static

Create and return a scaling matrix.

Parameters
[in]xScale factor in the x-axis.
[in]yScale factor in the y-axis.
[in]zScale factor in the z-axis.
Returns
A scaling matrix with the required scaling factors.
static Matrix MaliSDK::Matrix::createTranslation ( float  x,
float  y,
float  z 
)
static

Create and return a translation matrix.

Parameters
[in]xDistance to translate in the x-axis.
[in]yDistance to translate in the y-axis.
[in]zDistance to translate in the z-axis.
Returns
A translation matrix with the required translation distances.
Matrix MaliSDK::Matrix::createTranslation ( float  x,
float  y,
float  z 
)
static

Create and return a translation matrix.

Parameters
[in]xDistance to translate in the x-axis.
[in]yDistance to translate in the y-axis.
[in]zDistance to translate in the z-axis.
Returns
A translation matrix with the required translation distances.

Definition at line 414 of file Matrix.cpp.

static Matrix MaliSDK::Matrix::createTranslation ( float  x,
float  y,
float  z 
)
static

Create and return a translation matrix.

Parameters
[in]xDistance to translate in the x-axis.
[in]yDistance to translate in the y-axis.
[in]zDistance to translate in the z-axis.
Returns
A translation matrix with the required translation distances.
static Matrix MaliSDK::Matrix::createTranslation ( float  x,
float  y,
float  z 
)
static

Create and return a translation matrix.

Parameters
[in]xDistance to translate in the x-axis.
[in]yDistance to translate in the y-axis.
[in]zDistance to translate in the z-axis.
Returns
A translation matrix with the required translation distances.
static Matrix MaliSDK::Matrix::createTranslation ( float  x,
float  y,
float  z 
)
static

Create and return a translation matrix.

Parameters
[in]xDistance to translate in the x-axis.
[in]yDistance to translate in the y-axis.
[in]zDistance to translate in the z-axis.
Returns
A translation matrix with the required translation distances.
static Matrix MaliSDK::Matrix::createTranslation ( float  x,
float  y,
float  z 
)
static

Create and return a translation matrix.

Parameters
[in]xDistance to translate in the x-axis.
[in]yDistance to translate in the y-axis.
[in]zDistance to translate in the z-axis.
Returns
A translation matrix with the required translation distances.
static Matrix MaliSDK::Matrix::createTranslation ( float  x,
float  y,
float  z 
)
static

Create and return a translation matrix.

Parameters
[in]xDistance to translate in the x-axis.
[in]yDistance to translate in the y-axis.
[in]zDistance to translate in the z-axis.
Returns
A translation matrix with the required translation distances.
static Matrix MaliSDK::Matrix::createTranslation ( float  x,
float  y,
float  z 
)
static

Create and return a translation matrix.

Parameters
[in]xDistance to translate in the x-axis.
[in]yDistance to translate in the y-axis.
[in]zDistance to translate in the z-axis.
Returns
A translation matrix with the required translation distances.
static Matrix MaliSDK::Matrix::createTranslation ( float  x,
float  y,
float  z 
)
static

Create and return a translation matrix.

Parameters
[in]xDistance to translate in the x-axis.
[in]yDistance to translate in the y-axis.
[in]zDistance to translate in the z-axis.
Returns
A translation matrix with the required translation distances.
float * MaliSDK::Matrix::getAsArray ( void  )

Get the matrix elements as a column major order array.

Returns
A pointer to the matrix elements.

Definition at line 78 of file Matrix.cpp.

float* MaliSDK::Matrix::getAsArray ( void  )

Get the matrix elements as a column major order array.

Returns
A pointer to the matrix elements.
float* MaliSDK::Matrix::getAsArray ( void  )

Get the matrix elements as a column major order array.

Returns
A pointer to the matrix elements.
float* MaliSDK::Matrix::getAsArray ( void  )

Get the matrix elements as a column major order array.

Returns
A pointer to the matrix elements.
float* MaliSDK::Matrix::getAsArray ( void  )

Get the matrix elements as a column major order array.

Returns
A pointer to the matrix elements.
float* MaliSDK::Matrix::getAsArray ( void  )

Get the matrix elements as a column major order array.

Returns
A pointer to the matrix elements.
float* MaliSDK::Matrix::getAsArray ( void  )

Get the matrix elements as a column major order array.

Returns
A pointer to the matrix elements.
float* MaliSDK::Matrix::getAsArray ( void  )

Get the matrix elements as a column major order array.

Returns
A pointer to the matrix elements.
float* MaliSDK::Matrix::getAsArray ( void  )

Get the matrix elements as a column major order array.

Returns
A pointer to the matrix elements.
float* MaliSDK::Matrix::getAsArray ( void  )

Get the matrix elements as a column major order array.

Returns
A pointer to the matrix elements.
Matrix MaliSDK::Matrix::matrixCameraLookAt ( Vec3f  eye,
Vec3f  center,
Vec3f  up 
)
static

Create and return a camera matrix.

Parameters
[in]eyePoint vector which determines the camera position.
[in]centerPoint vector which determines where camera is looking at.
[in]upVector which determines the orientation of the "head".
Returns
A camera matrix.

Please see header for the specification.

Definition at line 441 of file Matrix.cpp.

static Matrix MaliSDK::Matrix::matrixCameraLookAt ( Vec3f  eye,
Vec3f  center,
Vec3f  up 
)
static

Create and return a camera matrix.

Parameters
[in]eyePoint vector which determines the camera position.
[in]centerPoint vector which determines where camera is looking at.
[in]upVector which determines the orientation of the "head".
Returns
A camera matrix.
static Matrix MaliSDK::Matrix::matrixCameraLookAt ( Vec3f  eye,
Vec3f  center,
Vec3f  up 
)
static

Create and return a camera matrix.

Parameters
[in]eyePoint vector which determines the camera position.
[in]centerPoint vector which determines where camera is looking at.
[in]upVector which determines the orientation of the "head".
Returns
A camera matrix.
static Matrix MaliSDK::Matrix::matrixCameraLookAt ( Vec3f  eye,
Vec3f  center,
Vec3f  up 
)
static

Create and return a camera matrix.

Parameters
[in]eyePoint vector which determines the camera position.
[in]centerPoint vector which determines where camera is looking at.
[in]upVector which determines the orientation of the "head".
Returns
A camera matrix.
static Matrix MaliSDK::Matrix::matrixCameraLookAt ( Vec3f  eye,
Vec3f  center,
Vec3f  up 
)
static

Create and return a camera matrix.

Parameters
[in]eyePoint vector which determines the camera position.
[in]centerPoint vector which determines where camera is looking at.
[in]upVector which determines the orientation of the "head".
Returns
A camera matrix.
static Matrix MaliSDK::Matrix::matrixCameraLookAt ( Vec3f  eye,
Vec3f  center,
Vec3f  up 
)
static

Create and return a camera matrix.

Parameters
[in]eyePoint vector which determines the camera position.
[in]centerPoint vector which determines where camera is looking at.
[in]upVector which determines the orientation of the "head".
Returns
A camera matrix.
static float MaliSDK::Matrix::matrixDeterminant ( float matrix)
static

Calculate determinant of supplied 3x3 matrix.

Parameters
[in]matrixThe matrix to calculate the determinant of (supplied as a 9 element float array in column major order).
Returns
The determinant of the supplied matrix.
static float MaliSDK::Matrix::matrixDeterminant ( float matrix)
static

Calculate determinant of supplied 3x3 matrix.

Parameters
[in]matrixThe matrix to calculate the determinant of (supplied as a 9 element float array in column major order).
Returns
The determinant of the supplied matrix.
static float MaliSDK::Matrix::matrixDeterminant ( float matrix)
static

Calculate determinant of supplied 3x3 matrix.

Parameters
[in]matrixThe matrix to calculate the determinant of (supplied as a 9 element float array in column major order).
Returns
The determinant of the supplied matrix.
static float MaliSDK::Matrix::matrixDeterminant ( Matrix matrix)
static

Calculate determinant of supplied 4x4 matrix.

Parameters
[in]matrixThe matrix to calculate the determinant of.
Returns
The determinant of the supplied matrix.
static float MaliSDK::Matrix::matrixDeterminant ( Matrix matrix)
static

Calculate determinant of supplied 4x4 matrix.

Parameters
[in]matrixThe matrix to calculate the determinant of.
Returns
The determinant of the supplied matrix.
static float MaliSDK::Matrix::matrixDeterminant ( Matrix matrix)
static

Calculate determinant of supplied 4x4 matrix.

Parameters
[in]matrixThe matrix to calculate the determinant of.
Returns
The determinant of the supplied matrix.
float MaliSDK::Matrix::matrixDeterminant ( float matrix)
static

Calculate determinant of supplied 3x3 matrix.

Parameters
[in]matrixThe matrix to calculate the determinant of (supplied as a 9 element float array in column major order).
Returns
The determinant of the supplied matrix.

Definition at line 83 of file Matrix.cpp.

float MaliSDK::Matrix::matrixDeterminant ( Matrix matrix)
static

Calculate determinant of supplied 4x4 matrix.

Parameters
[in]matrixThe matrix to calculate the determinant of.
Returns
The determinant of the supplied matrix.

Definition at line 94 of file Matrix.cpp.

static float MaliSDK::Matrix::matrixDeterminant ( float matrix)
static

Calculate determinant of supplied 3x3 matrix.

Parameters
[in]matrixThe matrix to calculate the determinant of (supplied as a 9 element float array in column major order).
Returns
The determinant of the supplied matrix.
static float MaliSDK::Matrix::matrixDeterminant ( float matrix)
static

Calculate determinant of supplied 3x3 matrix.

Parameters
[in]matrixThe matrix to calculate the determinant of (supplied as a 9 element float array in column major order).
Returns
The determinant of the supplied matrix.
static float MaliSDK::Matrix::matrixDeterminant ( float matrix)
static

Calculate determinant of supplied 3x3 matrix.

Parameters
[in]matrixThe matrix to calculate the determinant of (supplied as a 9 element float array in column major order).
Returns
The determinant of the supplied matrix.
static float MaliSDK::Matrix::matrixDeterminant ( float matrix)
static

Calculate determinant of supplied 3x3 matrix.

Parameters
[in]matrixThe matrix to calculate the determinant of (supplied as a 9 element float array in column major order).
Returns
The determinant of the supplied matrix.
static float MaliSDK::Matrix::matrixDeterminant ( Matrix matrix)
static

Calculate determinant of supplied 4x4 matrix.

Parameters
[in]matrixThe matrix to calculate the determinant of.
Returns
The determinant of the supplied matrix.
static float MaliSDK::Matrix::matrixDeterminant ( Matrix matrix)
static

Calculate determinant of supplied 4x4 matrix.

Parameters
[in]matrixThe matrix to calculate the determinant of.
Returns
The determinant of the supplied matrix.
static float MaliSDK::Matrix::matrixDeterminant ( Matrix matrix)
static

Calculate determinant of supplied 4x4 matrix.

Parameters
[in]matrixThe matrix to calculate the determinant of.
Returns
The determinant of the supplied matrix.
static float MaliSDK::Matrix::matrixDeterminant ( Matrix matrix)
static

Calculate determinant of supplied 4x4 matrix.

Parameters
[in]matrixThe matrix to calculate the determinant of.
Returns
The determinant of the supplied matrix.
static Matrix MaliSDK::Matrix::matrixInvert ( Matrix matrix)
static

Get the inverse of a matrix.

Parameters
[in]matrixThe matrix to invert.
Returns
The inverse matrix of matrix.
static Matrix MaliSDK::Matrix::matrixInvert ( Matrix matrix)
static

Get the inverse of a matrix.

Parameters
[in]matrixThe matrix to invert.
Returns
The inverse matrix of matrix.
static Matrix MaliSDK::Matrix::matrixInvert ( Matrix matrix)
static

Get the inverse of a matrix.

Parameters
[in]matrixThe matrix to invert.
Returns
The inverse matrix of matrix.
Matrix MaliSDK::Matrix::matrixInvert ( Matrix matrix)
static

Get the inverse of a matrix.

Parameters
[in]matrixThe matrix to invert.
Returns
The inverse matrix of matrix.

Definition at line 155 of file Matrix.cpp.

static Matrix MaliSDK::Matrix::matrixInvert ( Matrix matrix)
static

Get the inverse of a matrix.

Parameters
[in]matrixThe matrix to invert.
Returns
The inverse matrix of matrix.
static Matrix MaliSDK::Matrix::matrixInvert ( Matrix matrix)
static

Get the inverse of a matrix.

Parameters
[in]matrixThe matrix to invert.
Returns
The inverse matrix of matrix.
static Matrix MaliSDK::Matrix::matrixInvert ( Matrix matrix)
static

Get the inverse of a matrix.

Parameters
[in]matrixThe matrix to invert.
Returns
The inverse matrix of matrix.
static Matrix MaliSDK::Matrix::matrixInvert ( Matrix matrix)
static

Get the inverse of a matrix.

Parameters
[in]matrixThe matrix to invert.
Returns
The inverse matrix of matrix.
static Matrix MaliSDK::Matrix::matrixLookAt ( Vec3f  eye,
Vec3f  center,
Vec3f  up 
)
static

Create and return a look at matrix.

Parameters
[in]eyePoint vector which determines the camera position.
[in]centerPoint vector which determines where camera is looking at.
[in]upVector which determines the orientation of the "head".
Returns
A look at matrix.
Matrix MaliSDK::Matrix::matrixLookAt ( Vec3f  eye,
Vec3f  center,
Vec3f  up 
)
static

Create and return a look at matrix.

Parameters
[in]eyePoint vector which determines the camera position.
[in]centerPoint vector which determines where camera is looking at.
[in]upVector which determines the orientation of the "head".
Returns
A look at matrix.

Definition at line 431 of file Matrix.cpp.

static Matrix MaliSDK::Matrix::matrixLookAt ( Vec3f  eye,
Vec3f  center,
Vec3f  up 
)
static

Create and return a look at matrix.

Parameters
[in]eyePoint vector which determines the camera position.
[in]centerPoint vector which determines where camera is looking at.
[in]upVector which determines the orientation of the "head".
Returns
A look at matrix.
Matrix MaliSDK::Matrix::matrixOrthographic ( float  left,
float  right,
float  bottom,
float  top,
float  zNear,
float  zFar 
)
static

Create and return an orthographic projection matrix.

Assumes Z is positive going away from the user's view (left-hand coordinate system).

Parameters
[in]leftThe coordinate for the left vertical clipping plane.
[in]rightThe coordinate for the right vertical clipping plane.
[in]bottomThe coordinate for the bottom horizontal clipping plane.
[in]topThe coordinate for the top horizontal clipping plane.
[in]zNearThe distance from the camera to the near clipping plane.
[in]zFarthe distance from the camera to the far clipping plane.
Returns
An orthographic projection matrix.

Definition at line 483 of file Matrix.cpp.

static Matrix MaliSDK::Matrix::matrixOrthographic ( float  left,
float  right,
float  bottom,
float  top,
float  zNear,
float  zFar 
)
static

Create and return an orthographic projection matrix.

Assumes Z is positive going away from the user's view (left-hand coordinate system).

Parameters
[in]leftThe coordinate for the left vertical clipping plane.
[in]rightThe coordinate for the right vertical clipping plane.
[in]bottomThe coordinate for the bottom horizontal clipping plane.
[in]topThe coordinate for the top horizontal clipping plane.
[in]zNearThe distance from the camera to the near clipping plane.
[in]zFarThe distance from the camera to the far clipping plane.
Returns
An orthographic projection matrix.
static Matrix MaliSDK::Matrix::matrixOrthographic ( float  left,
float  right,
float  bottom,
float  top,
float  zNear,
float  zFar 
)
static

Create and return an orthographic projection matrix.

Assumes Z is positive going away from the user's view (left-hand coordinate system).

Parameters
[in]leftThe coordinate for the left vertical clipping plane.
[in]rightThe coordinate for the right vertical clipping plane.
[in]bottomThe coordinate for the bottom horizontal clipping plane.
[in]topThe coordinate for the top horizontal clipping plane.
[in]zNearThe distance from the camera to the near clipping plane.
[in]zFarThe distance from the camera to the far clipping plane.
Returns
An orthographic projection matrix.
static Matrix MaliSDK::Matrix::matrixOrthographic ( float  left,
float  right,
float  bottom,
float  top,
float  zNear,
float  zFar 
)
static

Create and return an orthographic projection matrix.

Assumes Z is positive going away from the user's view (left-hand coordinate system).

Parameters
[in]leftThe coordinate for the left vertical clipping plane.
[in]rightThe coordinate for the right vertical clipping plane.
[in]bottomThe coordinate for the bottom horizontal clipping plane.
[in]topThe coordinate for the top horizontal clipping plane.
[in]zNearThe distance from the camera to the near clipping plane.
[in]zFarThe distance from the camera to the far clipping plane.
Returns
An orthographic projection matrix.
static Matrix MaliSDK::Matrix::matrixOrthographic ( float  left,
float  right,
float  bottom,
float  top,
float  zNear,
float  zFar 
)
static

Create and return an orthographic projection matrix.

Assumes Z is positive going away from the user's view (left-hand coordinate system).

Parameters
[in]leftThe coordinate for the left vertical clipping plane.
[in]rightThe coordinate for the right vertical clipping plane.
[in]bottomThe coordinate for the bottom horizontal clipping plane.
[in]topThe coordinate for the top horizontal clipping plane.
[in]zNearThe distance from the camera to the near clipping plane.
[in]zFarThe distance from the camera to the far clipping plane.
Returns
An orthographic projection matrix.
static Matrix MaliSDK::Matrix::matrixOrthographic ( float  left,
float  right,
float  bottom,
float  top,
float  zNear,
float  zFar 
)
static

Create and return an orthographic projection matrix.

Assumes Z is positive going away from the user's view (left-hand coordinate system).

Parameters
[in]leftThe coordinate for the left vertical clipping plane.
[in]rightThe coordinate for the right vertical clipping plane.
[in]bottomThe coordinate for the bottom horizontal clipping plane.
[in]topThe coordinate for the top horizontal clipping plane.
[in]zNearThe distance from the camera to the near clipping plane.
[in]zFarThe distance from the camera to the far clipping plane.
Returns
An orthographic projection matrix.
static Matrix MaliSDK::Matrix::matrixPerspective ( float  FOV,
float  ratio,
float  zNear,
float  zFar 
)
static

Create and return a perspective projection matrix.

Parameters
[in]FOVThe field of view angle (in degrees) in the y direction.
[in]ratioThe ratio used to calculate the field of view in the x direction. The ratio of x (width) to y (height).
[in]zNearThe distance from the camera to the near clipping plane.
[in]zFarthe distance from the camera to the far clipping plane.
Returns
A perspective projection matrix.
Matrix MaliSDK::Matrix::matrixPerspective ( float  FOV,
float  ratio,
float  zNear,
float  zFar 
)
static

Create and return a perspective projection matrix.

Parameters
[in]FOVThe field of view angle (in degrees) in the y direction.
[in]ratioThe ratio used to calculate the field of view in the x direction. The ratio of x (width) to y (height).
[in]zNearThe distance from the camera to the near clipping plane.
[in]zFarthe distance from the camera to the far clipping plane.
Returns
A perspective projection matrix.

Please see header for the specification.

Definition at line 425 of file Matrix.cpp.

static Matrix MaliSDK::Matrix::matrixPerspective ( float  FOV,
float  ratio,
float  zNear,
float  zFar 
)
static

Create and return a perspective projection matrix.

Parameters
[in]FOVThe field of view angle (in degrees) in the y direction.
[in]ratioThe ratio used to calculate the field of view in the x direction. The ratio of x (width) to y (height).
[in]zNearThe distance from the camera to the near clipping plane.
[in]zFarThe distance from the camera to the far clipping plane.
Returns
A perspective projection matrix.
static Matrix MaliSDK::Matrix::matrixPerspective ( float  FOV,
float  ratio,
float  zNear,
float  zFar 
)
static

Create and return a perspective projection matrix.

Parameters
[in]FOVThe field of view angle (in degrees) in the y direction.
[in]ratioThe ratio used to calculate the field of view in the x direction. The ratio of x (width) to y (height).
[in]zNearThe distance from the camera to the near clipping plane.
[in]zFarThe distance from the camera to the far clipping plane.
Returns
A perspective projection matrix.
static Matrix MaliSDK::Matrix::matrixPerspective ( float  FOV,
float  ratio,
float  zNear,
float  zFar 
)
static

Create and return a perspective projection matrix.

Parameters
[in]FOVThe field of view angle (in degrees) in the y direction.
[in]ratioThe ratio used to calculate the field of view in the x direction. The ratio of x (width) to y (height).
[in]zNearThe distance from the camera to the near clipping plane.
[in]zFarThe distance from the camera to the far clipping plane.
Returns
A perspective projection matrix.
static Matrix MaliSDK::Matrix::matrixPerspective ( float  FOV,
float  ratio,
float  zNear,
float  zFar 
)
static

Create and return a perspective projection matrix.

Parameters
[in]FOVThe field of view angle (in degrees) in the y direction.
[in]ratioThe ratio used to calculate the field of view in the x direction. The ratio of x (width) to y (height).
[in]zNearThe distance from the camera to the near clipping plane.
[in]zFarThe distance from the camera to the far clipping plane.
Returns
A perspective projection matrix.
static Matrix MaliSDK::Matrix::matrixPerspective ( float  FOV,
float  ratio,
float  zNear,
float  zFar 
)
static

Create and return a perspective projection matrix.

Parameters
[in]FOVThe field of view angle (in degrees) in the y direction.
[in]ratioThe ratio used to calculate the field of view in the x direction. The ratio of x (width) to y (height).
[in]zNearThe distance from the camera to the near clipping plane.
[in]zFarThe distance from the camera to the far clipping plane.
Returns
A perspective projection matrix.
static Matrix MaliSDK::Matrix::matrixPerspective ( float  FOV,
float  ratio,
float  zNear,
float  zFar 
)
static

Create and return a perspective projection matrix.

Parameters
[in]FOVThe field of view angle (in radians) in the y direction.
[in]ratioThe ratio used to calculate the field of view in the x direction. The ratio of x (width) to y (height).
[in]zNearThe distance from the camera to the near clipping plane.
[in]zFarThe distance from the camera to the far clipping plane.
Returns
A perspective projection matrix.
static Matrix MaliSDK::Matrix::matrixPerspective ( float  FOV,
float  ratio,
float  zNear,
float  zFar 
)
static

Create and return a perspective projection matrix.

Parameters
[in]FOVThe field of view angle (in radians) in the y direction.
[in]ratioThe ratio used to calculate the field of view in the x direction. The ratio of x (width) to y (height).
[in]zNearThe distance from the camera to the near clipping plane.
[in]zFarThe distance from the camera to the far clipping plane.
Returns
A perspective projection matrix.
static Matrix MaliSDK::Matrix::matrixPerspective ( float  FOV,
float  ratio,
float  zNear,
float  zFar 
)
static

Create and return a perspective projection matrix.

Parameters
[in]FOVThe field of view angle (in radians) in the y direction.
[in]ratioThe ratio used to calculate the field of view in the x direction. The ratio of x (width) to y (height).
[in]zNearThe distance from the camera to the near clipping plane.
[in]zFarThe distance from the camera to the far clipping plane.
Returns
A perspective projection matrix.
Matrix MaliSDK::Matrix::matrixScale ( Matrix matrix,
float  scale 
)
static

Scale each element in a matrix by a constant.

Parameters
[in]matrixThe matrix to scale.
[in]scaleThe scale factor
Returns
The matrix matrix scaled by scale

Definition at line 362 of file Matrix.cpp.

static Matrix MaliSDK::Matrix::matrixScale ( Matrix matrix,
float  scale 
)
static

Scale each element in a matrix by a constant.

Parameters
[in]matrixThe matrix to scale.
[in]scaleThe scale factor
Returns
The matrix matrix scaled by scale
static Matrix MaliSDK::Matrix::matrixScale ( Matrix matrix,
float  scale 
)
static

Scale each element in a matrix by a constant.

Parameters
[in]matrixThe matrix to scale.
[in]scaleThe scale factor
Returns
The matrix matrix scaled by scale
static Matrix MaliSDK::Matrix::matrixScale ( Matrix matrix,
float  scale 
)
static

Scale each element in a matrix by a constant.

Parameters
[in]matrixThe matrix to scale.
[in]scaleThe scale factor
Returns
The matrix matrix scaled by scale
static Matrix MaliSDK::Matrix::matrixScale ( Matrix matrix,
float  scale 
)
static

Scale each element in a matrix by a constant.

Parameters
[in]matrixThe matrix to scale.
[in]scaleThe scale factor
Returns
The matrix matrix scaled by scale
static Matrix MaliSDK::Matrix::matrixScale ( Matrix matrix,
float  scale 
)
static

Scale each element in a matrix by a constant.

Parameters
[in]matrixThe matrix to scale.
[in]scaleThe scale factor
Returns
The matrix matrix scaled by scale
static Matrix MaliSDK::Matrix::matrixScale ( Matrix matrix,
float  scale 
)
static

Scale each element in a matrix by a constant.

Parameters
[in]matrixThe matrix to scale.
[in]scaleThe scale factor
Returns
The matrix matrix scaled by scale
static Matrix MaliSDK::Matrix::matrixScale ( Matrix matrix,
float  scale 
)
static

Scale each element in a matrix by a constant.

Parameters
[in]matrixThe matrix to scale.
[in]scaleThe scale factor
Returns
The matrix matrix scaled by scale
void MaliSDK::Matrix::matrixTranspose ( Matrix matrix)
static

Transpose a matrix in-place.

Parameters
[in,out]matrixThe matrix to transpose.

Definition at line 374 of file Matrix.cpp.

static void MaliSDK::Matrix::matrixTranspose ( Matrix matrix)
static

Transpose a matrix in-place.

Parameters
[in,out]matrixThe matrix to transpose.
static void MaliSDK::Matrix::matrixTranspose ( Matrix matrix)
static

Transpose a matrix in-place.

Parameters
[in,out]matrixThe matrix to transpose.
static void MaliSDK::Matrix::matrixTranspose ( Matrix matrix)
static

Transpose a matrix in-place.

Parameters
[in,out]matrixThe matrix to transpose.
static void MaliSDK::Matrix::matrixTranspose ( Matrix matrix)
static

Transpose a matrix in-place.

Parameters
[in,out]matrixThe matrix to transpose.
static void MaliSDK::Matrix::matrixTranspose ( Matrix matrix)
static

Transpose a matrix in-place.

Parameters
[in,out]matrixThe matrix to transpose.
static void MaliSDK::Matrix::matrixTranspose ( Matrix matrix)
static

Transpose a matrix in-place.

Parameters
[in,out]matrixThe matrix to transpose.
static void MaliSDK::Matrix::matrixTranspose ( Matrix matrix)
static

Transpose a matrix in-place.

Parameters
[in,out]matrixThe matrix to transpose.
static Matrix MaliSDK::Matrix::multiply ( Matrix left,
Matrix right 
)
staticprivate

Multiply 2 matrices to return a third.

Note
When multiplying matrices the ordering of the parameters affects the result.
Parameters
[in]leftFirst matrix to multiply.
[in]rightSecond matrix to multiply.
Returns
The result of left * right
Matrix MaliSDK::Matrix::multiply ( Matrix left,
Matrix right 
)
staticprivate

Multiply 2 matrices to return a third.

Note
When multiplying matrices the ordering of the parameters affects the result.
Parameters
[in]leftFirst matrix to multiply.
[in]rightSecond matrix to multiply.
Returns
The result of left * right

Please see header for the specification.

Definition at line 535 of file Matrix.cpp.

static Matrix MaliSDK::Matrix::multiply ( Matrix left,
Matrix right 
)
staticprivate

Multiply 2 matrices to return a third.

Note
When multiplying matrices the ordering of the parameters affects the result.
Parameters
[in]leftFirst matrix to multiply.
[in]rightSecond matrix to multiply.
Returns
The result of left * right
static Matrix MaliSDK::Matrix::multiply ( Matrix left,
Matrix right 
)
staticprivate

Multiply 2 matrices to return a third.

Note
When multiplying matrices the ordering of the parameters affects the result.
Parameters
[in]leftFirst matrix to multiply.
[in]rightSecond matrix to multiply.
Returns
The result of left * right
static Matrix MaliSDK::Matrix::multiply ( Matrix left,
Matrix right 
)
staticprivate

Multiply 2 matrices to return a third.

Note
When multiplying matrices the ordering of the parameters affects the result.
Parameters
[in]leftFirst matrix to multiply.
[in]rightSecond matrix to multiply.
Returns
The result of left * right
static Matrix MaliSDK::Matrix::multiply ( Matrix left,
Matrix right 
)
staticprivate

Multiply 2 matrices to return a third.

Note
When multiplying matrices the ordering of the parameters affects the result.
Parameters
[in]leftFirst matrix to multiply.
[in]rightSecond matrix to multiply.
Returns
The result of left * right
static Matrix MaliSDK::Matrix::multiply ( Matrix left,
Matrix right 
)
staticprivate

Multiply 2 matrices to return a third.

Note
When multiplying matrices the ordering of the parameters affects the result.
Parameters
[in]leftFirst matrix to multiply.
[in]rightSecond matrix to multiply.
Returns
The result of left * right
static Matrix MaliSDK::Matrix::multiply ( Matrix left,
Matrix right 
)
staticprivate

Multiply 2 matrices to return a third.

Note
When multiplying matrices the ordering of the parameters affects the result.
Parameters
[in]leftFirst matrix to multiply.
[in]rightSecond matrix to multiply.
Returns
The result of left * right
static Matrix MaliSDK::Matrix::multiply ( Matrix left,
Matrix right 
)
staticprivate

Multiply 2 matrices to return a third.

Note
When multiplying matrices the ordering of the parameters affects the result.
Parameters
[in]leftFirst matrix to multiply.
[in]rightSecond matrix to multiply.
Returns
The result of left * right
static Matrix MaliSDK::Matrix::multiply ( Matrix left,
Matrix right 
)
staticprivate

Multiply 2 matrices to return a third.

Note
When multiplying matrices the ordering of the parameters affects the result.
Parameters
[in]leftFirst matrix to multiply.
[in]rightSecond matrix to multiply.
Returns
The result of left * right
Matrix MaliSDK::Matrix::operator* ( Matrix  right)

Multiply operator to post multiply a matrix by another.

Parameters
[in]rightThe matrix to post multiply by.
Returns
The result of matrix * right.

Please see header for the specification.

Definition at line 63 of file Matrix.cpp.

Matrix MaliSDK::Matrix::operator* ( Matrix  right)

Multiply operator to post multiply a matrix by another.

Parameters
[in]rightThe matrix to post multiply by.
Returns
The result of matrix * right.
Matrix MaliSDK::Matrix::operator* ( Matrix  right)

Multiply operator to post multiply a matrix by another.

Parameters
[in]rightThe matrix to post multiply by.
Returns
The result of matrix * right.
Matrix MaliSDK::Matrix::operator* ( Matrix  right)

Multiply operator to post multiply a matrix by another.

Parameters
[in]rightThe matrix to post multiply by.
Returns
The result of matrix * right.
Matrix MaliSDK::Matrix::operator* ( Matrix  right)

Multiply operator to post multiply a matrix by another.

Parameters
[in]rightThe matrix to post multiply by.
Returns
The result of matrix * right.
Matrix MaliSDK::Matrix::operator* ( Matrix  right)

Multiply operator to post multiply a matrix by another.

Parameters
[in]rightThe matrix to post multiply by.
Returns
The result of matrix * right.
Matrix MaliSDK::Matrix::operator* ( Matrix  right)

Multiply operator to post multiply a matrix by another.

Parameters
[in]rightThe matrix to post multiply by.
Returns
The result of matrix * right.
Matrix MaliSDK::Matrix::operator* ( Matrix  right)

Multiply operator to post multiply a matrix by another.

Parameters
[in]rightThe matrix to post multiply by.
Returns
The result of matrix * right.
Matrix MaliSDK::Matrix::operator* ( Matrix  right)

Multiply operator to post multiply a matrix by another.

Parameters
[in]rightThe matrix to post multiply by.
Returns
The result of matrix * right.
Matrix MaliSDK::Matrix::operator* ( Matrix  right)

Multiply operator to post multiply a matrix by another.

Parameters
[in]rightThe matrix to post multiply by.
Returns
The result of matrix * right.
Matrix & MaliSDK::Matrix::operator= ( const Matrix another)

Overloading assingment operater to do deep copy of the Matrix elements.

Please see header for the specification.

Definition at line 68 of file Matrix.cpp.

Matrix& MaliSDK::Matrix::operator= ( const Matrix another)

Overloading assingment operater to do deep copy of the Matrix elements.

Matrix& MaliSDK::Matrix::operator= ( const Matrix another)

Overloading assingment operater to do deep copy of the Matrix elements.

Matrix& MaliSDK::Matrix::operator= ( const Matrix another)

Overloading assingment operater to do deep copy of the Matrix elements.

Matrix& MaliSDK::Matrix::operator= ( const Matrix another)

Overloading assingment operater to do deep copy of the Matrix elements.

Matrix& MaliSDK::Matrix::operator= ( const Matrix another)

Overloading assingment operater to do deep copy of the Matrix elements.

Matrix& MaliSDK::Matrix::operator= ( const Matrix another)

Overloading assingment operater to do deep copy of the Matrix elements.

Matrix& MaliSDK::Matrix::operator= ( const Matrix another)

Overloading assingment operater to do deep copy of the Matrix elements.

Matrix& MaliSDK::Matrix::operator= ( const Matrix another)

Overloading assingment operater to do deep copy of the Matrix elements.

Matrix& MaliSDK::Matrix::operator= ( const Matrix another)

Overloading assingment operater to do deep copy of the Matrix elements.

float & MaliSDK::Matrix::operator[] ( unsigned  element)

Array operator for accessing the elements of the matrix.

Parameters
[in]elementThe element index of the matrix (accepts 0-15).
Returns
The element of the matrix.

Please see header for the specification.

Definition at line 53 of file Matrix.cpp.

float& MaliSDK::Matrix::operator[] ( unsigned  element)

Array operator for accessing the elements of the matrix.

Parameters
[in]elementThe element index of the matrix (accepts 0-15).
Returns
The element of the matrix.
float& MaliSDK::Matrix::operator[] ( unsigned  element)

Array operator for accessing the elements of the matrix.

Parameters
[in]elementThe element index of the matrix (accepts 0-15).
Returns
The element of the matrix.
float& MaliSDK::Matrix::operator[] ( unsigned  element)

Array operator for accessing the elements of the matrix.

Parameters
[in]elementThe element index of the matrix (accepts 0-15).
Returns
The element of the matrix.
float& MaliSDK::Matrix::operator[] ( unsigned  element)

Array operator for accessing the elements of the matrix.

Parameters
[in]elementThe element index of the matrix (accepts 0-15).
Returns
The element of the matrix.
float& MaliSDK::Matrix::operator[] ( unsigned  element)

Array operator for accessing the elements of the matrix.

Parameters
[in]elementThe element index of the matrix (accepts 0-15).
Returns
The element of the matrix.
float& MaliSDK::Matrix::operator[] ( unsigned  element)

Array operator for accessing the elements of the matrix.

Parameters
[in]elementThe element index of the matrix (accepts 0-15).
Returns
The element of the matrix.
float& MaliSDK::Matrix::operator[] ( unsigned  element)

Array operator for accessing the elements of the matrix.

Parameters
[in]elementThe element index of the matrix (accepts 0-15).
Returns
The element of the matrix.
float& MaliSDK::Matrix::operator[] ( unsigned  element)

Array operator for accessing the elements of the matrix.

Parameters
[in]elementThe element index of the matrix (accepts 0-15).
Returns
The element of the matrix.
float& MaliSDK::Matrix::operator[] ( unsigned  element)

Array operator for accessing the elements of the matrix.

Parameters
[in]elementThe element index of the matrix (accepts 0-15).
Returns
The element of the matrix.
void MaliSDK::Matrix::print ( void  )

Print the matrix.

Definition at line 614 of file Matrix.cpp.

void MaliSDK::Matrix::print ( void  )

Print the matrix.

void MaliSDK::Matrix::print ( void  )

Print the matrix.

void MaliSDK::Matrix::print ( void  )

Print the matrix.

void MaliSDK::Matrix::print ( void  )

Print the matrix.

Vec4f MaliSDK::Matrix::vertexTransform ( Vec4f vector,
Matrix matrix 
)
static

Transform a 4D vertex by a matrix.

Parameters
[in]vectorThe 4D vector to be transformed.
[in]matrixThe transformation matrix.
Returns
The result of matrix x vector

Definition at line 559 of file Matrix.cpp.

Vec3f MaliSDK::Matrix::vertexTransform ( Vec3f vector,
Matrix matrix 
)
static

Transform a 3D vertex by a matrix.

Parameters
[in]vectorThe 3D vector to be transformed.
[in]matrixThe transformation matrix.
Returns
The result of matrix x vector

Definition at line 586 of file Matrix.cpp.

static Vec4f MaliSDK::Matrix::vertexTransform ( Vec4f vector,
Matrix matrix 
)
static

Transform a 4D vertex by a matrix.

Parameters
[in]vectorThe 4D vector to be transformed.
[in]matrixThe transformation matrix.
Returns
The result of matrix x vector
static Vec4f MaliSDK::Matrix::vertexTransform ( Vec4f vector,
Matrix matrix 
)
static

Transform a 4D vertex by a matrix.

Parameters
[in]vectorThe 4D vector to be transformed.
[in]matrixThe transformation matrix.
Returns
The result of matrix x vector
static Vec4f MaliSDK::Matrix::vertexTransform ( Vec4f vector,
Matrix matrix 
)
static

Transform a 4D vertex by a matrix.

Parameters
[in]vectorThe 4D vector to be transformed.
[in]matrixThe transformation matrix.
Returns
The result of matrix x vector
static Vec4f MaliSDK::Matrix::vertexTransform ( Vec4f vector,
Matrix matrix 
)
static

Transform a 4D vertex by a matrix.

Parameters
[in]vectorThe 4D vector to be transformed.
[in]matrixThe transformation matrix.
Returns
The result of matrix x vector
static Vec3f MaliSDK::Matrix::vertexTransform ( Vec3f vector,
Matrix matrix 
)
static

Transform a 3D vertex by a matrix.

Parameters
[in]vectorThe 3D vector to be transformed.
[in]matrixThe transformation matrix.
Returns
The result of matrix x vector
static Vec3f MaliSDK::Matrix::vertexTransform ( Vec3f vector,
Matrix matrix 
)
static

Transform a 3D vertex by a matrix.

Parameters
[in]vectorThe 3D vector to be transformed.
[in]matrixThe transformation matrix.
Returns
The result of matrix x vector
static Vec3f MaliSDK::Matrix::vertexTransform ( Vec3f vector,
Matrix matrix 
)
static

Transform a 3D vertex by a matrix.

Parameters
[in]vectorThe 3D vector to be transformed.
[in]matrixThe transformation matrix.
Returns
The result of matrix x vector
static Vec3f MaliSDK::Matrix::vertexTransform ( Vec3f vector,
Matrix matrix 
)
static

Transform a 3D vertex by a matrix.

Parameters
[in]vectorThe 3D vector to be transformed.
[in]matrixThe transformation matrix.
Returns
The result of matrix x vector
static Vec4f MaliSDK::Matrix::vertexTransform ( Vec4f vector,
Matrix matrix 
)
static

Transform a 4D vertex by a matrix.

Parameters
[in]vectorThe 4D vector to be transformed.
[in]matrixThe transformation matrix.
Returns
The result of matrix x vector
static Vec4f MaliSDK::Matrix::vertexTransform ( Vec4f vector,
Matrix matrix 
)
static

Transform a 4D vertex by a matrix.

Parameters
[in]vectorThe 4D vector to be transformed.
[in]matrixThe transformation matrix.
Returns
The result of matrix x vector
static Vec4f MaliSDK::Matrix::vertexTransform ( Vec4f vector,
Matrix matrix 
)
static

Transform a 4D vertex by a matrix.

Parameters
[in]vectorThe 4D vector to be transformed.
[in]matrixThe transformation matrix.
Returns
The result of matrix x vector

Member Data Documentation

static const float MaliSDK::Matrix::biasArray
staticprivate
Initial value:
=
{
0.5f, 0.0f, 0.0f, 0.0f,
0.0f, 0.5f, 0.0f, 0.0f,
0.0f, 0.0f, 0.5f, 0.0f,
0.5f, 0.5f, 0.5f, 1.0f,
}

A 4x4 bias Matrix;.

Definition at line 54 of file Matrix.h.

static Matrix MaliSDK::Matrix::biasMatrix = Matrix(biasArray)
static

The bias matrix.

A matrix that can be used to map values from a range <-1, 1> (eye space coordinates) to <0, 1> (texture coordinates).

Definition at line 102 of file Matrix.h.

float MaliSDK::Matrix::elements
private

A 16 element floating point array used to represent a 4x4 matrix.

Note
Items are stored in column major order as OpenGL ES expects them.

Definition at line 38 of file Matrix.h.

static const float MaliSDK::Matrix::identityArray
staticprivate
Initial value:
=
{
1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f,
}

A 4x4 identity Matrix;.

Definition at line 50 of file Matrix.h.

static Matrix MaliSDK::Matrix::identityMatrix = Matrix(identityArray)
static

The identity matrix.

A matrix with 1's on the main diagonal and 0's everywhere else.

Definition at line 90 of file Matrix.h.


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