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 namespace gtx{
00025 namespace matrix_major_storage
00026 {
00029
00032 template <typename T>
00033 detail::tmat2x2<T> rowMajor2(
00034 const detail::tvec2<T>& v1,
00035 const detail::tvec2<T>& v2);
00036
00039 template <typename T>
00040 detail::tmat2x2<T> rowMajor2(
00041 const detail::tmat2x2<T>& m);
00042
00045 template <typename T>
00046 detail::tmat3x3<T> rowMajor3(
00047 const detail::tvec3<T>& v1,
00048 const detail::tvec3<T>& v2,
00049 const detail::tvec3<T>& v3);
00050
00053 template <typename T>
00054 detail::tmat3x3<T> rowMajor3(
00055 const detail::tmat3x3<T>& m);
00056
00059 template <typename T>
00060 detail::tmat4x4<T> rowMajor4(
00061 const detail::tvec4<T>& v1,
00062 const detail::tvec4<T>& v2,
00063 const detail::tvec4<T>& v3,
00064 const detail::tvec4<T>& v4);
00065
00068 template <typename T>
00069 detail::tmat4x4<T> rowMajor4(
00070 const detail::tmat4x4<T>& m);
00071
00074 template <typename T>
00075 detail::tmat2x2<T> colMajor2(
00076 const detail::tvec2<T>& v1,
00077 const detail::tvec2<T>& v2);
00078
00081 template <typename T>
00082 detail::tmat2x2<T> colMajor2(
00083 const detail::tmat2x2<T>& m);
00084
00087 template <typename T>
00088 detail::tmat3x3<T> colMajor3(
00089 const detail::tvec3<T>& v1,
00090 const detail::tvec3<T>& v2,
00091 const detail::tvec3<T>& v3);
00092
00095 template <typename T>
00096 detail::tmat3x3<T> colMajor3(
00097 const detail::tmat3x3<T>& m);
00098
00101 template <typename T>
00102 detail::tmat4x4<T> colMajor4(
00103 const detail::tvec4<T>& v1,
00104 const detail::tvec4<T>& v2,
00105 const detail::tvec4<T>& v3,
00106 const detail::tvec4<T>& v4);
00107
00110 template <typename T>
00111 detail::tmat4x4<T> colMajor4(
00112 const detail::tmat4x4<T>& m);
00113
00115 }
00116 }
00117 }
00118
00119 #include "matrix_major_storage.inl"
00120
00121 namespace glm{using namespace gtx::matrix_major_storage;}
00122
00123 #endif//glm_gtx_matrix_major_storage