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 {
00025         namespace test{
00026                 void main_gtx_matrix_query();
00027         }//namespace test
00028 
00029         namespace gtx{
00031         namespace matrix_query
00032         {
00035 
00038                 template<typename T> 
00039                 bool isNull(
00040                         const detail::tmat2x2<T>& m, 
00041                         const T epsilon = std::numeric_limits<T>::epsilon());
00042                 
00045                 template<typename T> 
00046                 bool isNull(
00047                         const detail::tmat3x3<T>& m, 
00048                         const T epsilon = std::numeric_limits<T>::epsilon());
00049                 
00052                 template<typename T> 
00053                 bool isNull(
00054                         const detail::tmat4x4<T>& m, 
00055                         const T epsilon = std::numeric_limits<T>::epsilon());
00056                         
00059                 template<typename genType> 
00060                 bool isIdentity(
00061                         const genType& m, 
00062                         const typename genType::value_type epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
00063 
00066                 template<typename T> 
00067                 bool isNormalized(
00068                         const detail::tmat2x2<T>& m, 
00069                         const T epsilon = std::numeric_limits<T>::epsilon());
00070                 
00073                 template<typename T> 
00074                 bool isNormalized(
00075                         const detail::tmat3x3<T>& m, 
00076                         const T epsilon = std::numeric_limits<T>::epsilon());
00077                 
00080                 template<typename T> 
00081                 bool isNormalized(
00082                         const detail::tmat4x4<T>& m, 
00083                         const T epsilon = std::numeric_limits<T>::epsilon());
00084 
00087                 template<typename genType> 
00088                 bool isOrthogonal(
00089                         const genType& m, 
00090                         const typename genType::value_type epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
00091 
00093         }//namespace matrix_query
00094         }//namespace gtx
00095 }//namespace glm
00096 
00097 #include "matrix_query.inl"
00098 
00099 namespace glm{using namespace gtx::matrix_query;}
00100 
00101 #endif//glm_gtx_matrix_query