quat: add tests for quat_rotatev

This commit is contained in:
Recep Aslantas
2020-02-21 10:51:53 +03:00
parent 2278eba93c
commit 6aa8df8e9b
2 changed files with 87 additions and 0 deletions

View File

@@ -805,3 +805,86 @@ TEST_IMPL(GLM_PREFIX, quat_forp) {
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, quat_rotatev) {
vec3 v1 = {1.0f, 0.0f, 0.0f}, v2 = {1.0f, 1.0f, 1.0f};
versor q;
/* rotate X around Y = -Z */
glm_quatv(q, GLM_PI_2f, GLM_YUP);
GLM(quat_rotatev)(q, v1, v1);
ASSERT(test_eq(v1[0], 0.0f))
ASSERT(test_eq(v1[1], 0.0f))
ASSERT(test_eq(v1[2], -1.0f))
/* rotate -Z around X = Y */
glm_quatv(q, GLM_PI_2f, GLM_XUP);
GLM(quat_rotatev)(q, v1, v1);
ASSERT(test_eq(v1[0], 0.0f))
ASSERT(test_eq(v1[1], 1.0f))
ASSERT(test_eq(v1[2], 0.0f))
/* rotate Y around Z = -X */
glm_quatv(q, GLM_PI_2f, GLM_ZUP);
GLM(quat_rotatev)(q, v1, v1);
ASSERT(test_eq(v1[0], -1.0f))
ASSERT(test_eq(v1[1], 0.0f))
ASSERT(test_eq(v1[2], 0.0f))
/* rotate v2 around Y by 90deg */
glm_quatv(q, GLM_PI_2f, GLM_YUP);
GLM(quat_rotatev)(q, v2, v2);
ASSERT(test_eq(v2[0], 1.0f))
ASSERT(test_eq(v2[1], 1.0f))
ASSERT(test_eq(v2[2], -1.0f))
/* rotate v2 around Y by 90deg */
glm_quatv(q, GLM_PI_2f, GLM_YUP);
GLM(quat_rotatev)(q, v2, v2);
ASSERT(test_eq(v2[0], -1.0f))
ASSERT(test_eq(v2[1], 1.0f))
ASSERT(test_eq(v2[2], -1.0f))
/* rotate v2 around Y by 90deg */
glm_quatv(q, GLM_PI_2f, GLM_YUP);
GLM(quat_rotatev)(q, v2, v2);
ASSERT(test_eq(v2[0], -1.0f))
ASSERT(test_eq(v2[1], 1.0f))
ASSERT(test_eq(v2[2], 1.0f))
/* rotate v2 around X by 90deg */
glm_quatv(q, GLM_PI_2f, GLM_XUP);
GLM(quat_rotatev)(q, v2, v2);
ASSERT(test_eq(v2[0], -1.0f))
ASSERT(test_eq(v2[1], -1.0f))
ASSERT(test_eq(v2[2], 1.0f))
/* rotate v2 around Z by 90deg */
glm_quatv(q, GLM_PI_2f, GLM_ZUP);
GLM(quat_rotatev)(q, v2, v2);
ASSERT(test_eq(v2[0], 1.0f))
ASSERT(test_eq(v2[1], -1.0f))
ASSERT(test_eq(v2[2], 1.0f))
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, quat_rotate) {
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, quat_rotate_at) {
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, quat_rotate_atm) {
TEST_SUCCESS
}

View File

@@ -165,6 +165,7 @@ TEST_DECLARE(glm_quat_slerp)
TEST_DECLARE(glm_quat_look)
TEST_DECLARE(glm_quat_for)
TEST_DECLARE(glm_quat_forp)
TEST_DECLARE(glm_quat_rotatev)
TEST_DECLARE(glmc_quat_identity)
TEST_DECLARE(glmc_quat_identity_array)
@@ -197,6 +198,7 @@ TEST_DECLARE(glmc_quat_slerp)
TEST_DECLARE(glmc_quat_look)
TEST_DECLARE(glmc_quat_for)
TEST_DECLARE(glmc_quat_forp)
TEST_DECLARE(glmc_quat_rotatev)
/* bezier */
TEST_DECLARE(bezier)
@@ -677,6 +679,7 @@ TEST_LIST {
TEST_ENTRY(glm_quat_look)
TEST_ENTRY(glm_quat_for)
TEST_ENTRY(glm_quat_forp)
TEST_ENTRY(glm_quat_rotatev)
TEST_ENTRY(glmc_quat_identity)
TEST_ENTRY(glmc_quat_identity_array)
@@ -709,6 +712,7 @@ TEST_LIST {
TEST_ENTRY(glmc_quat_look)
TEST_ENTRY(glmc_quat_for)
TEST_ENTRY(glmc_quat_forp)
TEST_ENTRY(glmc_quat_rotatev)
/* bezier */
TEST_ENTRY(bezier)