3#include "../Containers/String.hpp"
13 #pragma warning(suppress: 4201)
14 struct { T
x,
y,
z; };
47 void operator*=(
const float value) {
x *= value;
y *= value;
z *= value; }
51 float Dot(
const Vector3& vector)
const {
return x * vector.
x +
y * vector.
y +
z * vector.
z; }
62 for (
int i = 0; i < 3; i++) {
63 if (
f[i] != other.
f[i])
return false;
69 for (
int i = 0; i < 3; i++) {
70 if (
f[i] != other.
f[i])
return true;
88 return "(x: " + Faro::ToString<T>(
x) +
", y: " + Faro::ToString<T>(
y) +
", z: " + Faro::ToString<T>(
z) +
")";
Vector3< int32 > Int3D
Definition Vector3.hpp:104
Vector3< float > Float3D
Definition Vector3.hpp:103
float Dot(const Vector3 &vector) const
Definition Vector3.hpp:51
void Normalize()
Definition Vector3.hpp:57
static Vector3 zero
Definition Vector3.hpp:96
static Vector3 Up
Definition Vector3.hpp:79
static Vector3 Forward
Definition Vector3.hpp:81
Vector2< T > yz()
Definition Vector3.hpp:28
T SquareMagnitude() const
Definition Vector3.hpp:55
bool operator==(const Vector3 &other) const
Definition Vector3.hpp:61
Vector3(Vector2< T > v, T z)
Definition Vector3.hpp:21
T Magnitude() const
Definition Vector3.hpp:53
void Clear()
Definition Vector3.hpp:75
T f[3]
Definition Vector3.hpp:12
Vector3(T x, T y, T z)
Definition Vector3.hpp:19
void operator*=(const float value)
Definition Vector3.hpp:47
Vector3 operator*(const float value) const
Definition Vector3.hpp:37
static Vector3 Right
Definition Vector3.hpp:84
static Vector3 Down
Definition Vector3.hpp:80
Vector3 operator+(const Vector3 &v) const
Definition Vector3.hpp:33
static Vector3 Left
Definition Vector3.hpp:83
bool operator!=(const Vector3 &other) const
Definition Vector3.hpp:68
T x
Definition Vector3.hpp:14
static Vector3 Back
Definition Vector3.hpp:82
Vector3 operator-() const
Definition Vector3.hpp:41
Vector3< N > ToType()
Definition Vector3.hpp:91
Vector3()
Definition Vector3.hpp:17
Vector2< T > xy()
Definition Vector3.hpp:23
Vector3 operator/(const float value) const
Definition Vector3.hpp:39
Vector3 Lerp(const Vector3 &r, float fact) const
Definition Vector3.hpp:77
String ToString()
Definition Vector3.hpp:86
Vector3 Normalized()
Definition Vector3.hpp:59
Vector3 Cross(const Vector3 &vector) const
Definition Vector3.hpp:49
void operator-=(const Vector3 &v)
Definition Vector3.hpp:45
Vector3 operator-(const Vector3 &v) const
Definition Vector3.hpp:35
static Vector3 one
Definition Vector3.hpp:97
T y
Definition Vector3.hpp:14
T z
Definition Vector3.hpp:14
void operator+=(const Vector3 &v)
Definition Vector3.hpp:43