1 /// @ref gtx_matrix_operation 2 /// @file glm/gtx/matrix_operation.hpp 3 /// 4 /// @see core (dependence) 5 /// 6 /// @defgroup gtx_matrix_operation GLM_GTX_matrix_operation 7 /// @ingroup gtx 8 /// 9 /// @brief Build diagonal matrices from vectors. 10 /// 11 /// <glm/gtx/matrix_operation.hpp> need to be included to use these functionalities. 12 13 #pragma once 14 15 // Dependency: 16 #include "../glm.hpp" 17 18 #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 19 # pragma message("GLM: GLM_GTX_matrix_operation extension included") 20 #endif 21 22 namespace glm 23 { 24 /// @addtogroup gtx_matrix_operation 25 /// @{ 26 27 //! Build a diagonal matrix. 28 //! From GLM_GTX_matrix_operation extension. 29 template <typename T, precision P> 30 GLM_FUNC_DECL tmat2x2<T, P> diagonal2x2( 31 tvec2<T, P> const & v); 32 33 //! Build a diagonal matrix. 34 //! From GLM_GTX_matrix_operation extension. 35 template <typename T, precision P> 36 GLM_FUNC_DECL tmat2x3<T, P> diagonal2x3( 37 tvec2<T, P> const & v); 38 39 //! Build a diagonal matrix. 40 //! From GLM_GTX_matrix_operation extension. 41 template <typename T, precision P> 42 GLM_FUNC_DECL tmat2x4<T, P> diagonal2x4( 43 tvec2<T, P> const & v); 44 45 //! Build a diagonal matrix. 46 //! From GLM_GTX_matrix_operation extension. 47 template <typename T, precision P> 48 GLM_FUNC_DECL tmat3x2<T, P> diagonal3x2( 49 tvec2<T, P> const & v); 50 51 //! Build a diagonal matrix. 52 //! From GLM_GTX_matrix_operation extension. 53 template <typename T, precision P> 54 GLM_FUNC_DECL tmat3x3<T, P> diagonal3x3( 55 tvec3<T, P> const & v); 56 57 //! Build a diagonal matrix. 58 //! From GLM_GTX_matrix_operation extension. 59 template <typename T, precision P> 60 GLM_FUNC_DECL tmat3x4<T, P> diagonal3x4( 61 tvec3<T, P> const & v); 62 63 //! Build a diagonal matrix. 64 //! From GLM_GTX_matrix_operation extension. 65 template <typename T, precision P> 66 GLM_FUNC_DECL tmat4x2<T, P> diagonal4x2( 67 tvec2<T, P> const & v); 68 69 //! Build a diagonal matrix. 70 //! From GLM_GTX_matrix_operation extension. 71 template <typename T, precision P> 72 GLM_FUNC_DECL tmat4x3<T, P> diagonal4x3( 73 tvec3<T, P> const & v); 74 75 //! Build a diagonal matrix. 76 //! From GLM_GTX_matrix_operation extension. 77 template <typename T, precision P> 78 GLM_FUNC_DECL tmat4x4<T, P> diagonal4x4( 79 tvec4<T, P> const & v); 80 81 /// @} 82 }//namespace glm 83 84 #include "matrix_operation.inl" 85