69 lines
1.7 KiB
C++
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
|