00001
00002
00004
00005
00006
00007
00009
00010
00012
00013 #ifndef glm_gtx_vector_query
00014 #define glm_gtx_vector_query
00015
00016
00017 #include "../glm.hpp"
00018 #include <cfloat>
00019 #include <limits>
00020
00021 namespace glm
00022 {
00023 namespace test{
00024 void main_ext_gtx_vector_query();
00025 }
00026
00027 namespace gtx{
00029 namespace vector_query
00030 {
00033 template <typename genType>
00034 bool areCollinear(
00035 const genType & v0,
00036 const genType & v1,
00037 const GLMvalType epsilon = std::numeric_limits<GLMvalType>::epsilon());
00038
00041 template <typename genType>
00042 bool areOpposite(
00043 const genType & v0,
00044 const genType & v1,
00045 const GLMvalType epsilon = std::numeric_limits<GLMvalType>::epsilon());
00046
00049 template <typename genType>
00050 bool areOrthogonal(
00051 const genType & v0,
00052 const genType & v1,
00053 const GLMvalType epsilon = std::numeric_limits<GLMvalType>::epsilon());
00054
00057 template <typename genType>
00058 bool isNormalized(
00059 const genType & v,
00060 const GLMvalType epsilon = std::numeric_limits<GLMvalType>::epsilon());
00061
00064 template <typename genType>
00065 bool isNull(
00066 const genType& v,
00067 const GLMvalType epsilon = std::numeric_limits<GLMvalType>::epsilon());
00068
00071 template <typename genType>
00072 bool areOrthonormal(
00073 const genType & v0,
00074 const genType & v1,
00075 const GLMvalType epsilon = std::numeric_limits<GLMvalType>::epsilon());
00076
00079 template <typename genType>
00080 bool areSimilar(
00081 const genType& v0,
00082 const genType& v1,
00083 const GLMvalType epsilon = std::numeric_limits<GLMvalType>::epsilon());
00084
00085 }
00086 }
00087 }
00088
00089 #define GLM_GTX_vector_query namespace gtx::vector_query
00090 #ifndef GLM_GTX_GLOBAL
00091 namespace glm {using GLM_GTX_vector_query;}
00092 #endif//GLM_GTX_GLOBAL
00093
00094 #include "vector_query.inl"
00095
00096 #endif//glm_gtx_vector_query