36 Vector2 operator *(
float s)
const
41 Vector2 operator /(
float s)
const
48 return Vector2(X / v.X, Y / v.Y);
53 return Vector2(X * v.X, Y * v.Y);
58 return Vector2(X + v.X, Y + v.Y);
63 return Vector2(X - v.X, Y - v.Y);
98 Vector2 Rotate(
float angle)
const
100 float sine = sinf(angle);
101 float cosine = cosf(angle);
104 result.X = X * cosine - Y * sine;
105 result.Y = X * sine + Y * cosine;
112 return sqrtf(X * X + Y * Y);
115 float LengthSquared()
const
117 return X * X + Y * Y;
124 static void Dot(
const Vector2& v1,
const Vector2& v2,
float& result)
126 result = v1.X * v2.X + v1.Y * v2.Y;
131 return v1.X * v2.X + v1.Y * v2.Y;
137 static float DistanceSquared(
const Vector2& v1,
const Vector2& v2);
138 static void DistanceSquared(
const Vector2& v1,
const Vector2& v2,
float& result);
155 #endif // MATH_VECTOR2_H