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 test{
00016                 void main_core_func_matrix();
00017         }//namespace test
00018 
00019         namespace core{
00020         namespace function{
00022         namespace matrix{
00023 
00026 
00030         template <typename matType> 
00031         matType matrixCompMult(
00032                 matType const & x, 
00033                 matType const & y);
00034 
00039         template <typename vecType, typename matType> 
00040         matType outerProduct(
00041                 vecType const & c, 
00042                 vecType const & r);
00043 
00046         template <typename matType> 
00047         typename matType::transpose_type transpose(
00048                 matType const & x);
00049         
00052         template <typename T> 
00053         typename detail::tmat2x2<T>::value_type determinant(
00054                 detail::tmat2x2<T> const & m);
00055 
00058         template <typename T> 
00059         typename detail::tmat3x3<T>::value_type determinant(
00060                 detail::tmat3x3<T> const & m);
00061 
00064         template <typename T> 
00065         typename detail::tmat4x4<T>::value_type determinant(
00066                 detail::tmat4x4<T> const & m);
00067 
00070         template <typename T> 
00071         detail::tmat2x2<T> inverse(
00072                 detail::tmat2x2<T> const & m);
00073 
00076         template <typename T> 
00077         detail::tmat3x3<T> inverse(
00078                 detail::tmat3x3<T> const & m);
00079 
00082         template <typename T> 
00083         detail::tmat4x4<T> inverse(
00084                 detail::tmat4x4<T> const & m);
00085 
00087 
00088         }//namespace matrix
00089         }//namespace function
00090         }//namespace core
00091 
00092         using namespace core::function::matrix;
00093 }//namespace glm
00094 
00095 #include "func_matrix.inl"
00096 
00097 #endif//glm_core_func_matrix