Matrix definition and operations. More...
Data Structures | |
struct | _Eina_Matrix2 |
struct | Eina_Matrix2 |
Floating point matrix2 handler. More... | |
Typedefs | |
typedef struct _Eina_Matrix2 | Eina_Matrix2 |
Floating point matrix2 handler. | |
Functions | |
EAPI void | eina_matrix2_values_set (Eina_Matrix2 *m, double xx, double xy, double yx, double yy) |
Sets the values of the coefficients of the given floating point matrix. More... | |
EAPI void | eina_matrix2_values_get (const Eina_Matrix2 *m, double *xx, double *xy, double *yx, double *yy) |
Gets the values of the coefficients of the given floating point matrix. More... | |
EAPI void | eina_matrix2_inverse (Eina_Matrix2 *out, const Eina_Matrix2 *mat) |
Computes the inverse with check of the given matrix. More... | |
EAPI void | eina_matrix2_identity (Eina_Matrix2 *m) |
Sets the given floating point matrix to the identity matrix. More... | |
EAPI void | eina_matrix2_array_set (Eina_Matrix2 *m, const double *v) |
Sets array to matrix. More... | |
EAPI void | eina_matrix2_copy (Eina_Matrix2 *dst, const Eina_Matrix2 *src) |
Copies matrix. More... | |
EAPI void | eina_matrix2_multiply (Eina_Matrix2 *out, const Eina_Matrix2 *mat_a, const Eina_Matrix2 *mat_b) |
Multiplies two matrix. More... | |
EAPI void | eina_matrix2_multiply_copy (Eina_Matrix2 *out, const Eina_Matrix2 *mat_a, const Eina_Matrix2 *mat_b) |
Multiplies two matrix with check. More... | |
EAPI Eina_Matrix_Type | eina_matrix2_type_get (const Eina_Matrix2 *m) |
Returns the type of the given floating point matrix. More... | |
Matrix definition and operations.
EAPI void eina_matrix2_values_set | ( | Eina_Matrix2 * | m, |
double | xx, | ||
double | xy, | ||
double | yx, | ||
double | yy | ||
) |
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. |
yx | The fourth coefficient value. |
yy | The fifth coefficient value. |
This function sets the values of the coefficients of the matrix m
. No check is done on m
.
EAPI void eina_matrix2_values_get | ( | const Eina_Matrix2 * | m, |
double * | xx, | ||
double * | xy, | ||
double * | yx, | ||
double * | yy | ||
) |
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. |
yx | The fourth coefficient value. |
yy | The fifth coefficient value. |
This function gets the values of the coefficients of the matrix m
. No check is done on m
.
EAPI void eina_matrix2_inverse | ( | Eina_Matrix2 * | out, |
const Eina_Matrix2 * | mat | ||
) |
Computes the inverse with check of the given matrix.
m | The matrix to inverse. |
m2 | The inverse matrix. |
This function inverse the matrix m
and stores the result in m2
. No check is done on m
or m2
. If m
can not be invertible, then m2
is set to the identity matrix.
References EINA_DBL_EQ, eina_matrix2_copy(), eina_matrix2_type_get(), and EINA_MATRIX_TYPE_IDENTITY.
EAPI void eina_matrix2_identity | ( | Eina_Matrix2 * | m | ) |
Sets the given floating point matrix to the identity matrix.
m | The floating point matrix to set |
This function sets m
to the identity matrix. No check is done on m
.
EAPI void eina_matrix2_array_set | ( | Eina_Matrix2 * | m, |
const double * | v | ||
) |
Sets array to matrix.
m | The result matrix |
v | The the array[4] for set |
Set to matrix first 4 elements from array
EAPI void eina_matrix2_copy | ( | Eina_Matrix2 * | dst, |
const Eina_Matrix2 * | src | ||
) |
Copies matrix.
dst | The matrix copy |
src | The matrix for copy. |
Referenced by eina_matrix2_inverse(), eina_matrix2_multiply(), and eina_matrix2_multiply_copy().
EAPI void eina_matrix2_multiply | ( | Eina_Matrix2 * | out, |
const Eina_Matrix2 * | mat_a, | ||
const Eina_Matrix2 * | 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_matrix2_copy(), eina_matrix2_type_get(), and EINA_MATRIX_TYPE_IDENTITY.
Referenced by eina_matrix2_multiply_copy().
EAPI void eina_matrix2_multiply_copy | ( | Eina_Matrix2 * | out, |
const Eina_Matrix2 * | mat_a, | ||
const Eina_Matrix2 * | 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_matrix2_copy(), and eina_matrix2_multiply().
EAPI Eina_Matrix_Type eina_matrix2_type_get | ( | const Eina_Matrix2 * | 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_matrix2_inverse(), and eina_matrix2_multiply().