func_matrix.hpp
00001 
00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
00004 // Created : 2008-08-03
00005 // Updated : 2010-02-04
00006 // Licence : This source is under MIT License
00007 // File    : glm/core/func_matrix.hpp
00009 
00010 #ifndef glm_core_func_matrix
00011 #define glm_core_func_matrix
00012 
00013 namespace glm
00014 {
00015         namespace core{
00016         namespace function{
00018         namespace matrix{
00019 
00022 
00028         template <typename matType> 
00029         matType matrixCompMult(
00030                 matType const & x, 
00031                 matType const & y);
00032 
00039     template <typename vecType, typename matType> 
00040         matType outerProduct(
00041                 vecType const & c, 
00042                 vecType const & r);
00043 
00048     template <typename matType> 
00049         typename matType::transpose_type transpose(
00050                 matType const & x);
00051         
00056         template <typename T> 
00057         typename detail::tmat2x2<T>::value_type determinant(
00058                 detail::tmat2x2<T> const & m);
00059 
00064         template <typename T> 
00065         typename detail::tmat3x3<T>::value_type determinant(
00066                 detail::tmat3x3<T> const & m);
00067 
00072     template <typename T> 
00073         typename detail::tmat4x4<T>::value_type determinant(
00074                 detail::tmat4x4<T> const & m);
00075 
00080         template <typename T> 
00081         detail::tmat2x2<T> inverse(
00082                 detail::tmat2x2<T> const & m);
00083 
00088         template <typename T> 
00089         detail::tmat3x3<T> inverse(
00090                 detail::tmat3x3<T> const & m);
00091 
00096         template <typename T> 
00097         detail::tmat4x4<T> inverse(
00098                 detail::tmat4x4<T> const & m);
00099 
00101 
00102         }//namespace matrix
00103         }//namespace function
00104         }//namespace core
00105 
00106         using namespace core::function::matrix;
00107 }//namespace glm
00108 
00109 #include "func_matrix.inl"
00110 
00111 #endif//glm_core_func_matrix