vector_query.hpp
00001 
00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
00004 // Created : 2007-03-05
00005 // Updated : 2007-03-05
00006 // Licence : This source is under MIT License
00007 // File    : glm/gtx/vector_query.hpp
00009 // Dependency:
00010 // - GLM core
00012 
00013 #ifndef glm_gtx_vector_query
00014 #define glm_gtx_vector_query
00015 
00016 // Dependency:
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 namespace gtx{
00027 namespace vector_query 
00028 {
00031 
00034         template <typename genType> 
00035         bool areCollinear(
00036                 genType const & v0, 
00037                 genType const & v1, 
00038                 typename genType::value_type const & epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
00039                 
00042         template <typename genType> 
00043         bool areOpposite(
00044                 genType const & v0, 
00045                 genType const & v1, 
00046                 typename genType::value_type const & epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
00047                 
00050         template <typename genType> 
00051         bool areOrthogonal(
00052                 genType const & v0, 
00053                 genType const & v1, 
00054                 typename genType::value_type const & epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
00055 
00058         template <typename genType> 
00059         bool isNormalized(
00060                 genType const & v, 
00061                 typename genType::value_type const & epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
00062                 
00065         template <typename genType> 
00066         bool isNull(
00067                 genType const & v, 
00068                 typename genType::value_type const & epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
00069 
00072         template <typename genType>
00073         bool areOrthonormal(
00074                 genType const & v0, 
00075                 genType const & v1, 
00076                 typename genType::value_type const & epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
00077 
00080         template <typename genType> 
00081         bool areSimilar(
00082                 genType const & v0, 
00083                 genType const & v1, 
00084                 typename genType::value_type const & epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
00085 
00087 }// namespace vector_query
00088 }// namespace gtx
00089 }// namespace glm
00090 
00091 #include "vector_query.inl"
00092 
00093 namespace glm{using namespace gtx::vector_query;}
00094 
00095 #endif//glm_gtx_vector_query