mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-04-28 15:57:59 +03:00
48 lines
1.1 KiB
C++
48 lines
1.1 KiB
C++
#pragma once
|
|
|
|
namespace TEN::Math
|
|
{
|
|
class Vector2i
|
|
{
|
|
public:
|
|
// Members
|
|
|
|
int x = 0;
|
|
int y = 0;
|
|
|
|
// Constants
|
|
|
|
static const Vector2i Zero;
|
|
|
|
// Constructors
|
|
|
|
constexpr Vector2i() {};
|
|
constexpr Vector2i(int x, int y) { this->x = x; this->y = y; };
|
|
Vector2i(const Vector2& vector);
|
|
|
|
// Utilities
|
|
|
|
static float Distance(const Vector2i& origin, const Vector2i& target);
|
|
static float DistanceSquared(const Vector2i& origin, const Vector2i& target);
|
|
|
|
// Converters
|
|
|
|
Vector2 ToVector2() const;
|
|
|
|
// Operators
|
|
|
|
bool operator ==(const Vector2i& vector) const;
|
|
bool operator !=(const Vector2i& vector) const;
|
|
Vector2i& operator =(const Vector2i& vector);
|
|
Vector2i& operator +=(const Vector2i& vector);
|
|
Vector2i& operator -=(const Vector2i& vector);
|
|
Vector2i& operator *=(const Vector2i& vector);
|
|
Vector2i& operator *=(float scalar);
|
|
Vector2i& operator /=(float scalar);
|
|
Vector2i operator +(const Vector2i& vector) const;
|
|
Vector2i operator -(const Vector2i& vector) const;
|
|
Vector2i operator *(const Vector2i& vector) const;
|
|
Vector2i operator *(float scalar) const;
|
|
Vector2i operator /(float scalar) const;
|
|
};
|
|
}
|