Added 'angle' tests

This commit is contained in:
Christophe Riccio 2011-05-17 18:16:48 +01:00
parent a1d4b1da22
commit 3d4b649bd5
2 changed files with 15 additions and 13 deletions

View File

@ -40,7 +40,7 @@ namespace vector_angle
//! Parameters need to be normalized.
//! From GLM_GTX_vector_angle extension
template <typename vecType>
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>
typename T orientedAngle(
GLM_FUNC_QUALIFIER T orientedAngle(
detail::tvec2<T> const & x,
detail::tvec2<T> const & y);
@ -56,7 +56,7 @@ namespace vector_angle
//! Parameters need to be normalized.
//! From GLM_GTX_vector_angle extension.
template <typename T>
typename vecType<T> orientedAngle(
GLM_FUNC_QUALIFIER T orientedAngle(
detail::tvec3<T> const & x,
detail::tvec3<T> const & y,
detail::tvec3<T> const & ref);

View File

@ -12,14 +12,16 @@
#include <iostream>
#include <limits>
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));
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;
}
@ -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;
}