Vector2.inl 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /**
  2. * Vector2.inl
  3. */
  4. #include "Vector2.h"
  5. namespace gameplay
  6. {
  7. inline Vector2 Vector2::operator+(const Vector2& v)
  8. {
  9. Vector2 result(*this);
  10. result.add(v);
  11. return result;
  12. }
  13. inline Vector2& Vector2::operator+=(const Vector2& v)
  14. {
  15. add(v);
  16. return *this;
  17. }
  18. inline Vector2 Vector2::operator-(const Vector2& v)
  19. {
  20. Vector2 result(*this);
  21. result.subtract(v);
  22. return result;
  23. }
  24. inline Vector2& Vector2::operator-=(const Vector2& v)
  25. {
  26. subtract(v);
  27. return *this;
  28. }
  29. inline Vector2 Vector2::operator-()
  30. {
  31. Vector2 result(*this);
  32. result.negate();
  33. return result;
  34. }
  35. inline Vector2 Vector2::operator*(float x)
  36. {
  37. Vector2 result(*this);
  38. result.scale(x);
  39. return result;
  40. }
  41. inline Vector2& Vector2::operator*=(float x)
  42. {
  43. scale(x);
  44. return *this;
  45. }
  46. inline bool Vector2::operator<(const Vector2& v) const
  47. {
  48. if (x == v.x)
  49. {
  50. return y < v.y;
  51. }
  52. return x < v.x;
  53. }
  54. inline bool Vector2::operator==(const Vector2& v) const
  55. {
  56. return x==v.x && y==v.y;
  57. }
  58. inline Vector2 operator*(float x, const Vector2& v)
  59. {
  60. Vector2 result(v);
  61. result.scale(x);
  62. return result;
  63. }
  64. }