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 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00022 # pragma message("GLM: GLM_GTX_vector_query extension included")
00023 #endif
00024
00025 namespace glm
00026 {
00027 namespace test{
00028 void main_ext_gtx_vector_query();
00029 }
00030
00031 namespace gtx{
00033 namespace vector_query
00034 {
00037
00040 template <typename genType>
00041 bool areCollinear(
00042 genType const & v0,
00043 genType const & v1,
00044 typename genType::value_type const & epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
00045
00048 template <typename genType>
00049 bool areOpposite(
00050 genType const & v0,
00051 genType const & v1,
00052 typename genType::value_type const & epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
00053
00056 template <typename genType>
00057 bool areOrthogonal(
00058 genType const & v0,
00059 genType const & v1,
00060 typename genType::value_type const & epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
00061
00064 template <typename genType>
00065 bool isNormalized(
00066 genType const & v,
00067 typename genType::value_type const & epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
00068
00071 template <typename genType>
00072 bool isNull(
00073 genType const & v,
00074 typename genType::value_type const & epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
00075
00078 template <typename genType>
00079 bool areOrthonormal(
00080 genType const & v0,
00081 genType const & v1,
00082 typename genType::value_type const & epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
00083
00086 template <typename genType>
00087 bool areSimilar(
00088 genType const & v0,
00089 genType const & v1,
00090 typename genType::value_type const & epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
00091
00093
00094 }
00095 }
00096 }
00097
00098 #include "vector_query.inl"
00099
00100 namespace glm{using namespace gtx::vector_query;}
00101
00102 #endif//glm_gtx_vector_query