Go to the documentation of this file.
35 # if GLM_HAS_ANONYMOUS_UNION
52 # if(GLM_ARCH & GLM_ARCH_SSE2)
60 # if(GLM_ARCH & GLM_ARCH_AVX)
68 template <
typename T, precision P>
89 # if(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
93 struct {
T r,
g,
b,
a; };
94 struct {
T s,
t,
p,
q; };
95 struct {
T x,
y,
z,
w;};
108 # if(GLM_HAS_UNRESTRICTED_UNIONS)
114 union {
T x,
r,
s; };
115 union {
T y,
g,
t; };
116 union {
T z,
b,
p; };
117 union {
T w,
a,
q; };
143 template <precision Q>
163 template <
typename A,
typename B,
typename C,
typename D>
174 template <
typename A,
typename B,
typename C, precision Q>
177 template <
typename A,
typename B,
typename C, precision Q>
180 template <
typename A,
typename B,
typename C, precision Q>
183 template <
typename A,
typename B, precision Q>
186 template <
typename A,
typename B, precision Q>
189 template <
typename A,
typename B, precision Q>
192 template <
typename U, precision Q>
198 # if(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
199 template <
int E0,
int E1,
int E2,
int E3>
205 template <
int E0,
int E1,
int F0,
int F1>
206 GLM_FUNC_DECL tvec4(_swizzle<2,
T,
P, tvec2<T, P>, E0,
E1, -1, -2>
const & v, _swizzle<2,
T,
P, tvec2<T, P>, F0, F1, -1, -2>
const & u)
208 *
this = tvec4<T, P>(
v(), u());
211 template <
int E0,
int E1>
212 GLM_FUNC_DECL tvec4(
T const &
x,
T const &
y, _swizzle<2,
T,
P, tvec2<T, P>, E0,
E1, -1, -2>
const & v)
214 *
this = tvec4<T, P>(
x,
y,
v());
217 template <
int E0,
int E1>
218 GLM_FUNC_DECL tvec4(
T const &
x, _swizzle<2,
T,
P, tvec2<T, P>, E0,
E1, -1, -2>
const & v,
T const &
w)
220 *
this = tvec4<T, P>(
x,
v(),
w);
223 template <
int E0,
int E1>
224 GLM_FUNC_DECL tvec4(_swizzle<2,
T,
P, tvec2<T, P>, E0,
E1, -1, -2>
const & v,
T const &
z,
T const &
w)
226 *
this = tvec4<T, P>(
v(),
z,
w);
229 template <
int E0,
int E1,
int E2>
232 *
this = tvec4<T, P>(
v(),
w);
235 template <
int E0,
int E1,
int E2>
238 *
this = tvec4<T, P>(
x,
v());
240 # endif//(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
256 template <
typename U, precision Q>
258 template <
typename U>
260 template <
typename U>
262 template <
typename U>
264 template <
typename U>
266 template <
typename U>
268 template <
typename U>
270 template <
typename U>
272 template <
typename U>
286 template <
typename U>
288 template <
typename U>
290 template <
typename U>
292 template <
typename U>
294 template <
typename U>
296 template <
typename U>
298 template <
typename U>
300 template <
typename U>
302 template <
typename U>
304 template <
typename U>
306 template <
typename U>
308 template <
typename U>
312 template <
typename T, precision P>
315 template <
typename T, precision P>
318 template <
typename T, precision P>
321 template <
typename T, precision P>
324 template <
typename T, precision P>
327 template <
typename T, precision P>
330 template <
typename T, precision P>
333 template <
typename T, precision P>
336 template <
typename T, precision P>
339 template <
typename T, precision P>
342 template <
typename T, precision P>
345 template <
typename T, precision P>
348 template <
typename T, precision P>
351 template <
typename T, precision P>
354 template <
typename T, precision P>
357 template <
typename T, precision P>
360 template <
typename T, precision P>
363 template <
typename T, precision P>
366 template <
typename T, precision P>
369 template <
typename T, precision P>
372 template <
typename T, precision P>
375 template <
typename T, precision P>
378 template <
typename T, precision P>
381 template <
typename T, precision P>
384 template <
typename T, precision P>
387 template <
typename T, precision P>
390 template <
typename T, precision P>
393 template <
typename T, precision P>
396 template <
typename T, precision P>
399 template <
typename T, precision P>
402 template <
typename T, precision P>
405 template <
typename T, precision P>
408 template <
typename T, precision P>
411 template <
typename T, precision P>
417 #ifndef GLM_EXTERNAL_TEMPLATE
418 #include "type_vec4.inl"
419 #endif//GLM_EXTERNAL_TEMPLATE
GLM_FUNC_DECL tvec1< T, P > operator^(tvec1< T, P > const &v, T const &s)
#define _GLM_SWIZZLE4_4_MEMBERS(T, P, V, E0, E1, E2, E3)
GLM_FUNC_DECL tvec1< T, P > operator|(tvec1< T, P > const &v, T const &s)
GLM_FUNC_DECL tvec4< T, P > & operator|=(U s)
GLM_FUNC_DECL tvec4< T, P > & operator-=(T v)
#define _GLM_SWIZZLE4_2_MEMBERS(T, P, V, E0, E1, E2, E3)
GLM_FUNC_DECL tvec4< T, P > & operator++()
GLM_FUNC_DECL T & operator[](length_t i)
GLM_FUNC_DECL tvec4< T, P > & operator^=(U s)
GLM_FUNC_DECL bool operator==(tvec1< T, P > const &v1, tvec1< T, P > const &v2)
GLM_FUNC_DECL tvec1< T, P > operator~(tvec1< T, P > const &v)
GLM_FUNC_DECL tvec4< T, P > & operator=(tvec4< T, P > const &v)
GLM_FUNC_DECL tmat2x2< T, P > operator+(tmat2x2< T, P > const &m, T const &s)
GLM_FUNC_DECL tmat2x2< T, P > operator/(tmat2x2< T, P > const &m, T const &s)
GLM_FUNC_DECL tvec4< T, P > & operator>>=(U s)
GLM_FUNC_DECL tvec4< T, P > & operator&=(U s)
GLM_FUNC_DECL tmat2x2< T, P > operator*(tmat2x2< T, P > const &m, T const &s)
GLM_FUNC_DECL tvec4< T, P > & operator/=(T v)
GLM_FUNC_DECL tmat2x2< T, P > operator-(tmat2x2< T, P > const &m, T const &s)
GLM_FUNC_DECL tvec1< T, P > operator<<(tvec1< T, P > const &v, T const &s)
#define _GLM_SWIZZLE4_3_MEMBERS(T, P, V, E0, E1, E2, E3)
GLM_FUNC_DECL tvec4< T, P > & operator<<=(U s)
GLM_FUNC_DECL tvec1< T, P > operator%(tvec1< T, P > const &v, T const &s)
GLM_FUNC_DECL tvec4< T, P > & operator--()
GLM_FUNC_DECL tvec4< T, P > & operator*=(T v)
GLM_FUNC_DECL tvec1< T, P > operator>>(tvec1< T, P > const &v, T const &s)
GLM_FUNC_DECL bool operator!=(tvec1< T, P > const &v1, tvec1< T, P > const &v2)
Array< int, Dynamic, 1 > v
#define GLM_SWIZZLE_GEN_VEC_FROM_VEC4(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE)
GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const
tvec4< bool, P > bool_type
GLM_FUNC_DECL tvec4< T, P > & operator+=(T v)
GLM_FUNC_DECL tvec4< T, P > & operator%=(U s)
GLM_FUNC_DECL tvec1< T, P > operator&(tvec1< T, P > const &v, T const &s)
rtabmap
Author(s): Mathieu Labbe
autogenerated on Thu Jul 25 2024 02:50:23