type_ptr.hpp
Go to the documentation of this file.
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 #ifndef GLM_GTC_type_ptr
60 #define GLM_GTC_type_ptr GLM_VERSION
61 
62 // Dependency:
63 #include "../glm.hpp"
64 #include "../gtc/half_float.hpp"
65 #include "../gtc/quaternion.hpp"
66 #include <cstring>
67 
68 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
69 # pragma message("GLM: GLM_GTC_type_ptr extension included")
70 #endif
71 
72 namespace glm
73 {
76 
79  template<typename genType>
80  typename genType::value_type const * value_ptr(genType const & vec);
81 
84  template<typename T>
85  detail::tvec2<T> make_vec2(T const * const ptr);
86 
89  template<typename T>
90  detail::tvec3<T> make_vec3(T const * const ptr);
91 
94  template<typename T>
95  detail::tvec4<T> make_vec4(T const * const ptr);
96 
99  template<typename T>
100  detail::tmat2x2<T> make_mat2x2(T const * const ptr);
101 
104  template<typename T>
105  detail::tmat2x3<T> make_mat2x3(T const * const ptr);
106 
109  template<typename T>
110  detail::tmat2x4<T> make_mat2x4(T const * const ptr);
111 
114  template<typename T>
115  detail::tmat3x2<T> make_mat3x2(T const * const ptr);
116 
119  template<typename T>
120  detail::tmat3x3<T> make_mat3x3(T const * const ptr);
121 
124  template<typename T>
125  detail::tmat3x4<T> make_mat3x4(T const * const ptr);
126 
129  template<typename T>
130  detail::tmat4x2<T> make_mat4x2(
131  T const * const ptr);
132 
135  template<typename T>
136  detail::tmat4x3<T> make_mat4x3(T const * const ptr);
137 
140  template<typename T>
141  detail::tmat4x4<T> make_mat4x4(T const * const ptr);
142 
145  template<typename T>
146  detail::tmat2x2<T> make_mat2(T const * const ptr);
147 
150  template<typename T>
151  detail::tmat3x3<T> make_mat3(T const * const ptr);
152 
155  template<typename T>
156  detail::tmat4x4<T> make_mat4(T const * const ptr);
157 
160  template<typename T>
161  detail::tquat<T> make_quat(T const * const ptr);
162 
164 }//namespace glm
165 
166 #include "type_ptr.inl"
167 
168 #endif//GLM_GTC_type_ptr
169