cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c82015d0625448160b4e0320babdacdbbd80765d
commit c82015d0625448160b4e0320babdacdbbd80765d Author: Cedric BAIL <ced...@osg.samsung.com> Date: Wed Jun 24 15:31:32 2015 +0200 eina: our 3x3 matrix are 2D matrix, not 3D rotation matrix. --- src/lib/eina/eina_matrix.c | 30 +++++++++++++++--------------- 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 8e2d0be..6c96893 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 af1e005..51cf9d8 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(); } --