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 {
00027         namespace test{
00028                 void main_gtx_transform();
00029         }//namespace test
00030 
00031         namespace gtx{
00033         namespace transform
00034         {
00035                 using namespace gtc::matrix_transform; 
00036 
00039 
00042                 template <typename T> 
00043                 detail::tmat4x4<T> translate(
00044                         T x, T y, T z);
00045                 
00048                 template <typename T> 
00049                 detail::tmat4x4<T> translate(
00050                         detail::tmat4x4<T> const & m, 
00051                         T x, T y, T z);
00052                 
00055                 template <typename T> 
00056                 detail::tmat4x4<T> translate(
00057                         detail::tvec3<T> const & v);
00058 
00061                 template <typename T> 
00062                 detail::tmat4x4<T> rotate(
00063                         T angle, 
00064                         T x, T y, T z);
00065 
00068                 template <typename T> 
00069                 detail::tmat4x4<T> rotate(
00070                         T angle, 
00071                         detail::tvec3<T> const & v);
00072 
00075                 template <typename T> 
00076                 detail::tmat4x4<T> rotate(
00077                         detail::tmat4x4<T> const & m, 
00078                         T angle, 
00079                         T x, T y, T z);
00080                 
00083                 template <typename T> 
00084                 detail::tmat4x4<T> scale(
00085                         T x, T y, T z);
00086                 
00089                 template <typename T> 
00090                 detail::tmat4x4<T> scale(
00091                         detail::tmat4x4<T> const & m, 
00092                         T x, T y, T z);
00093 
00096                 template <typename T> 
00097                 detail::tmat4x4<T> scale(
00098                         detail::tvec3<T> const & v);
00099 
00101 
00102         }//namespace transform
00103         }//namespace gtx
00104 }//namespace glm
00105 
00106 #include "transform.inl"
00107 
00108 namespace glm{using namespace gtx::transform;}
00109 
00110 #endif//glm_gtx_transform