21 const auto C = ::eu::wrap(make_range(min.C, max.C), vec.C)
26 return vec3f {x, y, z};
66 #define M(var) min.var <= max.var
67 return M(x) &&
M(y) &&
M(z);
97 [[nodiscard]] std::vector<vec3f>
112 return fmt::format(
"{{ {}, {} }}", a.min, a.max);
122 return vec3f {x, y, z};
Range< T > make_range(T min, T max)
T get_random_in_range(Random *rand, const Range< T > &range)
std::string to_string(const Aabb &a)
size2f min(const size2f lhs, const size2f rhs)
size2f max(const size2f lhs, const size2f rhs)
vec3f get_random_point(Random *rand, const Aabb &a)
Aabb(const vec3f &amin, const vec3f &amax)
Aabb offset_copy(const vec3f &vec) const
std::vector< vec3f > calc_all_corners() const
static Aabb create_empty()
vec3f wrap(const vec3f &vec) const
void extend(const vec3f &vec)
void offset(const vec3f &vec)
WEL512 Random Number Generator.
static vec3f from_to(const vec3f &from, const vec3f &to)