Matrix definition and operations. More...
Data Structures | |
struct | _Eina_Matrix4 |
struct | Eina_Matrix4 |
Floating point matrix4 handler. More... | |
Typedefs | |
typedef struct _Eina_Matrix4 | Eina_Matrix4 |
Floating point matrix4 handler. | |
Functions | |
EAPI Eina_Matrix_Type | eina_matrix4_type_get (const Eina_Matrix4 *m) |
Returns the type of the given floating point matrix. More... | |
EAPI void | eina_matrix4_values_set (Eina_Matrix4 *m, double xx, double xy, double xz, double xw, double yx, double yy, double yz, double yw, double zx, double zy, double zz, double zw, double wx, double wy, double wz, double ww) |
Sets the values of the coefficients of the given floating point matrix. More... | |
EAPI void | eina_matrix4_values_get (const Eina_Matrix4 *m, double *xx, double *xy, double *xz, double *xw, double *yx, double *yy, double *yz, double *yw, double *zx, double *zy, double *zz, double *zw, double *wx, double *wy, double *wz, double *ww) |
Gets the values of the coefficients of the given floating point matrix. More... | |
EAPI double | eina_matrix4_determinant (const Eina_Matrix4 *m) |
Returns the determinant of the given matrix. More... | |
EAPI Eina_Bool | eina_matrix4_normalized (Eina_Matrix4 *out, const Eina_Matrix4 *in) |
Returns the determinant of the given matrix. More... | |
EAPI Eina_Bool | eina_matrix4_inverse (Eina_Matrix4 *out, const Eina_Matrix4 *in) |
Returns the inverse of the given matrix. More... | |
EAPI void | eina_matrix4_transpose (Eina_Matrix4 *out, const Eina_Matrix4 *in) |
Returns the transpose of the given matrix. More... | |
EAPI void | eina_matrix4_matrix3_to (Eina_Matrix3 *m3, const Eina_Matrix4 *m4) |
Converts an Eina_Matrix4 into an Eina_Matrix3. More... | |
EAPI void | eina_matrix4_identity (Eina_Matrix4 *out) |
Sets an identity matrix. More... | |
EAPI void | eina_matrix4_multiply_copy (Eina_Matrix4 *out, const Eina_Matrix4 *mat_a, const Eina_Matrix4 *mat_b) |
Multiplies two matrix. More... | |
EAPI void | eina_matrix4_array_set (Eina_Matrix4 *m, const double *v) |
Sets array to matrix. More... | |
EAPI void | eina_matrix4_copy (Eina_Matrix4 *dst, const Eina_Matrix4 *src) |
Copies matrix. More... | |
EAPI void | eina_matrix4_multiply (Eina_Matrix4 *out, const Eina_Matrix4 *mat_a, const Eina_Matrix4 *mat_b) |
Multiplies two matrix with check. More... | |
EAPI void | eina_matrix4_ortho_set (Eina_Matrix4 *m, double left, double right, double bottom, double top, double dnear, double dfar) |
Sets orthogonality matrix. More... | |
Matrix definition and operations.
EAPI Eina_Matrix_Type eina_matrix4_type_get | ( | const Eina_Matrix4 * | m | ) |
Returns the type of the given floating point matrix.
m | The floating point matrix. |
This function returns the type of the matrix m
. No check is done on m
.
References EINA_DBL_EQ, EINA_MATRIX_TYPE_AFFINE, and EINA_MATRIX_TYPE_IDENTITY.
Referenced by eina_matrix4_multiply().
EAPI void eina_matrix4_values_set | ( | Eina_Matrix4 * | m, |
double | xx, | ||
double | xy, | ||
double | xz, | ||
double | xw, | ||
double | yx, | ||
double | yy, | ||
double | yz, | ||
double | yw, | ||
double | zx, | ||
double | zy, | ||
double | zz, | ||
double | zw, | ||
double | wx, | ||
double | wy, | ||
double | wz, | ||
double | ww | ||
) |
Sets the values of the coefficients of the given floating point matrix.
m | The floating point matrix. |
xx | The first coefficient value. |
xy | The second coefficient value. |
xz | The third coefficient value. |
xw | The fourth coefficient value. |
yx | The fifth coefficient value. |
yy | The sixth coefficient value. |
yz | The seventh coefficient value. |
yw | The heighth coefficient value. |
zx | The nineth coefficient value. |
zy | The tenth coefficient value. |
zz | The eleventh coefficient value. |
zw | The twelfth coefficient value. |
wx | The thirteenth coefficient value. |
wy | The fourteenth coefficient value. |
wz | The fifteenth coefficient value. |
ww | The sizteenth coefficient value. |
This function sets the values of the coefficients of the matrix m
. No check is done on m
.
EAPI void eina_matrix4_values_get | ( | const Eina_Matrix4 * | m, |
double * | xx, | ||
double * | xy, | ||
double * | xz, | ||
double * | xw, | ||
double * | yx, | ||
double * | yy, | ||
double * | yz, | ||
double * | yw, | ||
double * | zx, | ||
double * | zy, | ||
double * | zz, | ||
double * | zw, | ||
double * | wx, | ||
double * | wy, | ||
double * | wz, | ||
double * | ww | ||
) |
Gets the values of the coefficients of the given floating point matrix.
m | The floating point matrix. |
xx | The first coefficient value. |
xy | The second coefficient value. |
xz | The third coefficient value. |
xw | The fourth coefficient value. |
yx | The fifth coefficient value. |
yy | The sixth coefficient value. |
yz | The seventh coefficient value. |
yw | The heighth coefficient value. |
zx | The nineth coefficient value. |
zy | The tenth coefficient value. |
zz | The eleventh coefficient value. |
zw | The twelfth coefficient value. |
wx | The thirteenth coefficient value. |
wy | The fourteenth coefficient value. |
wz | The fifteenth coefficient value. |
ww | The sizteenth coefficient value. |
This function gets the values of the coefficients of the matrix m
. No check is done on m
.
EAPI double eina_matrix4_determinant | ( | const Eina_Matrix4 * | m | ) |
Returns the determinant of the given matrix.
m | The matrix. |
This function returns the determinant of the matrix m
. No check is done on m
.
Referenced by eina_matrix4_normalized().
EAPI Eina_Bool eina_matrix4_normalized | ( | Eina_Matrix4 * | out, |
const Eina_Matrix4 * | in | ||
) |
Returns the determinant of the given matrix.
m | The matrix. |
This function returns the determinant of the matrix m
. No check is done on m
.
References EINA_FALSE, eina_matrix4_determinant(), and EINA_TRUE.
EAPI Eina_Bool eina_matrix4_inverse | ( | Eina_Matrix4 * | out, |
const Eina_Matrix4 * | in | ||
) |
Returns the inverse of the given matrix.
out | The inverse matrix |
in | The matrix. |
EINA_TRUE
on success, EINA_FALSE
otherwise.References EINA_FALSE, and EINA_TRUE.
EAPI void eina_matrix4_transpose | ( | Eina_Matrix4 * | out, |
const Eina_Matrix4 * | in | ||
) |
Returns the transpose of the given matrix.
out | The transpose matrix |
in | The matrix. |
Just going to swap row and column.
EAPI void eina_matrix4_matrix3_to | ( | Eina_Matrix3 * | m3, |
const Eina_Matrix4 * | m4 | ||
) |
Converts an Eina_Matrix4 into an Eina_Matrix3.
m3 | The destination Eina_Matrix3. |
m4 | The source Eina_Matrix4. |
EAPI void eina_matrix4_identity | ( | Eina_Matrix4 * | out | ) |
Sets an identity matrix.
out | The matrix to set |
EAPI void eina_matrix4_multiply_copy | ( | Eina_Matrix4 * | out, |
const Eina_Matrix4 * | mat_a, | ||
const Eina_Matrix4 * | mat_b | ||
) |
Multiplies two matrix.
out | The resulting matrix |
a | The first member of the multiplication |
b | The second member of the multiplication |
References eina_matrix4_copy(), and eina_matrix4_multiply().
EAPI void eina_matrix4_array_set | ( | Eina_Matrix4 * | m, |
const double * | v | ||
) |
Sets array to matrix.
m | The result matrix |
v | The the array[16] for set |
Set to matrix first 16 elements from array
EAPI void eina_matrix4_copy | ( | Eina_Matrix4 * | dst, |
const Eina_Matrix4 * | src | ||
) |
Copies matrix.
dst | The matrix copy |
src | The matrix for copy. |
Referenced by eina_matrix4_multiply(), and eina_matrix4_multiply_copy().
EAPI void eina_matrix4_multiply | ( | Eina_Matrix4 * | out, |
const Eina_Matrix4 * | mat_a, | ||
const Eina_Matrix4 * | mat_b | ||
) |
Multiplies two matrix with check.
out | The resulting matrix |
a | The first member of the multiplication |
b | The second member of the multiplication |
References eina_matrix4_copy(), eina_matrix4_type_get(), and EINA_MATRIX_TYPE_IDENTITY.
Referenced by eina_matrix4_multiply_copy().
EAPI void eina_matrix4_ortho_set | ( | Eina_Matrix4 * | m, |
double | left, | ||
double | right, | ||
double | bottom, | ||
double | top, | ||
double | dnear, | ||
double | dfar | ||
) |
Sets orthogonality matrix.
m | The resulting matrix |
right | The right value |
left | The left value |
bottom | The bottom value |
top | The top value |
dneat | The dnear value |
dfar | The dfar value |