00001
00002
00004
00005
00006
00007
00009
00010
00011
00013
00014 #ifndef glm_gtx_transform
00015 #define glm_gtx_transform
00016
00017
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 }
00096 }
00097 }
00098
00099 #include "transform.inl"
00100
00101 namespace glm{using namespace gtx::transform;}
00102
00103 #endif//glm_gtx_transform