22 struct vec2f;
struct vec2i;
26 struct unit2f;
struct unit2i;
38 constexpr
vec2f(
float ax,
float ay)
43 explicit vec2f(
const std::tuple<float, float>& a);
82 explicit vec2i(
const std::tuple<int, int>& a);
83 explicit vec2i(
const unit2i& u);
110 explicit unit2f(
float ax,
float ay);
122 [[nodiscard]]
bool is_valid()
const;
142 explicit Scale2f(
const std::tuple<float, float>& a);
Angle operator+(const Angle &lhs, const Angle &rhs)
bool operator==(const Lrud< T > &lhs, const Lrud< T > &rhs)
Angle operator-(const Angle &lhs, const Angle &rhs)
Angle operator/(const Angle &lhs, float rhs)
std::string to_string(const Aabb &a)
bool operator!=(const Lrud< T > &lhs, const Lrud< T > &rhs)
DEFAULT_INTERPOLATE(Angle, lerp_angle)
unit2f create_random_unit(Random *random)
Angle operator*(const Angle &lhs, float rhs)
float dot(const quatf &lhs, const quatf &rhs)
vec2f lerp_vec2f(const vec2f &from, float v, const vec2f &to)
Transform.
vec2i lerp_vec2i(const vec2i &from, float v, const vec2i &to)
WEL512 Random Number Generator.
Scale2f(float ax, float ay)
Scale2f get_flipped_y() const
Scale2f get_rotated(const Angle &a) const
bool operator==(const Scale2f &rhs)=delete
Scale2f operator-() const
unit2f get_flipped_y() const
unit2f get_rotated(const Angle &a) const
unit2f(float ax, float ay)
float get_length_squared() const
void operator*=(float rhs)
unit2f get_normalized() const
void operator-=(const vec2f &rhs)
vec2f get_rotated(const Angle &a) const
void operator/=(float rhs)
static vec2f from_to(const vec2f &from, const vec2f &to)
vec2f get_flipped_y() const
NormalizedAndLength< unit2f, float > get_normalized_and_length() const
void operator+=(const vec2f &rhs)
float get_length_squared() const
constexpr vec2f(float ax, float ay)
vec2i get_flipped_y() const
constexpr vec2i(int ax, int ay)
static vec2i from_to(const vec2i &from, const vec2i &to)
void operator-=(const vec2i &rhs)
void operator+=(const vec2i &rhs)
ADD_DEFAULT_FORMATTER(eu::vec2f, std::string, eu::to_string)