matrix_query.hpp
Go to the documentation of this file.
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 #ifndef GLM_GTX_matrix_query
40 #define GLM_GTX_matrix_query GLM_VERSION
41 
42 // Dependency:
43 #include "../glm.hpp"
44 #include "../gtx/vector_query.hpp"
45 #include <limits>
46 
47 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
48 # pragma message("GLM: GLM_GTX_matrix_query extension included")
49 #endif
50 
51 namespace glm
52 {
55 
58  template<typename T>
59  bool isNull(
60  detail::tmat2x2<T> const & m,
61  T const & epsilon/* = std::numeric_limits<T>::epsilon()*/);
62 
65  template<typename T>
66  bool isNull(
67  detail::tmat3x3<T> const & m,
68  T const & epsilon/* = std::numeric_limits<T>::epsilon()*/);
69 
72  template<typename T>
73  bool isNull(
74  detail::tmat4x4<T> const & m,
75  T const & epsilon/* = std::numeric_limits<T>::epsilon()*/);
76 
79  template<typename genType>
80  bool isIdentity(
81  genType const & m,
82  typename genType::value_type const & epsilon/* = std::numeric_limits<typename genType::value_type>::epsilon()*/);
83 
86  template<typename valType>
87  bool isNormalized(
88  detail::tmat2x2<valType> const & m,
89  valType const & epsilon/* = std::numeric_limits<valType>::epsilon()*/);
90 
93  template<typename valType>
94  bool isNormalized(
95  detail::tmat3x3<valType> const & m,
96  valType const & epsilon/* = std::numeric_limits<valType>::epsilon()*/);
97 
100  template<typename valType>
101  bool isNormalized(
102  detail::tmat4x4<valType> const & m,
103  valType const & epsilon/* = std::numeric_limits<valType>::epsilon()*/);
104 
107  template<typename valType, template <typename> class matType>
108  bool isOrthogonal(
109  matType<valType> const & m,
110  valType const & epsilon/* = std::numeric_limits<genType>::epsilon()*/);
111 
113 }//namespace glm
114 
115 #include "matrix_query.inl"
116 
117 #endif//GLM_GTX_matrix_query