#include <mat4.h>
Construction | |
| CL_Mat4 () | |
| Constructs a 4x4 matrix (null). | |
| CL_Mat4 (const CL_Mat4< Type > ©) | |
| Constructs a 4x4 matrix (copied). | |
| CL_Mat4 (const CL_Mat2< Type > ©) | |
| Constructs a 4x4 matrix (copied from a 2d matrix). | |
| CL_Mat4 (const CL_Mat3< Type > ©) | |
| Constructs a 4x4 matrix (copied from a 3d matrix). | |
| CL_Mat4 (const float *init_matrix) | |
| Constructs a 4x4 matrix (copied from a array of floats). | |
| CL_Mat4 (const double *init_matrix) | |
| Constructs a 4x4 matrix (copied from a array of doubles). | |
| CL_Mat4 (const cl_int64 *init_matrix) | |
| Constructs a 4x4 matrix (copied from a array of 64 bit integers). | |
| CL_Mat4 (const cl_int32 *init_matrix) | |
| Constructs a 4x4 matrix (copied from a array of 32 bit integers). | |
| CL_Mat4 (const cl_int16 *init_matrix) | |
| Constructs a 4x4 matrix (copied from a array of 16 bit integers). | |
| CL_Mat4 (const cl_int8 *init_matrix) | |
| Constructs a 4x4 matrix (copied from a array of 8 bit integers). | |
| static CL_Mat4< Type > | null () |
| Create a zero matrix. | |
| static CL_Mat4< Type > | identity () |
| Create the identity matrix. | |
| static CL_Mat4< Type > | frustum (Type left, Type right, Type bottom, Type top, Type z_near, Type z_far) |
| Create a frustum matrix. | |
| static CL_Mat4< Type > | perspective (Type field_of_view_y_degrees, Type aspect, Type z_near, Type z_far) |
| Create a perspective matrix. | |
| static CL_Mat4< Type > | ortho (Type left, Type right, Type bottom, Type top, Type z_near, Type z_far) |
| Create a ortho matrix. | |
| static CL_Mat4< Type > | ortho_2d (Type left, Type right, Type bottom, Type top) |
| Create a ortho_2d matrix. | |
| static CL_Mat4< Type > | rotate (const CL_Angle &angle, Type x, Type y, Type z, bool normalize=true) |
| Create a rotation matrix. | |
| static CL_Mat4< Type > | scale (Type x, Type y, Type z) |
| Create a scale matrix. | |
| static CL_Mat4< Type > | translate (Type x, Type y, Type z) |
| Create a translation matrix. | |
| static CL_Mat4< Type > | look_at (Type eye_x, Type eye_y, Type eye_z, Type center_x, Type center_y, Type center_z, Type up_x, Type up_y, Type up_z) |
| Create the "look at" matrix. | |
| static CL_Mat4< Type > | multiply (const CL_Mat4< Type > &matrix_1, const CL_Mat4< Type > &matrix_2) |
| Multiply 2 matrices. | |
| static CL_Mat4< Type > | add (const CL_Mat4< Type > &matrix_1, const CL_Mat4< Type > &matrix_2) |
| Add 2 matrices. | |
| static CL_Mat4< Type > | subtract (const CL_Mat4< Type > &matrix_1, const CL_Mat4< Type > &matrix_2) |
| Subtract 2 matrices. | |
| static CL_Mat4< Type > | adjoint (const CL_Mat4< Type > &matrix) |
| Calculate the adjoint (or known as adjugate) of a matrix. | |
| static CL_Mat4< Type > | inverse (const CL_Mat4< Type > &matrix) |
| Calculate the matrix inverse of a matrix. | |
Attributes | |
| Type | get_origin_x () const |
| Returns the x coordinate for the point (0,0,0) multiplied with this matrix. | |
| Type | get_origin_y () const |
| Returns the y coordinate for the point (0,0,0) multiplied with this matrix. | |
| Type | get_origin_z () const |
| Returns the z coordinate for the point (0,0,0) multiplied with this matrix. | |
| Type | matrix [16] |
| The matrix (in column-major format). | |
Public Member Functions | |
Operations | |
| CL_Mat4< Type > & | multiply (const CL_Mat4< Type > &mult) |
| Multiply this matrix and a specified matrix. | |
| CL_Mat4< Type > & | add (const CL_Mat4< Type > &add_matrix) |
| Add this matrix and a specified matrix. | |
| CL_Mat4< Type > & | subtract (const CL_Mat4< Type > &sub_matrix) |
| Subtract this matrix and a specified matrix. | |
| CL_Mat4< Type > & | scale_self (Type x, Type y, Type z) |
| Scale this matrix. | |
| CL_Mat4< Type > & | translate_self (Type x, Type y, Type z) |
| Translate this matrix. | |
| double | det () const |
| Calculate the matrix determinant of this matrix. | |
| CL_Mat4< Type > & | adjoint () |
| Calculate the adjoint (or known as adjugate) of this matrix. | |
| CL_Mat4< Type > & | inverse () |
| Calculate the matrix inverse of this matrix. | |
Operators | |
| operator Type const * () const | |
| Operator that returns the matrix as a array. | |
| operator Type * () | |
| Operator that returns the matrix as a array. | |
| Type & | operator[] (int i) |
| Operator that returns the matrix cell at the given index. | |
| const Type & | operator[] (int i) const |
| Operator that returns the matrix cell at the given index. | |
| Type & | operator[] (unsigned int i) |
| Operator that returns the matrix cell at the given index. | |
| const Type & | operator[] (unsigned int i) const |
| Operator that returns the matrix cell at the given index. | |
| CL_Mat4< Type > & | operator= (const CL_Mat4< Type > ©) |
| Copy assignment operator. | |
| CL_Mat4< Type > & | operator= (const CL_Mat3< Type > ©) |
| Copy assignment operator. | |
| CL_Mat4< Type > & | operator= (const CL_Mat2< Type > ©) |
| Copy assignment operator. | |
| CL_Mat4< Type > | operator * (const CL_Mat4< Type > &mult) const |
| Multiplication operator. | |
| CL_Mat4< Type > | operator+ (const CL_Mat4< Type > &add_matrix) const |
| Addition operator. | |
| CL_Mat4< Type > | operator- (const CL_Mat4< Type > &sub_matrix) const |
| Subtraction operator. | |
| bool | operator== (const CL_Mat4< Type > &other) |
| Equality operator. | |
| bool | operator!= (const CL_Mat4< Type > &other) |
| Not-equal operator. | |
These matrix templates are defined for: int (CL_Mat4i), float (CL_Mat4f), double (CL_Mat4d)
|
|||||||||
|
Constructs a 4x4 matrix (null).
|
|
||||||||||
|
Constructs a 4x4 matrix (copied).
|
|
||||||||||
|
Constructs a 4x4 matrix (copied from a 2d matrix).
|
|
||||||||||
|
Constructs a 4x4 matrix (copied from a 3d matrix).
|
|
||||||||||
|
Constructs a 4x4 matrix (copied from a array of floats).
|
|
||||||||||
|
Constructs a 4x4 matrix (copied from a array of doubles).
|
|
||||||||||
|
Constructs a 4x4 matrix (copied from a array of 64 bit integers).
|
|
||||||||||
|
Constructs a 4x4 matrix (copied from a array of 32 bit integers).
|
|
||||||||||
|
Constructs a 4x4 matrix (copied from a array of 16 bit integers).
|
|
||||||||||
|
Constructs a 4x4 matrix (copied from a array of 8 bit integers).
|
|
||||||||||
|
Add this matrix and a specified matrix. This adds the matrix as follows: this = mult + this
|
|
||||||||||||||||
|
Add 2 matrices. This adds the matrix as follows: result = matrix1 + matrix2
|
|
|||||||||
|
Calculate the adjoint (or known as adjugate) of this matrix.
|
|
||||||||||
|
Calculate the adjoint (or known as adjugate) of a matrix.
|
|
|||||||||
|
Calculate the matrix determinant of this matrix.
|
|
||||||||||||||||||||||||||||||||
|
Create a frustum matrix. Matrix is created in the Column-Major matrix format (opengl native)
|
|
|||||||||
|
Returns the x coordinate for the point (0,0,0) multiplied with this matrix.
|
|
|||||||||
|
Returns the y coordinate for the point (0,0,0) multiplied with this matrix.
|
|
|||||||||
|
Returns the z coordinate for the point (0,0,0) multiplied with this matrix.
|
|
|||||||||
|
Create the identity matrix.
|
|
|||||||||
|
Calculate the matrix inverse of this matrix. Creates a zero matrix if the determinent == 0
|
|
||||||||||
|
Calculate the matrix inverse of a matrix. Creates a zero matrix if the determinent == 0
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
Create the "look at" matrix. Matrix is created in the Column-Major matrix format (opengl native)
|
|
||||||||||
|
Multiply this matrix and a specified matrix. This multiplies the matrix as follows: this = mult * this
|
|
||||||||||||||||
|
Multiply 2 matrices. This multiplies the matrix as follows: result = matrix1 * matrix2
|
|
|||||||||
|
Create a zero matrix.
|
|
||||||||||
|
Multiplication operator.
|
|
|||||||||
|
Operator that returns the matrix as a array.
|
|
|||||||||
|
Operator that returns the matrix as a array.
|
|
||||||||||
|
Not-equal operator.
|
|
||||||||||
|
Addition operator.
|
|
||||||||||
|
Subtraction operator.
|
|
||||||||||
|
Copy assignment operator.
|
|
||||||||||
|
Copy assignment operator.
|
|
||||||||||
|
Copy assignment operator.
|
|
||||||||||
|
Equality operator.
|
|
||||||||||
|
Operator that returns the matrix cell at the given index.
|
|
||||||||||
|
Operator that returns the matrix cell at the given index.
|
|
||||||||||
|
Operator that returns the matrix cell at the given index.
|
|
||||||||||
|
Operator that returns the matrix cell at the given index.
|
|
||||||||||||||||||||||||||||||||
|
Create a ortho matrix. Matrix is created in the Column-Major matrix format (opengl native)
|
|
||||||||||||||||||||||||
|
Create a ortho_2d matrix. Matrix is created in the Column-Major matrix format (opengl native)
|
|
||||||||||||||||||||||||
|
Create a perspective matrix. Matrix is created in the Column-Major matrix format (opengl native)
|
|
||||||||||||||||||||||||||||
|
Create a rotation matrix. Matrix is created in the Column-Major matrix format (opengl native)
|
|
||||||||||||||||||||
|
Create a scale matrix.
|
|
||||||||||||||||||||
|
Scale this matrix. This is faster than using: multiply(CL_Mat4<Type>::scale(x,y,z) )
|
|
||||||||||
|
Subtract this matrix and a specified matrix. This subtracts the matrix as follows: this = mult - this
|
|
||||||||||||||||
|
Subtract 2 matrices. This subtracts the matrix as follows: result = matrix1 - matrix2
|
|
||||||||||||||||||||
|
Create a translation matrix. Matrix is created in the Column-Major matrix format (opengl native)
|
|
||||||||||||||||||||
|
Translate this matrix.
Matrix is assumed to be in the Column-Major matrix format (opengl native)
|
|
|||||
|
The matrix (in column-major format).
|
1.4.6