diff options
author | Cedric BAIL <cedric@osg.samsung.com> | 2015-06-24 15:31:32 +0200 |
---|---|---|
committer | Cedric BAIL <cedric@osg.samsung.com> | 2015-08-21 16:37:16 +0200 |
commit | 32cbc04f96c785290683c4836f626fe10a29093f (patch) | |
tree | daa24600c07de7186355068fbc245f6136ebb7f6 | |
parent | 10f8149115cd8b3c43270888f72546dfb6bfc609 (diff) | |
download | efl-32cbc04f96c785290683c4836f626fe10a29093f.tar.gz |
eina: our 3x3 matrix are 2D matrix, not 3D rotation matrix.
-rw-r--r-- | src/lib/eina/eina_matrix.c | 30 | ||||
-rw-r--r-- | src/tests/eina/eina_test_matrix.c | 19 |
2 files changed, 24 insertions, 25 deletions
diff --git a/src/lib/eina/eina_matrix.c b/src/lib/eina/eina_matrix.c index 8e2d0beb98..6c96893927 100644 --- a/src/lib/eina/eina_matrix.c +++ b/src/lib/eina/eina_matrix.c @@ -664,13 +664,13 @@ eina_matrix4_matrix3_to(Eina_Matrix3 *m3, const Eina_Matrix4 *m4) { MATRIX_XX(m3) = MATRIX_XX(m4); MATRIX_XY(m3) = MATRIX_XY(m4); - MATRIX_XZ(m3) = MATRIX_XZ(m4); + MATRIX_XZ(m3) = MATRIX_XW(m4); MATRIX_YX(m3) = MATRIX_YX(m4); MATRIX_YY(m3) = MATRIX_YY(m4); - MATRIX_YZ(m3) = MATRIX_YZ(m4); - MATRIX_ZX(m3) = MATRIX_ZX(m4); - MATRIX_ZY(m3) = MATRIX_ZY(m4); - MATRIX_ZZ(m3) = MATRIX_ZZ(m4); + MATRIX_YZ(m3) = MATRIX_YW(m4); + MATRIX_ZX(m3) = MATRIX_WX(m4); + MATRIX_ZY(m3) = MATRIX_WY(m4); + MATRIX_ZZ(m3) = MATRIX_WW(m4); } EAPI void @@ -678,18 +678,18 @@ eina_matrix3_matrix4_to(Eina_Matrix4 *m4, const Eina_Matrix3 *m3) { MATRIX_XX(m4) = MATRIX_XX(m3); MATRIX_XY(m4) = MATRIX_XY(m3); - MATRIX_XZ(m4) = MATRIX_XZ(m3); - MATRIX_XW(m4) = 0; + MATRIX_XZ(m4) = 0; + MATRIX_XW(m4) = MATRIX_XZ(m3); MATRIX_YX(m4) = MATRIX_YX(m3); MATRIX_YY(m4) = MATRIX_YY(m3); - MATRIX_YZ(m4) = MATRIX_YZ(m3); - MATRIX_YW(m4) = 0; - MATRIX_ZX(m4) = MATRIX_ZX(m3); - MATRIX_ZY(m4) = MATRIX_ZY(m3); - MATRIX_ZZ(m4) = MATRIX_ZZ(m3); + MATRIX_YZ(m4) = 0; + MATRIX_YW(m4) = MATRIX_YZ(m3); + MATRIX_ZX(m4) = 0; + MATRIX_ZY(m4) = 0; + MATRIX_ZZ(m4) = 1; MATRIX_ZW(m4) = 0; - MATRIX_WX(m4) = 0; - MATRIX_WY(m4) = 0; + MATRIX_WX(m4) = MATRIX_ZX(m3); + MATRIX_WY(m4) = MATRIX_ZY(m3); MATRIX_WZ(m4) = 0; - MATRIX_WW(m4) = 1; + MATRIX_WW(m4) = MATRIX_ZZ(m3); } diff --git a/src/tests/eina/eina_test_matrix.c b/src/tests/eina/eina_test_matrix.c index af1e005c78..51cf9d8205 100644 --- a/src/tests/eina/eina_test_matrix.c +++ b/src/tests/eina/eina_test_matrix.c @@ -72,21 +72,20 @@ END_TEST START_TEST(eina_matrix4_2_3) { - Eina_Matrix4 m4, m4b; - Eina_Matrix3 m3; + Eina_Matrix4 m4; + Eina_Matrix3 m3, m3b; eina_init(); - eina_matrix4_values_set(&m4, - 1, 3, 2, 0, - 3, 1, 4, 0, - 2, 4, 1, 0, - 0, 0, 0, 1); + eina_matrix3_values_set(&m3, + 1, 3, 2, + 3, 1, 4, + 2, 4, 1); - eina_matrix4_matrix3_to(&m3, &m4); - eina_matrix3_matrix4_to(&m4b, &m3); + eina_matrix3_matrix4_to(&m4, &m3); + eina_matrix4_matrix3_to(&m3b, &m4); - fail_if(memcmp(&m4, &m4b, sizeof (Eina_Matrix4)) != 0); + fail_if(memcmp(&m3, &m3b, sizeof (Eina_Matrix3)) != 0); eina_shutdown(); } |