inertia.hpp

00001 
00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
00004 // Created : 2006-04-21
00005 // Updated : 2006-11-13
00006 // Licence : This source is under MIT License
00007 // File    : glm/gtx/inertia.hpp
00009 // Dependency:
00010 // - GLM core
00012 
00013 #ifndef glm_gtx_inertia
00014 #define glm_gtx_inertia
00015 
00016 // Dependency:
00017 #include "../glm.hpp"
00018 
00019 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00020 #       pragma message("GLM: GLM_GTX_inertia extension included")
00021 #endif
00022 
00023 namespace glm
00024 {
00025         namespace gtx{
00027         namespace inertia
00028         {
00031 
00034                 template <typename T> 
00035                 detail::tmat3x3<T> boxInertia3(
00036                         const T Mass, 
00037                         const detail::tvec3<T>& Scale);
00038                 
00041                 template <typename T> 
00042                 detail::tmat4x4<T> boxInertia4(
00043                         const T Mass, 
00044                         const detail::tvec3<T>& Scale);
00045                 
00048                 template <typename T> 
00049                 detail::tmat3x3<T> diskInertia3(
00050                         const T Mass, 
00051                         const T Radius);
00052 
00055                 template <typename T> 
00056                 detail::tmat4x4<T> diskInertia4(
00057                         const T Mass, 
00058                         const T Radius);
00059 
00062                 template <typename T> 
00063                 detail::tmat3x3<T> ballInertia3(
00064                         const T Mass, 
00065                         const T Radius);
00066                 
00069                 template <typename T> 
00070                 detail::tmat4x4<T> ballInertia4(
00071                         const T Mass, 
00072                         const T Radius);
00073 
00076                 template <typename T> 
00077                 detail::tmat3x3<T> sphereInertia3(
00078                         const T Mass, 
00079                         const T Radius);
00080 
00083                 template <typename T> 
00084                 detail::tmat4x4<T> sphereInertia4(
00085                         const T Mass, 
00086                         const T Radius);
00087 
00089 
00090         }//namespace inertia
00091         }//namespace gtx
00092 }//namespace glm
00093 
00094 #include "inertia.inl"
00095 
00096 namespace glm{using namespace gtx::inertia;}
00097 
00098 #endif//glm_gtx_inertia