GLM Version 0.9.0

matrix_major_storage.hpp

00001 
00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
00004 // Created : 2006-04-19
00005 // Updated : 2009-02-19
00006 // Licence : This source is under MIT License
00007 // File    : glm/gtx/matrix_major_storage.hpp
00009 // Dependency:
00010 // - GLM core
00012 
00013 #ifndef glm_gtx_matrix_major_storage
00014 #define glm_gtx_matrix_major_storage
00015 
00016 // Dependency:
00017 #include "../glm.hpp"
00018 
00019 namespace glm
00020 {
00021         namespace gtx{
00023         namespace matrix_major_storage
00024         {
00027                 template <typename T> 
00028                 detail::tmat2x2<T> rowMajor2(
00029                         const detail::tvec2<T>& v1, 
00030                         const detail::tvec2<T>& v2);
00031                 
00034                 template <typename T> 
00035                 detail::tmat2x2<T> rowMajor2(
00036                         const detail::tmat2x2<T>& m);
00037 
00040                 template <typename T> 
00041                 detail::tmat3x3<T> rowMajor3(
00042                         const detail::tvec3<T>& v1, 
00043                         const detail::tvec3<T>& v2, 
00044                         const detail::tvec3<T>& v3);
00045 
00048                 template <typename T> 
00049                 detail::tmat3x3<T> rowMajor3(
00050                         const detail::tmat3x3<T>& m);
00051 
00054                 template <typename T> 
00055                 detail::tmat4x4<T> rowMajor4(
00056                         const detail::tvec4<T>& v1, 
00057                         const detail::tvec4<T>& v2,
00058                         const detail::tvec4<T>& v3, 
00059                         const detail::tvec4<T>& v4);
00060 
00063                 template <typename T> 
00064                 detail::tmat4x4<T> rowMajor4(
00065                         const detail::tmat4x4<T>& m);
00066 
00069                 template <typename T> 
00070                 detail::tmat2x2<T> colMajor2(
00071                         const detail::tvec2<T>& v1, 
00072                         const detail::tvec2<T>& v2);
00073                 
00076                 template <typename T> 
00077                 detail::tmat2x2<T> colMajor2(
00078                         const detail::tmat2x2<T>& m);
00079 
00082                 template <typename T> 
00083                 detail::tmat3x3<T> colMajor3(
00084                         const detail::tvec3<T>& v1, 
00085                         const detail::tvec3<T>& v2, 
00086                         const detail::tvec3<T>& v3);
00087                 
00090                 template <typename T> 
00091                 detail::tmat3x3<T> colMajor3(
00092                         const detail::tmat3x3<T>& m);
00093                 
00096                 template <typename T> 
00097                 detail::tmat4x4<T> colMajor4(
00098                         const detail::tvec4<T>& v1, 
00099                         const detail::tvec4<T>& v2, 
00100                         const detail::tvec4<T>& v3, 
00101                         const detail::tvec4<T>& v4);
00102                                 
00105                 template <typename T> 
00106                 detail::tmat4x4<T> colMajor4(
00107                         const detail::tmat4x4<T>& m);
00108                 
00109         }//namespace matrix_major_storage
00110         }//namespace gtx
00111 }//namespace glm
00112 
00113 #include "matrix_major_storage.inl"
00114 
00115 namespace glm{using namespace gtx::matrix_major_storage;}
00116 
00117 #endif//glm_gtx_matrix_major_storage