1#ifndef NNGN_MATH_VEC3_H
2#define NNGN_MATH_VEC3_H
17 constexpr vec3_base(
T p_x,
T p_y,
T p_z) : x{p_x}, y{p_y}, z{p_z} {}
25 constexpr vec2_base<T> v0 ## v1() const { return {this->v0, this->v1}; }
30#define S(v0, v1, v2) \
31 constexpr vec3_base<T> v0 ## v1 ## v2() const \
32 { return {this->v0, this->v1, this->v2}; }
33 S(x,x,x)
S(x,x,y)
S(x,x,z)
34 S(x,y,x)
S(x,y,y)
S(x,y,z)
35 S(x,z,x)
S(x,z,y)
S(x,z,z)
36 S(y,x,x)
S(y,x,y)
S(y,x,z)
37 S(y,y,x)
S(y,y,y)
S(y,y,z)
38 S(y,z,x)
S(y,z,y)
S(y,z,z)
39 S(z,x,x)
S(z,x,y)
S(z,x,z)
40 S(z,y,x)
S(z,y,y)
S(z,y,z)
41 S(z,z,x)
S(z,z,y)
S(z,z,z)
46struct vec_type<
T, 3> : std::type_identity<vec3_base<T>> {};
v[1]
Definition math.lua:22
constexpr vec3_base(T p_x, T p_y)
Definition vec3.h:16
constexpr vec3_base(const vec2_base< T > &v)
Definition vec3.h:18
constexpr vec3_base()=default
constexpr vec3_base(const vec2_base< T > &v, T p_z)
Definition vec3.h:20
constexpr vec3_base(T p_x, T p_y, T p_z)
Definition vec3.h:17
constexpr vec3_base(T p_x, const vec2_base< T > &v)
Definition vec3.h:22
constexpr vec3_base(T v)
Definition vec3.h:15
T type
Definition vec.h:23
#define S(v0, v1)
Definition vec3.h:24