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 namespace glm
00024 {
00025 namespace test{
00026 void main_gtx_vector_angle();
00027 }
00028
00029 namespace gtx{
00031 namespace vector_angle
00032 {
00036 template <typename vecType>
00037 typename vecType::value_type angle(
00038 vecType const & x,
00039 vecType const & y);
00040
00044 template <typename vecType>
00045 typename vecType::value_type orientedAngle(
00046 vecType const & x,
00047 vecType const & y);
00048
00052 template <typename vecType>
00053 typename vecType::value_type orientedAngleFromRef(
00054 vecType const & x,
00055 vecType const & y,
00056 detail::tvec3<typename vecType::value_type> const & ref);
00057 }
00058 }
00059 }
00060
00061 #define GLM_GTX_vector_angle namespace gtx::quaternion; using namespace gtx::epsilon; using namespace gtx::vector_angle
00062 #ifndef GLM_GTX_GLOBAL
00063 namespace glm {using GLM_GTX_vector_angle;}
00064 #endif//GLM_GTX_GLOBAL
00065
00066 #include "vector_angle.inl"
00067
00068 #endif//glm_gtx_vector_angle