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 #include <limits>
00020
00021 namespace glm
00022 {
00023 namespace test{
00024 void main_gtx_matrix_query();
00025 }
00026
00027 namespace gtx{
00029 namespace matrix_query
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
00087 }
00088 }
00089 }
00090
00091 #define GLM_GTX_matrix_query namespace gtx::matrix_query
00092 #ifndef GLM_GTX_GLOBAL
00093 namespace glm {using GLM_GTX_matrix_query;}
00094 #endif//GLM_GTX_GLOBAL
00095
00096 #include "matrix_query.inl"
00097
00098 #endif//glm_gtx_matrix_query