You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
520 B
C++
30 lines
520 B
C++
#ifndef VEC2_HPP
|
|
#define VEC2_HPP
|
|
|
|
#include <tuple>
|
|
|
|
struct Vec2 {
|
|
float x = 0.f, y = 0.f;
|
|
|
|
constexpr Vec2() = default;
|
|
|
|
constexpr Vec2(float x_, float y_):
|
|
x(x_), y(y_) {}
|
|
|
|
Vec2(std::tuple<float, float> tup):
|
|
x(std::get<0>(tup)), y(std::get<1>(tup)) {}
|
|
|
|
auto operator+(const Vec2& o) const noexcept {
|
|
return Vec2 {x + o.x, y + o.y};
|
|
}
|
|
|
|
auto& operator+=(const Vec2& o) noexcept {
|
|
x += o.x;
|
|
y += o.y;
|
|
return *this;
|
|
}
|
|
};
|
|
|
|
#endif // VEC2_HPP
|
|
|