69 lines
1.7 KiB
C++

/*
Use this to implement the vector math functions
https://www.o3de.org/blog/posts/vectors-matrices-matrix-order/
*/
namespace Core
{
class Vector2
{
public:
float x;
float y;
Vector2();
Vector2(float x, float y);
Vector2 operator+(Vector2 const& other);
Vector2 operator-(Vector2 const& other);
Vector2 operator*(Vector2 const& other);
Vector2 operator/(Vector2 const& other);
Vector2& operator+=(Vector2 const& other);
Vector2& operator-=(Vector2 const& other);
Vector2& operator*=(Vector2 const& other);
Vector2& operator/=(Vector2 const& other);
bool operator==(Vector2 const& other);
bool operator!=(Vector2 const& other);
Vector2 operator*(float const& scalar);
};
class Vector3
{
public:
float x;
float y;
float z;
float w;
Vector3();
Vector3(float x, float y, float z);
Vector3(float x, float y, float z, float w);
Vector3 operator+(Vector3 const& other);
Vector3 operator-(Vector3 const& other);
Vector3 operator*(Vector3 const& other);
Vector3 operator/(Vector3 const& other);
Vector3& operator+=(Vector3 const& other);
Vector3& operator-=(Vector3 const& other);
Vector3& operator*=(Vector3 const& other);
Vector3& operator/=(Vector3 const& other);
bool operator==(Vector3 const& other);
bool operator!=(Vector3 const& other);
Vector3 operator*(float const& scalar);
};
class Matrix2x2
{
//TODO (Eero): Implement
};
class Matrix4x4
{
//TODO (Eero): Implement
};
} // namespace Core