matrix_operation.hpp

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