Vector2i.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #pragma once
  9. #include <AzCore/base.h>
  10. #include <AzCore/Math/Vector2.h>
  11. namespace Terrain
  12. {
  13. class Vector2i
  14. {
  15. public:
  16. Vector2i() = default;
  17. Vector2i(int32_t x, int32_t y);
  18. Vector2i(uint32_t value);
  19. Vector2i(int32_t value);
  20. AZ::Vector2 ToVector2();
  21. Vector2i operator+(const Vector2i& rhs) const;
  22. Vector2i& operator+=(const Vector2i& rhs);
  23. Vector2i operator-(const Vector2i& rhs) const;
  24. Vector2i& operator-=(const Vector2i& rhs);
  25. Vector2i operator-() const;
  26. Vector2i operator*(const Vector2i& rhs) const;
  27. Vector2i& operator*=(const Vector2i& rhs);
  28. Vector2i operator/(const Vector2i& rhs) const;
  29. Vector2i& operator/=(const Vector2i& rhs);
  30. bool operator==(const Vector2i& rhs) const;
  31. bool operator!=(const Vector2i& rhs) const;
  32. int32_t m_x{ 0 };
  33. int32_t m_y{ 0 };
  34. };
  35. }