33 explicit Scale3f(
const std::tuple<float, float, float>& a);
34 Scale3f(
float ax,
float ay,
float az);
35 explicit Scale3f(
const float* a);
53 explicit vec3f(
float a);
54 explicit vec3f(
const std::tuple<float, float, float>& a);
55 constexpr
vec3f(
float ax,
float ay,
float az)
62 explicit vec3f(
const float* a);
67 [[nodiscard]]
float dot(
const vec3f& rhs)
const;
81 return x *
x +
y *
y +
z *
z;
105 return {-this->
x, -this->
y, -this->
z};
108 [[nodiscard]] constexpr
bool
119 constexpr
unit3f(
float a,
float b,
float c)
171 #define M(var) eu::min(lhs.var, rhs.var)
180 #define M(var) eu::max(lhs.var, rhs.var)
Angle operator+(const Angle &lhs, const Angle &rhs)
Angle operator-(const Angle &lhs, const Angle &rhs)
Angle operator/(const Angle &lhs, float rhs)
vec3f lerp_vec3f(const vec3f &f, float v, const vec3f &t)
Functions.
std::string to_string(const Aabb &a)
bool is_equal(int lhs, int rhs)
size2f min(const size2f lhs, const size2f rhs)
size2f max(const size2f lhs, const size2f rhs)
Angle operator*(const Angle &lhs, float rhs)
bool operator==(const Scale3f &rhs)=delete
constexpr bool is_valid() const
static unit3f to_unit(float x, float y, float z)
bool operator==(const unit3f &rhs)=delete
constexpr unit3f(float a, float b, float c)
constexpr unit3f operator-() const
constexpr vec3f(float ax, float ay, float az)
void operator-=(const vec3f &rhs)
unit3f get_normalized() const
void operator*=(float rhs)
unit3f as_normalized() const
constexpr float get_length_squared() const
vec3f cross(const vec3f &u) const
static vec3f from_to(const vec3f &from, const vec3f &to)
bool operator==(const vec3f &rhs)=delete
void operator+=(const vec3f &rhs)
float dot(const vec3f &rhs) const
void operator/=(float rhs)
ADD_DEFAULT_FORMATTER(eu::vec3f, std::string, eu::to_string)