matrix_major_storage.hpp
Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 #ifndef GLM_GTX_matrix_major_storage
00040 #define GLM_GTX_matrix_major_storage 50
00041 
00042 // Dependency:
00043 #include "../glm.hpp"
00044 
00045 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00046 #       pragma message("GLM: GLM_GTX_matrix_major_storage extension included")
00047 #endif
00048 
00049 namespace glm
00050 {
00053 
00056         template <typename T> 
00057         detail::tmat2x2<T> rowMajor2(
00058                 const detail::tvec2<T>& v1, 
00059                 const detail::tvec2<T>& v2);
00060                 
00063         template <typename T> 
00064         detail::tmat2x2<T> rowMajor2(
00065                 const detail::tmat2x2<T>& m);
00066 
00069         template <typename T> 
00070         detail::tmat3x3<T> rowMajor3(
00071                 const detail::tvec3<T>& v1, 
00072                 const detail::tvec3<T>& v2, 
00073                 const detail::tvec3<T>& v3);
00074 
00077         template <typename T> 
00078         detail::tmat3x3<T> rowMajor3(
00079                 const detail::tmat3x3<T>& m);
00080 
00083         template <typename T> 
00084         detail::tmat4x4<T> rowMajor4(
00085                 const detail::tvec4<T>& v1, 
00086                 const detail::tvec4<T>& v2,
00087                 const detail::tvec4<T>& v3, 
00088                 const detail::tvec4<T>& v4);
00089 
00092         template <typename T> 
00093         detail::tmat4x4<T> rowMajor4(
00094                 const detail::tmat4x4<T>& m);
00095 
00098         template <typename T> 
00099         detail::tmat2x2<T> colMajor2(
00100                 const detail::tvec2<T>& v1, 
00101                 const detail::tvec2<T>& v2);
00102                 
00105         template <typename T> 
00106         detail::tmat2x2<T> colMajor2(
00107                 const detail::tmat2x2<T>& m);
00108 
00111         template <typename T> 
00112         detail::tmat3x3<T> colMajor3(
00113                 const detail::tvec3<T>& v1, 
00114                 const detail::tvec3<T>& v2, 
00115                 const detail::tvec3<T>& v3);
00116                 
00119         template <typename T> 
00120         detail::tmat3x3<T> colMajor3(
00121                 const detail::tmat3x3<T>& m);
00122                 
00125         template <typename T> 
00126         detail::tmat4x4<T> colMajor4(
00127                 const detail::tvec4<T>& v1, 
00128                 const detail::tvec4<T>& v2, 
00129                 const detail::tvec4<T>& v3, 
00130                 const detail::tvec4<T>& v4);
00131                                 
00134         template <typename T> 
00135         detail::tmat4x4<T> colMajor4(
00136                 const detail::tmat4x4<T>& m);
00137 
00139 }//namespace glm
00140 
00141 #include "matrix_major_storage.inl"
00142 
00143 #endif//GLM_GTX_matrix_major_storage