type_ptr.hpp
Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 
00040 
00041 
00042 
00043 
00044 
00045 
00046 
00047 
00048 
00049 
00050 
00051 
00052 
00053 
00054 
00055 
00056 
00057 
00058 
00059 #ifndef GLM_GTC_type_ptr
00060 #define GLM_GTC_type_ptr GLM_VERSION
00061 
00062 // Dependency:
00063 #include "../glm.hpp"
00064 #include "../gtc/half_float.hpp"
00065 #include "../gtc/quaternion.hpp"
00066 #include <cstring>
00067 
00068 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00069 #       pragma message("GLM: GLM_GTC_type_ptr extension included")
00070 #endif
00071 
00072 namespace glm
00073 { 
00076     
00079         template<typename genType>
00080     typename genType::value_type const * value_ptr(genType const & vec);
00081 
00084         template<typename T>
00085     detail::tvec2<T> make_vec2(T const * const ptr);
00086 
00089         template<typename T>
00090     detail::tvec3<T> make_vec3(T const * const ptr);
00091 
00094         template<typename T>
00095     detail::tvec4<T> make_vec4(T const * const ptr);
00096 
00099         template<typename T>
00100     detail::tmat2x2<T> make_mat2x2(T const * const ptr);
00101         
00104         template<typename T>
00105     detail::tmat2x3<T> make_mat2x3(T const * const ptr);
00106         
00109         template<typename T>
00110     detail::tmat2x4<T> make_mat2x4(T const * const ptr);
00111         
00114         template<typename T>
00115     detail::tmat3x2<T> make_mat3x2(T const * const ptr);
00116         
00119         template<typename T>
00120     detail::tmat3x3<T> make_mat3x3(T const * const ptr);
00121 
00124         template<typename T>
00125     detail::tmat3x4<T> make_mat3x4(T const * const ptr);
00126         
00129         template<typename T>
00130     detail::tmat4x2<T> make_mat4x2(
00131         T const * const ptr);
00132         
00135         template<typename T>
00136     detail::tmat4x3<T> make_mat4x3(T const * const ptr);
00137         
00140         template<typename T>
00141     detail::tmat4x4<T> make_mat4x4(T const * const ptr);
00142         
00145         template<typename T>
00146     detail::tmat2x2<T> make_mat2(T const * const ptr);
00147         
00150         template<typename T>
00151     detail::tmat3x3<T> make_mat3(T const * const ptr);
00152                 
00155         template<typename T>
00156     detail::tmat4x4<T> make_mat4(T const * const ptr);
00157  
00160         template<typename T>
00161     detail::tquat<T> make_quat(T const * const ptr);
00162     
00164 }//namespace glm
00165 
00166 #include "type_ptr.inl"
00167 
00168 #endif//GLM_GTC_type_ptr
00169