123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- /*
- * Author: Patrick-Christopher Mattulat
- * Company: Lynar Studios
- * E-Mail: webmaster@lynarstudios.com
- * Created: 2022-08-05
- * Changed: 2022-08-05
- *
- * */
- #ifndef LS_MATH_VECTOR2_HPP
- #define LS_MATH_VECTOR2_HPP
- #include <ls-math/core/types/VectorTypes.hpp>
- #include <cstdlib>
- namespace ls::math::vector
- {
- class Vector2
- {
- public:
- Vector2(const ls::math::core::type::vector2_component& _x, const ls::math::core::type::vector2_component& _y);
- ~Vector2() = default;
- // arithmetic operations
- ls::math::vector::Vector2 operator+(ls::math::vector::Vector2 _vector);
- ls::math::vector::Vector2 operator-(ls::math::vector::Vector2 _vector);
- ls::math::core::type::vector_scalar operator*(ls::math::vector::Vector2 _vector);
- ls::math::vector::Vector2 operator*(double _value);
- // comparison operations
- bool operator==(const Vector2& _vector);
- bool operator!=(const Vector2& _vector);
- // additional functionality
- double getLength();
- ls::math::core::type::vector2_component getX();
- ls::math::core::type::vector2_component getY();
- void setX(const ls::math::core::type::vector2_component& _value);
- void setY(const ls::math::core::type::vector2_component& _value);
- private:
- ls::math::core::type::vector2_components components{};
- };
- }
- #endif
|