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 {
00027         namespace test{
00028                 void main_ext_gtx_vector_query();
00029         }//namespace test
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     }//namespace vector_query
00095     }//namespace gtx
00096 }//namespace glm
00097 
00098 #include "vector_query.inl"
00099 
00100 namespace glm{using namespace gtx::vector_query;}
00101 
00102 #endif//glm_gtx_vector_query