Unigine::mat2 Class
Header: | #include <UnigineMathLib.h> |
mat2 Class
Members
mat2()
Default constructor that produces an identity matrix.mat2(const mat2 & m)
Constructor that initializes new matrix by given one.Arguments
- const mat2 & m - mat2 matrix as a source for the new matrix.
mat2(float v)
Constructor that initializes new matrix. The matrix values are filled with the given value.Arguments
- float v - Float value to fill the new matrix.
mat2(const mat3 & m)
Constructor that initialized new matrix by given mat3 matrix. It uses m00, m01, m10, m11 values from the source matrix.Arguments
- const mat3 & m - mat3 matrix as a source for the new matrix.
mat2(const mat4 & m)
Constructor that initialized new matrix by given mat4 matrix. It uses m00, m01, m10, m11 values from the source matrix.Arguments
- const mat4 & m - mat3 matrix as a source for the new matrix.
mat2(const dmat4 & m)
Constructor that initialized new matrix by given dmat4 matrix. It uses m00, m01, m10, m11 values from the source matrix.Arguments
- const dmat4 & m - dmat3 matrix as a source for the new matrix.
mat2(const float * m)
Constructor that initialized new matrix by given pointer to the matrix.Arguments
- const float * m - Pointer to the matrix
mat2(const vec2 & col0, const vec2 & col1)
Constructor that initialized new matrix by given two vec2 vectors. It uses the following formula:m00 = col0.x;
m01 = col1.x;
m10 = col0.y;
m11 = col1.y;
Arguments
- const vec2 & col0 - vec2 for the first column values.
- const vec2 & col1 - vec2 for the second column values.
void set(const float * m)
Sets new matrix values by using pointer.Arguments
- const float * m - Pointer to the matrix.
void set(const mat2 & m)
Sets new matrix values by using mat2.Arguments
- const mat2 & m - mat2 matrix as a source for mat2 matrix values.
void set(const mat3 & m)
Sets new matrix values by using mat3.Arguments
- const mat3 & m - mat3 matrix as a source for mat2 matrix values.
void set(const mat4 & m)
Sets new matrix values by using mat4.Arguments
- const mat4 & m - mat4 matrix as a source for mat2 matrix values.
void set(const dmat4 & m)
Sets new matrix values by using dmat4.Arguments
- const dmat4 & m - dmat4 matrix as a source for mat2 matrix values.
void set(int row, int column, float v)
Sets new value by specifying row and column of mat2 matrix.Arguments
- int row - The row where to place the value.
- int column - The column where to place the value.
- float v - The value to be set.
float * get()
Returns the pointer to the matrix.Return value
Pointer to the matrix.const float * get()
Returns the constant pointer to the matrix.Return value
Constant pointer to the matrix.void get(float * m)
Fills the destination matrix pointer with the source matrix values.Arguments
- float * m - Destination matrix pointer.
float & get(int row, int column)
Returns a reference value specified by given row and column of the matrix.Arguments
- int row - The number of row.
- int column - The number of column.
Return value
Reference value of the matrix.float get(int row, int column)
Returns the value specified by given row and column of the matrix.Arguments
- int row - The number of row.
- int column - The number of column.
Return value
Value of the matrix.void setColumn(int column, const vec2 & v)
Sets the given vec2 as the new column of the matrix.Arguments
- int column - The number of the column.
- const vec2 & v - vec2 as a new column for the matrix.
vec2 getColumn(int column)
Returns the matrix column.Arguments
- int column - The number of the column.
Return value
The vec2 vector with column values.void setIdentity()
Changes matrix values to the identity.void setRotate(float angle)
Fills the matrix values as rotate by using the following formula:float s, c;
Math::sincos(angle * DEG2RAD, s, c);
m00 = c;
m01 = -s;
m10 = s;
m11 = c;
Arguments
- float angle - Angle of rotation value.
void setRow(int row, const vec2 & v)
Sets the given vec2 as the new row of the matrix.Arguments
- int row - The number of the row.
- const vec2 & v - vec2 as a new row for the matrix.
vec2 getRow(int row)
Returns the matrix row.Arguments
- int row - The number of the row.
Return value
The vec2 vector with row values.void setScale(const vec2 & v)
Fills the matrix values as scale by using the following formula:m00 = v.x;
m01 = 0.0f;
m10 = 0.0f;
m11 = v.y;
Arguments
- const vec2 & v - Scale value.
void setZero()
Sets all matrix values to 0.const float * operator const float *()
const void * operator const void *()
float * operator float *()
void * operator void *()
mat2 & operator*=(const mat2 & m)
Performs matrix multiplication.Arguments
- const mat2 & m - mat2 matrix.
Return value
The resulting matrix.mat2 & operator*=(float v)
Performs matrix multiplication.Arguments
- float v - Value.
Return value
The resulting matrix.mat2 & operator+=(const mat2 & m)
Performs matrix addition.Arguments
- const mat2 & m - mat2 matrix.
Return value
The resulting matrix.mat2 operator-()
Performs sign changing (unary minus operation).Return value
Source mat2 matrix.mat2 & operator-=(const mat2 & m)
Performs matrix subtraction.Arguments
- const mat2 & m - mat2 matrix.
Return value
The resulting matrix.mat2 & operator=(const mat2 & m)
Performs matrix assignment. Source matrix = Destination matrix.Arguments
- const mat2 & m - Destination matrix.
Return value
Source matrix.float operator[](int i)
Performs array access to the matrix item by using given item index.Arguments
- int i - Index of the matrix item.
Return value
Matrix item.float & operator[](int i)
Performs array access to the matrix item reference by using given item index.Arguments
- int i - Index of the matrix item.
Return value
Matrix item reference.__m128 sse()
void sse(const __m128 & v)
Arguments
- const __m128 & v
int IDENTITY
int ONE
int ZERO
Last update: 2017-07-03
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)