00001 00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net) 00004 // Created : 2009-08-29 00005 // Updated : 2009-08-29 00006 // Licence : This source is under MIT License 00007 // File : glm/gtx/matrix_operation.hpp 00009 // Dependency: 00010 // - GLM core 00012 00013 #ifndef glm_gtx_matrix_operation 00014 #define glm_gtx_matrix_operation 00015 00016 // Dependency: 00017 #include "../glm.hpp" 00018 00019 #if(defined(GLM_MESSAGES) && !defined(glm_ext)) 00020 # pragma message("GLM: GLM_GTX_matrix_operation extension included") 00021 #endif 00022 00023 namespace glm{ 00024 namespace gtx{ 00025 namespace matrix_operation 00026 { 00029 00032 template <typename valType> 00033 detail::tmat2x2<valType> diagonal2x2( 00034 detail::tvec2<valType> const & v); 00035 00038 template <typename valType> 00039 detail::tmat2x3<valType> diagonal2x3( 00040 detail::tvec2<valType> const & v); 00041 00044 template <typename valType> 00045 detail::tmat2x4<valType> diagonal2x4( 00046 detail::tvec2<valType> const & v); 00047 00050 template <typename valType> 00051 detail::tmat3x2<valType> diagonal3x2( 00052 detail::tvec2<valType> const & v); 00053 00056 template <typename valType> 00057 detail::tmat3x3<valType> diagonal3x3( 00058 detail::tvec3<valType> const & v); 00059 00062 template <typename valType> 00063 detail::tmat3x4<valType> diagonal3x4( 00064 detail::tvec3<valType> const & v); 00065 00068 template <typename valType> 00069 detail::tmat4x2<valType> diagonal4x2( 00070 detail::tvec2<valType> const & v); 00071 00074 template <typename valType> 00075 detail::tmat4x3<valType> diagonal4x3( 00076 detail::tvec3<valType> const & v); 00077 00080 template <typename valType> 00081 detail::tmat4x4<valType> diagonal4x4( 00082 detail::tvec4<valType> const & v); 00083 00085 }//namespace matrix_operation 00086 }//namespace gtx 00087 }//namespace glm 00088 00089 #include "matrix_operation.inl" 00090 00091 namespace glm{using namespace gtx::matrix_operation;} 00092 00093 #endif//glm_gtx_matrix_operation