diff options
Diffstat (limited to 'tests/gtests/blenkernel/BKE_armature_test.cc')
-rw-r--r-- | tests/gtests/blenkernel/BKE_armature_test.cc | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/tests/gtests/blenkernel/BKE_armature_test.cc b/tests/gtests/blenkernel/BKE_armature_test.cc deleted file mode 100644 index ed6045081d4..00000000000 --- a/tests/gtests/blenkernel/BKE_armature_test.cc +++ /dev/null @@ -1,89 +0,0 @@ -/* - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2020 Blender Foundation - * All rights reserved. - */ - -#include "BKE_armature.h" - -#include "BLI_math.h" - -#include "testing/testing.h" - -static const float FLOAT_EPSILON = 1.2e-7; - -TEST(mat3_vec_to_roll, UnitMatrix) -{ - float unit_matrix[3][3]; - float roll; - - unit_m3(unit_matrix); - - // Any vector with a unit matrix should return zero roll. - mat3_vec_to_roll(unit_matrix, unit_matrix[0], &roll); - EXPECT_FLOAT_EQ(0.0f, roll); - - mat3_vec_to_roll(unit_matrix, unit_matrix[1], &roll); - EXPECT_FLOAT_EQ(0.0f, roll); - - mat3_vec_to_roll(unit_matrix, unit_matrix[2], &roll); - EXPECT_FLOAT_EQ(0.0f, roll); - - { - // Non-unit vector. - float vector[3] = {1.0f, 1.0f, 1.0f}; - mat3_vec_to_roll(unit_matrix, vector, &roll); - EXPECT_NEAR(0.0f, roll, FLOAT_EPSILON); - - // Normalized version of the above vector. - normalize_v3(vector); - mat3_vec_to_roll(unit_matrix, vector, &roll); - EXPECT_NEAR(0.0f, roll, FLOAT_EPSILON); - } -} - -TEST(mat3_vec_to_roll, Rotationmatrix) -{ - float rotation_matrix[3][3]; - float roll; - - const float rot_around_x[3] = {1.234f, 0.0f, 0.0f}; - eul_to_mat3(rotation_matrix, rot_around_x); - - { - const float unit_axis_x[3] = {1.0f, 0.0f, 0.0f}; - mat3_vec_to_roll(rotation_matrix, unit_axis_x, &roll); - EXPECT_NEAR(1.234f, roll, FLOAT_EPSILON); - } - - { - const float unit_axis_y[3] = {0.0f, 1.0f, 0.0f}; - mat3_vec_to_roll(rotation_matrix, unit_axis_y, &roll); - EXPECT_NEAR(0, roll, FLOAT_EPSILON); - } - - { - const float unit_axis_z[3] = {0.0f, 0.0f, 1.0f}; - mat3_vec_to_roll(rotation_matrix, unit_axis_z, &roll); - EXPECT_NEAR(0, roll, FLOAT_EPSILON); - } - - { - const float between_x_and_y[3] = {1.0f, 1.0f, 0.0f}; - mat3_vec_to_roll(rotation_matrix, between_x_and_y, &roll); - EXPECT_NEAR(0.57158958f, roll, FLOAT_EPSILON); - } -} |