00001
00002
00004
00005
00006
00007
00009
00010
00012
00013 #ifndef glm_gtx_matrix_query
00014 #define glm_gtx_matrix_query
00015
00016
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 }
00088 }
00089 }
00090
00091 #include "matrix_query.inl"
00092
00093 namespace glm{using namespace gtx::matrix_query;}
00094
00095 #endif//glm_gtx_matrix_query