From 3d4b649bd5bede8ba83ae58154655edafb94576c Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Tue, 17 May 2011 18:16:48 +0100 Subject: [PATCH] Added 'angle' tests --- glm/gtx/vector_angle.hpp | 6 +++--- test/gtx/gtx_vector_angle.cpp | 22 ++++++++++++---------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/glm/gtx/vector_angle.hpp b/glm/gtx/vector_angle.hpp index 154fc793..0d1acbf5 100644 --- a/glm/gtx/vector_angle.hpp +++ b/glm/gtx/vector_angle.hpp @@ -40,7 +40,7 @@ namespace vector_angle //! Parameters need to be normalized. //! From GLM_GTX_vector_angle extension template - typename vecType::value_type angle( + GLM_FUNC_QUALIFIER typename vecType::value_type angle( vecType const & x, vecType const & y); @@ -48,7 +48,7 @@ namespace vector_angle //! Parameters need to be normalized. //! From GLM_GTX_vector_angle extension. template - typename T orientedAngle( + GLM_FUNC_QUALIFIER T orientedAngle( detail::tvec2 const & x, detail::tvec2 const & y); @@ -56,7 +56,7 @@ namespace vector_angle //! Parameters need to be normalized. //! From GLM_GTX_vector_angle extension. template - typename vecType orientedAngle( + GLM_FUNC_QUALIFIER T orientedAngle( detail::tvec3 const & x, detail::tvec3 const & y, detail::tvec3 const & ref); diff --git a/test/gtx/gtx_vector_angle.cpp b/test/gtx/gtx_vector_angle.cpp index 300c8099..a75666a4 100644 --- a/test/gtx/gtx_vector_angle.cpp +++ b/test/gtx/gtx_vector_angle.cpp @@ -12,16 +12,18 @@ #include #include -int test_vector_angle_calls() +int test_angle() { - int Error = 0; - - float AngleA = glm::angle(glm::vec3(1, 0, 0), glm::vec3(0, 1, 0)); - float AngleB = glm::orientedAngle(glm::vec2(1, 0), glm::normalize(glm::vec2(1, 1))); - float AngleC = glm::orientedAngle(glm::vec2(0, 1), glm::normalize(glm::vec2(1, 1))); - float AngleD = glm::orientedAngle(glm::vec3(1, 0, 0), glm::vec3(0, 1, 0), glm::vec3(0, 0, 1)); - - return Error; + int Error = 0; + + float AngleA = glm::angle(glm::vec2(1, 0), glm::normalize(glm::vec2(1, 1))); + Error += glm::equalEpsilon(AngleA, 45.f, 0.01f) ? 0 : 1; + float AngleB = glm::angle(glm::vec3(1, 0, 0), glm::normalize(glm::vec3(1, 1, 0))); + Error += glm::equalEpsilon(AngleB, 45.f, 0.01f) ? 0 : 1; + float AngleC = glm::angle(glm::vec4(1, 0, 0, 0), glm::normalize(glm::vec4(1, 1, 0, 0))); + Error += glm::equalEpsilon(AngleC, 45.f, 0.01f) ? 0 : 1; + + return Error; } int test_orientedAngle_vec2() @@ -55,9 +57,9 @@ int test_orientedAngle_vec3() int main() { int Error = 0; + Error += test_angle(); Error += test_orientedAngle_vec2(); Error += test_orientedAngle_vec3(); - Error += test_vector_angle_calls(); return Error; }