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 {
00025 namespace test{
00026 void main_gtx_matrix_query();
00027 }
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 }
00094 }
00095 }
00096
00097 #include "matrix_query.inl"
00098
00099 namespace glm{using namespace gtx::matrix_query;}
00100
00101 #endif//glm_gtx_matrix_query