vector_angle.hpp
00001 
00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
00004 // Created : 2005-12-30
00005 // Updated : 2006-11-13
00006 // Licence : This source is under MIT License
00007 // File    : glm/gtx/vector_angle.hpp
00009 // Dependency:
00010 // - GLM core
00011 // - GLM_GTX_quaternion
00012 // - GLM_GTX_epsilon
00014 
00015 #ifndef glm_gtx_vector_angle
00016 #define glm_gtx_vector_angle
00017 
00018 // Dependency:
00019 #include "../glm.hpp"
00020 #include "../gtx/epsilon.hpp"
00021 #include "../gtx/quaternion.hpp"
00022 #include "../gtx/rotate_vector.hpp"
00023 
00024 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00025 #       pragma message("GLM: GLM_GTX_vector_angle extension included")
00026 #endif
00027 
00028 namespace glm{
00029 namespace gtx{
00030 namespace vector_angle 
00031 {
00032         using namespace quaternion;
00033         using namespace epsilon;
00034 
00037 
00041         template <typename vecType> 
00042         GLM_FUNC_QUALIFIER typename vecType::value_type angle(
00043                 vecType const & x, 
00044                 vecType const & y);
00045 
00049         template <typename T> 
00050         GLM_FUNC_QUALIFIER T orientedAngle(
00051                 detail::tvec2<T> const & x, 
00052                 detail::tvec2<T> const & y);
00053 
00057         template <typename T>
00058         GLM_FUNC_QUALIFIER T orientedAngle(
00059                 detail::tvec3<T> const & x,
00060                 detail::tvec3<T> const & y,
00061                 detail::tvec3<T> const & ref);
00062 
00064 }// namespace vector_angle
00065 }// namespace gtx
00066 }// namespace glm
00067 
00068 #include "vector_angle.inl"
00069 
00070 namespace glm{using namespace gtx::vector_angle;}
00071 
00072 #endif//glm_gtx_vector_angle