eina_matrix.h File Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files
- Examples

- File List
- Globals

Data Structures | Macros | Typedefs | Enumerations | Functions
eina_matrix.h File Reference

{Eina_Matrix_Type} {Eina_Matrix3_F16p16} {Eina_Matrix3} More...

## Data Structures
struct | _Eina_Matrix3_F16p16
struct | _Eina_Matrix3
struct | _Eina_Matrix4
struct | _Eina_Matrix2

## Macros
#define | EINA_MATRIX3_FORMAT "g %g %g | %g %g %g | %g %g %g"
| Helper macro for printf formatting.
#define | EINA_MATRIX3_ARGS(m)
| Helper macro for printf formatting arg. More...

## Typedefs
typedef enum _Eina_Matrix_Type | Eina_Matrix_Type
typedef struct _Eina_Matrix3_F16p16 | Eina_Matrix3_F16p16
| Fixed point matrix3 handler.
typedef struct _Eina_Matrix3 | Eina_Matrix3
| Floating point matrix3 handler.
typedef struct _Eina_Matrix4 | Eina_Matrix4
typedef struct _Eina_Matrix2 | Eina_Matrix2

## Enumerations
enum | _Eina_Matrix_Type { EINA_MATRIX_TYPE_IDENTITY, EINA_MATRIX_TYPE_AFFINE, EINA_MATRIX_TYPE_PROJECTIVE, EINA_MATRIX_TYPE_LAST }

## Functions
EAPI void | eina_matrix3_f16p16_identity (Eina_Matrix3_F16p16 *m)
| Set the given fixed point matrix to the identity matrix. More...
EAPI void | eina_matrix3_f16p16_compose (const Eina_Matrix3_F16p16 *m1, const Eina_Matrix3_F16p16 *m2, Eina_Matrix3_F16p16 *dst)
EAPI Eina_Matrix_Type | eina_matrix3_f16p16_type_get (const Eina_Matrix3_F16p16 *m)
| Return the type of the given fixed point matrix. More...
EAPI Eina_Matrix_Type | eina_matrix3_type_get (const Eina_Matrix3 *m)
| Return the type of the given floating point matrix. More...
EAPI void | eina_matrix3_values_set (Eina_Matrix3 *m, double xx, double xy, double xz, double yx, double yy, double yz, double zx, double zy, double zz)
| Set the values of the coefficients of the given floating point matrix. More...
EAPI void | eina_matrix3_values_get (const Eina_Matrix3 *m, double *xx, double *xy, double *xz, double *yx, double *yy, double *yz, double *zx, double *zy, double *zz)
| Get the values of the coefficients of the given floating point matrix. More...
EAPI void | eina_matrix3_fixed_values_get (const Eina_Matrix3 *m, Eina_F16p16 *xx, Eina_F16p16 *xy, Eina_F16p16 *xz, Eina_F16p16 *yx, Eina_F16p16 *yy, Eina_F16p16 *yz, Eina_F16p16 *zx, Eina_F16p16 *zy, Eina_F16p16 *zz)
| Get the values of the coefficients of the given fixed point matrix. More...
EAPI void | eina_matrix3_matrix3_f16p16_to (const Eina_Matrix3 *m, Eina_Matrix3_F16p16 *fm)
| Transform the given floating point matrix to the given fixed point matrix. More...
EAPI Eina_Bool | eina_matrix3_equal (const Eina_Matrix3 *m1, const Eina_Matrix3 *m2)
| Check whether the two given matrices are equal or not. More...
EAPI void | eina_matrix3_compose (const Eina_Matrix3 *m1, const Eina_Matrix3 *m2, Eina_Matrix3 *dst)
EAPI void | eina_matrix3_translate (Eina_Matrix3 *t, double tx, double ty)
| Set the matrix values for a translation. More...
EAPI void | eina_matrix3_scale (Eina_Matrix3 *t, double sx, double sy)
| Set the matrix values for a scale. More...
EAPI void | eina_matrix3_rotate (Eina_Matrix3 *t, double rad)
| Set the matrix values for a rotation. More...
EAPI void | eina_matrix3_identity (Eina_Matrix3 *t)
| Set the given floating point matrix to the identity matrix. More...
EAPI double | eina_matrix3_determinant (const Eina_Matrix3 *m)
| Return the determinant of the given matrix. More...
EAPI void | eina_matrix3_divide (Eina_Matrix3 *m, double scalar)
| Divide the given matrix by the given scalar. More...
EAPI void | eina_matrix3_inverse (const Eina_Matrix3 *m, Eina_Matrix3 *m2)
| Compute the inverse of the given matrix. More...
EAPI void | eina_matrix3_transpose (const Eina_Matrix3 *m, Eina_Matrix3 *a)
EAPI void | eina_matrix3_cofactor (const Eina_Matrix3 *m, Eina_Matrix3 *a)
EAPI void | eina_matrix3_adjoint (const Eina_Matrix3 *m, Eina_Matrix3 *a)
EAPI void | eina_matrix3_point_transform (const Eina_Matrix3 *m, double x, double y, double *xr, double *yr)
EAPI void | eina_matrix3_rectangle_transform (const Eina_Matrix3 *m, const Eina_Rectangle *r, const Eina_Quad *q)
EAPI Eina_Bool | eina_matrix3_quad_quad_map (Eina_Matrix3 *m, const Eina_Quad *src, const Eina_Quad *dst)
| Creates a projective matrix that maps a quadrangle to a quadrangle.
EAPI Eina_Bool | eina_matrix3_square_quad_map (Eina_Matrix3 *m, const Eina_Quad *q)
EAPI Eina_Bool | eina_matrix3_quad_square_map (Eina_Matrix3 *m, const Eina_Quad *q)
EAPI Eina_Matrix_Type | eina_matrix4_type_get (const Eina_Matrix4 *m)
| Return 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)
| Set 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)
| Get the values of the coefficients of the given floating point matrix. More...
EAPI double | eina_matrix4_determinant (const Eina_Matrix4 *m)
| Return the determinant of the given matrix. More...
EAPI Eina_Bool | eina_matrix4_normalized (Eina_Matrix4 *out, const Eina_Matrix4 *in)
| Return the determinant of the given matrix. More...
EAPI Eina_Bool | eina_matrix4_inverse (Eina_Matrix4 *out, const Eina_Matrix4 *in)
| Return the inverse of the given matrix. More...
EAPI void | eina_matrix4_transpose (Eina_Matrix4 *out, const Eina_Matrix4 *in)
| Return the transpose of the given matrix. More...
EAPI void | eina_matrix4_matrix3_to (Eina_Matrix3 *m3, const Eina_Matrix4 *m4)
| Convert an Eina_Matrix4 into an Eina_Matrix3. More...
EAPI void | eina_matrix3_matrix4_to (Eina_Matrix4 *m4, const Eina_Matrix3 *m3)
| Convert an Eina_Matrix3 into an Eina_Matrix4. More...
EAPI void | eina_matrix4_identity (Eina_Matrix4 *out)
| Set an identity matrix. More...
EAPI void | eina_matrix4_multiply_copy (Eina_Matrix4 *out, const Eina_Matrix4 *mat_a, const Eina_Matrix4 *mat_b)
| Multiply two matrix. More...
EAPI void | eina_matrix4_array_set (Eina_Matrix4 *m, const double *v)
| Set array to matrix. More...
EAPI void | eina_matrix4_copy (Eina_Matrix4 *dst, const Eina_Matrix4 *src)
| Copy matrix. More...
EAPI void | eina_matrix4_multiply (Eina_Matrix4 *out, const Eina_Matrix4 *mat_a, const Eina_Matrix4 *mat_b)
| Multiply 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)
| Set orthogonality matrix. More...
EAPI void | eina_matrix3_array_set (Eina_Matrix3 *m, const double *v)
| Set array to matrix. More...
EAPI void | eina_matrix3_copy (Eina_Matrix3 *dst, const Eina_Matrix3 *src)
| Copy matrix. More...
EAPI void | eina_matrix3_multiply (Eina_Matrix3 *out, const Eina_Matrix3 *mat_a, const Eina_Matrix3 *mat_b)
EAPI void | eina_matrix3_multiply_copy (Eina_Matrix3 *out, const Eina_Matrix3 *mat_a, const Eina_Matrix3 *mat_b)
| Multiply two matrix. More...
EAPI void | eina_matrix3_scale_transform_set (Eina_Matrix3 *out, double s_x, double s_y)
| Transform scale of matrix. More...
EAPI void | eina_matrix3_position_transform_set (Eina_Matrix3 *out, const double p_x, const double p_y)
| Transform position of matrix. More...
EAPI void | eina_normal3_matrix_get (Eina_Matrix3 *out, const Eina_Matrix4 *m)
| Set normal of the given matrix. More...
EAPI void | eina_matrix2_values_set (Eina_Matrix2 *m, double xx, double xy, double yx, double yy)
| Set 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)
| Get the values of the coefficients of the given floating point matrix. More...
EAPI void | eina_matrix2_inverse (Eina_Matrix2 *out, const Eina_Matrix2 *mat)
| Compute the inverse with check of the given matrix. More...
EAPI void | eina_matrix2_identity (Eina_Matrix2 *m)
| Set the given floating point matrix to the identity matrix. More...
EAPI void | eina_matrix2_array_set (Eina_Matrix2 *m, const double *v)
| Set array to matrix. More...
EAPI void | eina_matrix2_copy (Eina_Matrix2 *dst, const Eina_Matrix2 *src)
| Copy matrix. More...
EAPI void | eina_matrix2_multiply (Eina_Matrix2 *out, const Eina_Matrix2 *mat_a, const Eina_Matrix2 *mat_b)
| Multiply two matrix. More...
EAPI void | eina_matrix2_multiply_copy (Eina_Matrix2 *out, const Eina_Matrix2 *mat_a, const Eina_Matrix2 *mat_b)
| Multiply two matrix with check. More...
EAPI Eina_Matrix_Type | eina_matrix2_type_get (const Eina_Matrix2 *m)
| Return the type of the given floating point matrix. More...

## Detailed Description

{Eina_Matrix_Type} {Eina_Matrix3_F16p16} {Eina_Matrix3}