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