1.0.0 API documentation
matrix_operation.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 
18 #ifndef GLM_ENABLE_EXPERIMENTAL
19 # error "GLM: GLM_GTX_matrix_operation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
20 #elif GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
21 # pragma message("GLM: GLM_GTX_matrix_operation extension included")
22 #endif
23 
24 namespace glm
25 {
28 
31  template<typename T, qualifier Q>
32  GLM_FUNC_DECL mat<2, 2, T, Q> diagonal2x2(
33  vec<2, T, Q> const& v);
34 
37  template<typename T, qualifier Q>
38  GLM_FUNC_DECL mat<2, 3, T, Q> diagonal2x3(
39  vec<2, T, Q> const& v);
40 
43  template<typename T, qualifier Q>
44  GLM_FUNC_DECL mat<2, 4, T, Q> diagonal2x4(
45  vec<2, T, Q> const& v);
46 
49  template<typename T, qualifier Q>
50  GLM_FUNC_DECL mat<3, 2, T, Q> diagonal3x2(
51  vec<2, T, Q> const& v);
52 
55  template<typename T, qualifier Q>
56  GLM_FUNC_DECL mat<3, 3, T, Q> diagonal3x3(
57  vec<3, T, Q> const& v);
58 
61  template<typename T, qualifier Q>
62  GLM_FUNC_DECL mat<3, 4, T, Q> diagonal3x4(
63  vec<3, T, Q> const& v);
64 
67  template<typename T, qualifier Q>
68  GLM_FUNC_DECL mat<4, 2, T, Q> diagonal4x2(
69  vec<2, T, Q> const& v);
70 
73  template<typename T, qualifier Q>
74  GLM_FUNC_DECL mat<4, 3, T, Q> diagonal4x3(
75  vec<3, T, Q> const& v);
76 
79  template<typename T, qualifier Q>
80  GLM_FUNC_DECL mat<4, 4, T, Q> diagonal4x4(
81  vec<4, T, Q> const& v);
82 
85  template<typename T, qualifier Q>
86  GLM_FUNC_DECL mat<2, 2, T, Q> adjugate(mat<2, 2, T, Q> const& m);
87 
90  template<typename T, qualifier Q>
91  GLM_FUNC_DECL mat<3, 3, T, Q> adjugate(mat<3, 3, T, Q> const& m);
92 
95  template<typename T, qualifier Q>
96  GLM_FUNC_DECL mat<4, 4, T, Q> adjugate(mat<4, 4, T, Q> const& m);
97 
99 }//namespace glm
100 
101 #include "matrix_operation.inl"
glm::diagonal4x3
GLM_FUNC_DECL mat< 4, 3, T, Q > diagonal4x3(vec< 3, T, Q > const &v)
Build a diagonal matrix.
glm::diagonal3x3
GLM_FUNC_DECL mat< 3, 3, T, Q > diagonal3x3(vec< 3, T, Q > const &v)
Build a diagonal matrix.
glm::adjugate
GLM_FUNC_DECL mat< 4, 4, T, Q > adjugate(mat< 4, 4, T, Q > const &m)
Build an adjugate matrix.
glm::diagonal2x4
GLM_FUNC_DECL mat< 2, 4, T, Q > diagonal2x4(vec< 2, T, Q > const &v)
Build a diagonal matrix.
glm::diagonal2x2
GLM_FUNC_DECL mat< 2, 2, T, Q > diagonal2x2(vec< 2, T, Q > const &v)
Build a diagonal matrix.
glm::diagonal2x3
GLM_FUNC_DECL mat< 2, 3, T, Q > diagonal2x3(vec< 2, T, Q > const &v)
Build a diagonal matrix.
glm::diagonal4x2
GLM_FUNC_DECL mat< 4, 2, T, Q > diagonal4x2(vec< 2, T, Q > const &v)
Build a diagonal matrix.
glm::diagonal3x4
GLM_FUNC_DECL mat< 3, 4, T, Q > diagonal3x4(vec< 3, T, Q > const &v)
Build a diagonal matrix.
glm::diagonal3x2
GLM_FUNC_DECL mat< 3, 2, T, Q > diagonal3x2(vec< 2, T, Q > const &v)
Build a diagonal matrix.
glm::diagonal4x4
GLM_FUNC_DECL mat< 4, 4, T, Q > diagonal4x4(vec< 4, T, Q > const &v)
Build a diagonal matrix.