diff options
Diffstat (limited to 'primedev/core/math/vector.h')
-rw-r--r-- | primedev/core/math/vector.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/primedev/core/math/vector.h b/primedev/core/math/vector.h new file mode 100644 index 00000000..8684908f --- /dev/null +++ b/primedev/core/math/vector.h @@ -0,0 +1,47 @@ +#include <cmath> + +#pragma once + +union Vector3 +{ + struct + { + float x; + float y; + float z; + }; + + float raw[3]; + + void MakeValid() + { + for (auto& fl : raw) + if (std::isnan(fl)) + fl = 0; + } + + // todo: more operators maybe + bool operator==(const Vector3& other) + { + return x == other.x && y == other.y && z == other.z; + } +}; + +union QAngle +{ + struct + { + float x; + float y; + float z; + float w; + }; + + float raw[4]; + + // todo: more operators maybe + bool operator==(const QAngle& other) + { + return x == other.x && y == other.y && z == other.z && w == other.w; + } +}; |