matrix_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/matrix_query.hpp
00009 // Dependency:
00010 // - GLM core
00012 
00013 #ifndef glm_gtx_matrix_query
00014 #define glm_gtx_matrix_query
00015 
00016 // Dependency:
00017 #include "../glm.hpp"
00018 
00019 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00020 #       pragma message("GLM: GLM_GTX_matrix_query extension included")
00021 #endif
00022 
00023 namespace glm{
00024 namespace gtx{
00025 namespace matrix_query 
00026 {
00029 
00032         template<typename T> 
00033         bool isNull(
00034                 const detail::tmat2x2<T>& m, 
00035                 const T epsilon = std::numeric_limits<T>::epsilon());
00036                 
00039         template<typename T> 
00040         bool isNull(
00041                 const detail::tmat3x3<T>& m, 
00042                 const T epsilon = std::numeric_limits<T>::epsilon());
00043                 
00046         template<typename T> 
00047         bool isNull(
00048                 const detail::tmat4x4<T>& m, 
00049                 const T epsilon = std::numeric_limits<T>::epsilon());
00050                         
00053         template<typename genType> 
00054         bool isIdentity(
00055                 const genType& m, 
00056                 const typename genType::value_type epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
00057 
00060         template<typename T> 
00061         bool isNormalized(
00062                 const detail::tmat2x2<T>& m, 
00063                 const T epsilon = std::numeric_limits<T>::epsilon());
00064                 
00067         template<typename T> 
00068         bool isNormalized(
00069                 const detail::tmat3x3<T>& m, 
00070                 const T epsilon = std::numeric_limits<T>::epsilon());
00071                 
00074         template<typename T> 
00075         bool isNormalized(
00076                 const detail::tmat4x4<T>& m, 
00077                 const T epsilon = std::numeric_limits<T>::epsilon());
00078 
00081         template<typename genType> 
00082         bool isOrthogonal(
00083                 const genType& m, 
00084                 const typename genType::value_type epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
00085 
00087 }//namespace matrix_query
00088 }//namespace gtx
00089 }//namespace glm
00090 
00091 #include "matrix_query.inl"
00092 
00093 namespace glm{using namespace gtx::matrix_query;}
00094 
00095 #endif//glm_gtx_matrix_query