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 { 00025 namespace test{ 00026 void main_gtx_matrix_operation(); 00027 }//namespace test 00028 00029 namespace gtx{ 00031 namespace matrix_operation 00032 { 00035 00038 template <typename valType> 00039 detail::tmat2x2<valType> diagonal2x2( 00040 detail::tvec2<valType> const & v); 00041 00044 template <typename valType> 00045 detail::tmat2x3<valType> diagonal2x3( 00046 detail::tvec2<valType> const & v); 00047 00050 template <typename valType> 00051 detail::tmat2x4<valType> diagonal2x4( 00052 detail::tvec2<valType> const & v); 00053 00056 template <typename valType> 00057 detail::tmat3x2<valType> diagonal3x2( 00058 detail::tvec2<valType> const & v); 00059 00062 template <typename valType> 00063 detail::tmat3x3<valType> diagonal3x3( 00064 detail::tvec3<valType> const & v); 00065 00068 template <typename valType> 00069 detail::tmat3x4<valType> diagonal3x4( 00070 detail::tvec3<valType> const & v); 00071 00074 template <typename valType> 00075 detail::tmat4x2<valType> diagonal4x2( 00076 detail::tvec2<valType> const & v); 00077 00080 template <typename valType> 00081 detail::tmat4x3<valType> diagonal4x3( 00082 detail::tvec3<valType> const & v); 00083 00086 template <typename valType> 00087 detail::tmat4x4<valType> diagonal4x4( 00088 detail::tvec4<valType> const & v); 00089 00091 00092 }//namespace matrix_operation 00093 }//namespace gtx 00094 }//namespace glm 00095 00096 #include "matrix_operation.inl" 00097 00098 namespace glm{using namespace gtx::matrix_operation;} 00099 00100 #endif//glm_gtx_matrix_operation