21 :
x(scalar),
y(scalar),
z(scalar)
32 :
x((T)vec.
x),
y((T)vec.
y),
z(
z)
38 :
x((T)vec.
x),
y((T)vec.
y),
z((T)vec.
z)
235 return x <= other.
x &&
y <= other.
y &&
z <= other.
z;
240 return x < other.
x &&
y < other.
y &&
z < other.
z;
245 return x >= other.
x &&
y >= other.
y &&
z >= other.
z;
250 return x > other.
x &&
y > other.
y &&
z > other.
z;
338 y * vec.
z -
z * vec.
y,
339 z * vec.
x -
x * vec.
z,
340 x * vec.
y -
y * vec.
x
346 return x * vec.
x +
y * vec.
y +
z * vec.
z;
376 return x *
x +
y *
y +
z *
z;
381 return (T)
Math::Sqrt(Math::Pow<T>(vec.
x -
x, 2) + Math::Pow<T>(vec.
y -
y, 2) + Math::Pow<T>(vec.
z -
z, 2));
386 return static_cast<T
>(Math::Pow<T>(vec.
x -
x, 2) + Math::Pow<T>(vec.
y -
y, 2) + Math::Pow<T>(vec.
z -
z, 2));
427 return start + (finish - start) * t;
#define EHS_LOG_INT(type, code, msg)
Definition: Log.h:137
static T Degr(const T from)
Definition: Math.h:99
static T Rads(const T from)
Definition: Math.h:89
static R ACos(const R xPos, const T precision=10)
Definition: Math.h:328
static bool ComCmp(float a, float b)
Combined absolute and relative tolerance comparison for single precision floats.
Definition: Math.cpp:26
static T Abs(const T from)
Definition: Math.h:70
static T Sqrt(const T from)
Definition: Math.h:238
static Str< Char_8, UInt_64 > FromNum(const SInt_64 num)
Definition: Str.h:1348
T GetMagnitude2() const
Definition: Vec2.h:299
T GetDot(const Vec2< T > &vec) const
Definition: Vec2.h:269
void ToDegr()
Definition: Vec3.h:418
Vec3< T > & operator-=(const T scalar)
Definition: Vec3.h:144
Vec3< T > operator/(const T scalar) const
Definition: Vec3.h:213
Vec3< T > operator-(const Vec3< T > &vec) const
Definition: Vec3.h:113
bool operator<(const Vec3< T > &other) const
Definition: Vec3.h:238
bool operator>=(const Vec3< T > &other) const
Definition: Vec3.h:243
bool operator>(const Vec3< T > &other) const
Definition: Vec3.h:248
Vec3< T > & operator-=(const Vec3< T > &vec)
Definition: Vec3.h:124
Vec3< T > & operator/=(const T scalar)
Definition: Vec3.h:224
Vec3< T > & operator*=(const Vec3< T > &vec)
Definition: Vec3.h:164
Vec3< T > & operator+=(const T scalar)
Definition: Vec3.h:104
Vec3< T > & operator+=(const Vec3< T > &vec)
Definition: Vec3.h:84
Vec3(const T x, const T y, const T z)
Definition: Vec3.h:25
Vec3< T > & operator/=(const Vec3< T > &vec)
Definition: Vec3.h:204
T GetDistance2(const Vec3< T > &vec) const
Definition: Vec3.h:384
Vec3< T > & operator=(const Vec2< C > &vec)
Definition: Vec3.h:43
Vec3(const Vec3< C > &vec)
Definition: Vec3.h:37
T GetDot(const Vec3< T > &vec) const
Definition: Vec3.h:344
T GetMagnitude() const
Definition: Vec3.h:369
Vec3< T > GetNorm() const
Definition: Vec3.h:313
T & operator[](const UInt_64 index)
Definition: Vec3.h:274
bool operator<=(const Vec3< T > &other) const
Definition: Vec3.h:233
bool operator!=(const Vec3< T > &vec) const
Definition: Vec3.h:68
Vec3(const Vec2< C > &vec, const T z=0)
Definition: Vec3.h:31
Vec3< T > operator+(const Vec3< T > &vec) const
Definition: Vec3.h:73
void Norm()
Definition: Vec3.h:326
Vec3< T > operator/(const Vec3< T > &vec) const
Definition: Vec3.h:193
void ToRads()
Definition: Vec3.h:400
Vec2< T > GetReflection(const Vec2< T > &normal) const
Definition: Vec3.h:364
bool operator==(const Vec3< T > &vec) const
Definition: Vec3.h:62
T GetMagnitude2() const
Definition: Vec3.h:374
T operator[](const UInt_64 index) const
Definition: Vec3.h:258
Vec3< T > operator*(const Vec3< T > &vec) const
Definition: Vec3.h:153
Vec2< T > GetPerpendicular(const Vec2< T > &length) const
Definition: Vec3.h:359
Vec2< T > GetProjection(const Vec2< T > &length) const
Definition: Vec3.h:354
Vec3< T > GetCross(const Vec3< T > &vec) const
Definition: Vec3.h:335
void Abs()
Definition: Vec3.h:306
Vec3< T > operator-(const T scalar) const
Definition: Vec3.h:133
Vec3< T > GetDegr() const
Definition: Vec3.h:407
Vec3< T > & operator*=(const T scalar)
Definition: Vec3.h:184
T GetDistance(const Vec3< T > &vec) const
Definition: Vec3.h:379
T GetAngle(const Vec2< T > &vec) const
Definition: Vec3.h:349
Vec3< T > & operator=(const Vec3< C > &vec)
Definition: Vec3.h:53
static Vec3 Lerp(const Vec3 &start, const Vec3 &finish, const T t)
Definition: Vec3.h:425
Vec3< T > operator+(const T scalar) const
Definition: Vec3.h:93
Vec3(const T scalar=0)
Definition: Vec3.h:20
Vec3< T > GetAbs() const
Definition: Vec3.h:295
Vec3< T > operator*(const T scalar) const
Definition: Vec3.h:173
Vec3 operator-()
Definition: Vec3.h:253
Vec3< T > GetRads() const
Definition: Vec3.h:389
Vec3< Int_32 > Vec3_32
Definition: Vec3.h:436
Vec3< UInt_64 > Vec3_u64
Definition: Vec3.h:431
Vec3< float > Vec3_f
Definition: Vec3.h:443
Vec3< UInt_8 > Vec3_u8
Definition: Vec3.h:440
Vec3< Int_8 > Vec3_8
Definition: Vec3.h:442
Vec3< Int_16 > Vec3_16
Definition: Vec3.h:439
Vec3< double > Vec3_d
Definition: Vec3.h:444
Vec3< SInt_8 > Vec3_s8
Definition: Vec3.h:441
Vec3< UInt_16 > Vec3_u16
Definition: Vec3.h:437
Vec3< SInt_32 > Vec3_s32
Definition: Vec3.h:435
Vec3< SInt_64 > Vec3_s64
Definition: Vec3.h:432
Vec3< UInt_32 > Vec3_u32
Definition: Vec3.h:434
Vec3< Int_64 > Vec3_64
Definition: Vec3.h:433
Vec3< SInt_16 > Vec3_s16
Definition: Vec3.h:438