1 /// @ref gtc_matrix_inverse
2 /// @file glm/gtc/matrix_inverse.hpp
3 ///
4 /// @see core (dependence)
5 ///
6 /// @defgroup gtc_matrix_inverse GLM_GTC_matrix_inverse
7 /// @ingroup gtc
8 ///
9 /// Defines additional matrix inverting functions.
10 /// <glm/gtc/matrix_inverse.hpp> need to be included to use these functionalities.
11 
12 #pragma once
13 
14 // Dependencies
15 #include "../detail/setup.hpp"
16 #include "../matrix.hpp"
17 #include "../mat2x2.hpp"
18 #include "../mat3x3.hpp"
19 #include "../mat4x4.hpp"
20 
21 #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)
22 #	pragma message("GLM: GLM_GTC_matrix_inverse extension included")
23 #endif
24 
25 namespace glm
26 {
27 	/// @addtogroup gtc_matrix_inverse
28 	/// @{
29 
30 	/// Fast matrix inverse for affine matrix.
31 	///
32 	/// @param m Input matrix to invert.
33 	/// @tparam genType Squared floating-point matrix: half, float or double. Inverse of matrix based of half-precision floating point value is highly innacurate.
34 	/// @see gtc_matrix_inverse
35 	template <typename genType>
36 	GLM_FUNC_DECL genType affineInverse(genType const & m);
37 
38 	/// Compute the inverse transpose of a matrix.
39 	///
40 	/// @param m Input matrix to invert transpose.
41 	/// @tparam genType Squared floating-point matrix: half, float or double. Inverse of matrix based of half-precision floating point value is highly innacurate.
42 	/// @see gtc_matrix_inverse
43 	template <typename genType>
44 	GLM_FUNC_DECL genType inverseTranspose(genType const & m);
45 
46 	/// @}
47 }//namespace glm
48 
49 #include "matrix_inverse.inl"
50