FlukyEngine
matrix_operation.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # ifndef GLM_ENABLE_EXPERIMENTAL
20 # pragma message("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.")
21 # else
22 # pragma message("GLM: GLM_GTX_matrix_operation extension included")
23 # endif
24 #endif
25 
26 namespace glm
27 {
30 
33  template<typename T, qualifier Q>
34  GLM_FUNC_DECL mat<2, 2, T, Q> diagonal2x2(
35  vec<2, T, Q> const& v);
36 
39  template<typename T, qualifier Q>
40  GLM_FUNC_DECL mat<2, 3, T, Q> diagonal2x3(
41  vec<2, T, Q> const& v);
42 
45  template<typename T, qualifier Q>
46  GLM_FUNC_DECL mat<2, 4, T, Q> diagonal2x4(
47  vec<2, T, Q> const& v);
48 
51  template<typename T, qualifier Q>
52  GLM_FUNC_DECL mat<3, 2, T, Q> diagonal3x2(
53  vec<2, T, Q> const& v);
54 
57  template<typename T, qualifier Q>
58  GLM_FUNC_DECL mat<3, 3, T, Q> diagonal3x3(
59  vec<3, T, Q> const& v);
60 
63  template<typename T, qualifier Q>
64  GLM_FUNC_DECL mat<3, 4, T, Q> diagonal3x4(
65  vec<3, T, Q> const& v);
66 
69  template<typename T, qualifier Q>
70  GLM_FUNC_DECL mat<4, 2, T, Q> diagonal4x2(
71  vec<2, T, Q> const& v);
72 
75  template<typename T, qualifier Q>
76  GLM_FUNC_DECL mat<4, 3, T, Q> diagonal4x3(
77  vec<3, T, Q> const& v);
78 
81  template<typename T, qualifier Q>
82  GLM_FUNC_DECL mat<4, 4, T, Q> diagonal4x4(
83  vec<4, T, Q> const& v);
84 
87  template<typename T, qualifier Q>
88  GLM_FUNC_DECL mat<2, 2, T, Q> adjugate(mat<2, 2, T, Q> const& m);
89 
92  template<typename T, qualifier Q>
93  GLM_FUNC_DECL mat<3, 3, T, Q> adjugate(mat<3, 3, T, Q> const& m);
94 
97  template<typename T, qualifier Q>
98  GLM_FUNC_DECL mat<4, 4, T, Q> adjugate(mat<4, 4, T, Q> const& m);
99 
101 }//namespace glm
102 
103 #include "matrix_operation.inl"
GLM_FUNC_DECL mat< 2, 3, T, Q > diagonal2x3(vec< 2, T, Q > const &v)
Build a diagonal matrix.
Definition: matrix_operation.inl:19
Core features
Definition: common.hpp:20
GLM_FUNC_DECL mat< 4, 3, T, Q > diagonal4x3(vec< 3, T, Q > const &v)
Build a diagonal matrix.
Definition: matrix_operation.inl:95
GLM_FUNC_DECL mat< 2, 2, T, Q > adjugate(mat< 2, 2, T, Q > const &m)
Build an adjugate matrix.
Definition: matrix_operation.inl:119
GLM_FUNC_DECL mat< 4, 4, T, Q > diagonal4x4(vec< 4, T, Q > const &v)
Build a diagonal matrix.
Definition: matrix_operation.inl:81
GLM_FUNC_DECL mat< 3, 4, T, Q > diagonal3x4(vec< 3, T, Q > const &v)
Build a diagonal matrix.
Definition: matrix_operation.inl:68
GLM_FUNC_DECL mat< 4, 2, T, Q > diagonal4x2(vec< 2, T, Q > const &v)
Build a diagonal matrix.
Definition: matrix_operation.inl:108
GLM_FUNC_DECL mat< 2, 2, T, Q > diagonal2x2(vec< 2, T, Q > const &v)
Build a diagonal matrix.
Definition: matrix_operation.inl:7
GLM_FUNC_DECL mat< 3, 2, T, Q > diagonal3x2(vec< 2, T, Q > const &v)
Build a diagonal matrix.
Definition: matrix_operation.inl:43
GLM_FUNC_DECL mat< 2, 4, T, Q > diagonal2x4(vec< 2, T, Q > const &v)
Build a diagonal matrix.
Definition: matrix_operation.inl:31
GLM_FUNC_DECL mat< 3, 3, T, Q > diagonal3x3(vec< 3, T, Q > const &v)
Build a diagonal matrix.
Definition: matrix_operation.inl:55