16#if MATH_SILENCE_WARNING
18 #pragma GCC diagnostic push
19 #pragma GCC diagnostic ignored "-Wpedantic"
21 #pragma clang diagnostic push
22 #pragma clang diagnostic ignored "-Wgnu-anonymous-struct"
23 #pragma clang diagnostic ignored "-Wnested-anon-types"
26 #pragma warning(disable : 4201)
40#if MATH_SILENCE_WARNING
42 #pragma clang diagnostic pop
44 #pragma GCC diagnostic pop
54 x =
static_cast<T>(0.0f);
55 y =
static_cast<T>(0.0f);
56 z =
static_cast<T>(0.0f);
98 this->
x =
static_cast<T>(
_v);
99 this->
y =
static_cast<T>(
_v);
100 this->
z =
static_cast<T>(
_v);
113 x =
static_cast<T>(
v.x);
114 y =
static_cast<T>(
v.y);
115 z =
static_cast<T>(
v.z);
149 return ((
len != 0.0f) ? (*
this /
len) : *
this);
290 this->
x =
static_cast<T>(
V.x);
291 this->
y =
static_cast<T>(
V.y);
292 this->
z =
static_cast<T>(
V.z);
348 os <<
obj.x <<
", " <<
obj.y <<
", " <<
obj.z << std::endl;
static vec3< T > lowest()
Definition vec3.h:379
static vec3< T > min()
Definition vec3.h:389
static vec3< T > max()
Definition vec3.h:384
friend bool operator>(const vec3< T > &lhs, const vec3< T > &rhs)
Definition vec3.h:272
friend bool operator==(const vec3< T > &lhs, const vec3< T > &rhs)
Definition vec3.h:262
vec3< T > & operator+=(const vec3< T > &rhs)
Definition vec3.h:215
const size_t dim
dimension of object
Definition vec3.h:38
vec3(const U &_v)
Definition vec3.h:97
friend vec3< T > operator-(vec3< T > lhs, const vec3< T > &rhs)
Definition vec3.h:166
const T & operator[](const int &index) const
Definition vec3.h:315
vec3(const T *v)
Definition vec3.h:117
friend T operator*(vec3< T > lhs, const vec3< T > &rhs)
Definition vec3.h:190
friend vec3< T > operator/(vec3< T > lhs, const vec3< T > &rhs)
Definition vec3.h:207
friend vec3< T > operator/(vec3< T > lhs, const T &rhs)
Definition vec3.h:198
friend vec3< T > operator+(vec3< T > lhs, const vec3< T > &rhs)
Definition vec3.h:159
vec3< T > normalize() const
Definition vec3.h:147
constexpr vec3< T > & operator=(vec3< T > const &V)
Definition vec3.h:289
T & operator[](const int &index)
Definition vec3.h:302
vec3< T > & operator*=(const T &rhs)
Definition vec3.h:237
vec3< T > & operator/=(const T &rhs)
Definition vec3.h:248
vec3(const T &_x, const T &_y, const T &_z)
Definition vec3.h:65
vec3(const vec3< U > &v)
Definition vec3.h:112
friend bool operator<(const vec3< T > &lhs, const vec3< T > &rhs)
Definition vec3.h:280
vec3(const vec3< T > &v)
Definition vec3.h:106
friend std::ostream & operator<<(std::ostream &, const vec3< U > &)
float length() const
Definition vec3.h:142
vec3(const vec2< T > &a, const T &z)
Definition vec3.h:86
vec3(const vec4< T > &a)
Definition vec3.h:75
friend vec3< T > operator*(const T &lhs, vec3< T > rhs)
Definition vec3.h:182
vec3< T > cross(const vec3< T > &rhs) const
Definition vec3.h:130
friend vec3< T > operator*(vec3< T > lhs, const T &rhs)
Definition vec3.h:174
vec3< T > & operator-=(const vec3< T > &rhs)
Definition vec3.h:226
vec3()
Definition vec3.h:53
vec3< T > build_vec3(void *in)
Definition vec3.h:360
std::ostream & operator<<(std::ostream &os, const vec3< T > &obj)
Definition vec3.h:345