00001 
00002 
00004 
00005 
00006 
00007 
00009 
00010 
00012 
00013 #ifndef glm_gtx_inertia
00014 #define glm_gtx_inertia
00015 
00016 
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 namespace gtx{
00025 namespace inertia 
00026 {
00029 
00032         template <typename T> 
00033         detail::tmat3x3<T> boxInertia3(
00034                 const T Mass, 
00035                 const detail::tvec3<T>& Scale);
00036                 
00039         template <typename T> 
00040         detail::tmat4x4<T> boxInertia4(
00041                 const T Mass, 
00042                 const detail::tvec3<T>& Scale);
00043                 
00046         template <typename T> 
00047         detail::tmat3x3<T> diskInertia3(
00048                 const T Mass, 
00049                 const T Radius);
00050 
00053         template <typename T> 
00054         detail::tmat4x4<T> diskInertia4(
00055                 const T Mass, 
00056                 const T Radius);
00057 
00060         template <typename T> 
00061         detail::tmat3x3<T> ballInertia3(
00062                 const T Mass, 
00063                 const T Radius);
00064                 
00067         template <typename T> 
00068         detail::tmat4x4<T> ballInertia4(
00069                 const T Mass, 
00070                 const T Radius);
00071 
00074         template <typename T> 
00075         detail::tmat3x3<T> sphereInertia3(
00076                 const T Mass, 
00077                 const T Radius);
00078 
00081         template <typename T> 
00082         detail::tmat4x4<T> sphereInertia4(
00083                 const T Mass, 
00084                 const T Radius);
00085 
00087 }
00088 }
00089 }
00090 
00091 #include "inertia.inl"
00092 
00093 namespace glm{using namespace gtx::inertia;}
00094 
00095 #endif//glm_gtx_inertia