transform.hpp
00001 
00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
00004 // Created : 2005-12-21
00005 // Updated : 2009-04-29
00006 // Licence : This source is under MIT License
00007 // File    : glm/gtx/transform.hpp
00009 // Dependency:
00010 // - GLM core
00011 // - GLM_GTC_matric_transform
00013 
00014 #ifndef glm_gtx_transform
00015 #define glm_gtx_transform
00016 
00017 // Dependency:
00018 #include "../glm.hpp"
00019 #include "../gtc/matrix_transform.hpp"
00020 
00021 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00022 #       pragma message("GLM: GLM_GTX_transform extension included")
00023 #endif
00024 
00025 namespace glm{
00026 namespace gtx{
00027 namespace transform 
00028 {
00029         using namespace gtc::matrix_transform; 
00030 
00033 
00036         template <typename T> 
00037         detail::tmat4x4<T> translate(
00038                 T x, T y, T z);
00039                 
00042         template <typename T> 
00043         detail::tmat4x4<T> translate(
00044                 detail::tmat4x4<T> const & m, 
00045                 T x, T y, T z);
00046                 
00049         template <typename T> 
00050         detail::tmat4x4<T> translate(
00051                 detail::tvec3<T> const & v);
00052 
00055         template <typename T> 
00056         detail::tmat4x4<T> rotate(
00057                 T angle, 
00058                 T x, T y, T z);
00059 
00062         template <typename T> 
00063         detail::tmat4x4<T> rotate(
00064                 T angle, 
00065                 detail::tvec3<T> const & v);
00066 
00069         template <typename T> 
00070         detail::tmat4x4<T> rotate(
00071                 detail::tmat4x4<T> const & m, 
00072                 T angle, 
00073                 T x, T y, T z);
00074                 
00077         template <typename T> 
00078         detail::tmat4x4<T> scale(
00079                 T x, T y, T z);
00080                 
00083         template <typename T> 
00084         detail::tmat4x4<T> scale(
00085                 detail::tmat4x4<T> const & m, 
00086                 T x, T y, T z);
00087 
00090         template <typename T> 
00091         detail::tmat4x4<T> scale(
00092                 detail::tvec3<T> const & v);
00093 
00095 }//namespace transform
00096 }//namespace gtx
00097 }//namespace glm
00098 
00099 #include "transform.inl"
00100 
00101 namespace glm{using namespace gtx::transform;}
00102 
00103 #endif//glm_gtx_transform