00001
00002
00004
00005
00006
00007
00009
00010
00011
00012
00014
00015 #ifndef glm_gtx_vector_angle
00016 #define glm_gtx_vector_angle
00017
00018
00019 #include "../glm.hpp"
00020 #include "../gtx/quaternion.hpp"
00021 #include "../gtx/epsilon.hpp"
00022
00023 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00024 # pragma message("GLM: GLM_GTX_vector_angle extension included")
00025 #endif
00026
00027 namespace glm
00028 {
00029 namespace test{
00030 void main_gtx_vector_angle();
00031 }
00032
00033 namespace gtx{
00035 namespace vector_angle
00036 {
00037 using namespace quaternion;
00038 using namespace epsilon;
00039
00042
00046 template <typename vecType>
00047 typename vecType::value_type angle(
00048 vecType const & x,
00049 vecType const & y);
00050
00054 template <typename vecType>
00055 typename vecType::value_type orientedAngle(
00056 vecType const & x,
00057 vecType const & y);
00058
00062 template <typename vecType>
00063 typename vecType::value_type orientedAngleFromRef(
00064 vecType const & x,
00065 vecType const & y,
00066 detail::tvec3<typename vecType::value_type> const & ref);
00067
00069 }
00070 }
00071 }
00072
00073 #include "vector_angle.inl"
00074
00075 namespace glm{using namespace gtx::vector_angle;}
00076
00077 #endif//glm_gtx_vector_angle