00001
00002
00004
00005
00006
00007
00009
00010
00012
00013 #ifndef glm_gtx_matrix_major_storage
00014 #define glm_gtx_matrix_major_storage
00015
00016
00017 #include "../glm.hpp"
00018
00019 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00020 # pragma message("GLM: GLM_GTX_matrix_major_storage extension included")
00021 #endif
00022
00023 namespace glm
00024 {
00025 namespace gtx{
00027 namespace matrix_major_storage
00028 {
00031
00034 template <typename T>
00035 detail::tmat2x2<T> rowMajor2(
00036 const detail::tvec2<T>& v1,
00037 const detail::tvec2<T>& v2);
00038
00041 template <typename T>
00042 detail::tmat2x2<T> rowMajor2(
00043 const detail::tmat2x2<T>& m);
00044
00047 template <typename T>
00048 detail::tmat3x3<T> rowMajor3(
00049 const detail::tvec3<T>& v1,
00050 const detail::tvec3<T>& v2,
00051 const detail::tvec3<T>& v3);
00052
00055 template <typename T>
00056 detail::tmat3x3<T> rowMajor3(
00057 const detail::tmat3x3<T>& m);
00058
00061 template <typename T>
00062 detail::tmat4x4<T> rowMajor4(
00063 const detail::tvec4<T>& v1,
00064 const detail::tvec4<T>& v2,
00065 const detail::tvec4<T>& v3,
00066 const detail::tvec4<T>& v4);
00067
00070 template <typename T>
00071 detail::tmat4x4<T> rowMajor4(
00072 const detail::tmat4x4<T>& m);
00073
00076 template <typename T>
00077 detail::tmat2x2<T> colMajor2(
00078 const detail::tvec2<T>& v1,
00079 const detail::tvec2<T>& v2);
00080
00083 template <typename T>
00084 detail::tmat2x2<T> colMajor2(
00085 const detail::tmat2x2<T>& m);
00086
00089 template <typename T>
00090 detail::tmat3x3<T> colMajor3(
00091 const detail::tvec3<T>& v1,
00092 const detail::tvec3<T>& v2,
00093 const detail::tvec3<T>& v3);
00094
00097 template <typename T>
00098 detail::tmat3x3<T> colMajor3(
00099 const detail::tmat3x3<T>& m);
00100
00103 template <typename T>
00104 detail::tmat4x4<T> colMajor4(
00105 const detail::tvec4<T>& v1,
00106 const detail::tvec4<T>& v2,
00107 const detail::tvec4<T>& v3,
00108 const detail::tvec4<T>& v4);
00109
00112 template <typename T>
00113 detail::tmat4x4<T> colMajor4(
00114 const detail::tmat4x4<T>& m);
00115
00117
00118 }
00119 }
00120 }
00121
00122 #include "matrix_major_storage.inl"
00123
00124 namespace glm{using namespace gtx::matrix_major_storage;}
00125
00126 #endif//glm_gtx_matrix_major_storage