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