GLM Version 0.9.0

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 
00027         template <typename matType> 
00028         matType matrixCompMult(
00029                 matType const & x, 
00030                 matType const & y);
00031 
00036         template <typename vecType, typename matType> 
00037         matType outerProduct(
00038                 vecType const & c, 
00039                 vecType const & r);
00040 
00043         template <typename matType> 
00044         typename matType::transpose_type transpose(
00045                 matType const & x);
00046         
00049         template <typename T> 
00050         typename detail::tmat2x2<T>::value_type determinant(
00051                 detail::tmat2x2<T> const & m);
00052 
00055         template <typename T> 
00056         typename detail::tmat3x3<T>::value_type determinant(
00057                 detail::tmat3x3<T> const & m);
00058 
00061         template <typename T> 
00062         typename detail::tmat4x4<T>::value_type determinant(
00063                 detail::tmat4x4<T> const & m);
00064 
00067         template <typename T> 
00068         detail::tmat2x2<T> inverse(
00069                 detail::tmat2x2<T> const & m);
00070 
00073         template <typename T> 
00074         detail::tmat3x3<T> inverse(
00075                 detail::tmat3x3<T> const & m);
00076 
00079         template <typename T> 
00080         detail::tmat4x4<T> inverse(
00081                 detail::tmat4x4<T> const & m);
00082 
00083         }//namespace matrix
00084         }//namespace function
00085         }//namespace core
00086 
00087         using namespace core::function::matrix;
00088 }//namespace glm
00089 
00090 #include "func_matrix.inl"
00091 
00092 #endif//glm_core_func_matrix