Euphoria
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
libs
base
src
base
aabb.h
Go to the documentation of this file.
1
#pragma once
2
3
4
5
#include "
base/vec3.h
"
6
7
namespace
eu
8
{
9
struct
Random;
10
}
11
12
namespace
eu
13
{
14
struct
Aabb
15
{
16
vec3f
min
;
17
vec3f
max
;
18
19
Aabb
(
const
vec3f
& amin,
const
vec3f
& amax);
20
[[nodiscard]]
static
Aabb
create_empty
();
21
22
void
extend
(
const
vec3f
& vec);
23
void
extend
(
const
Aabb
& aabb);
24
void
offset
(
const
vec3f
& vec);
25
26
[[nodiscard]]
vec3f
wrap
(
const
vec3f
& vec)
const
;
27
[[nodiscard]]
Aabb
offset_copy
(
const
vec3f
& vec)
const
;
28
29
[[nodiscard]]
vec3f
get_size
()
const
;
30
[[nodiscard]]
bool
is_valid
()
const
;
31
[[nodiscard]]
vec3f
get_offset
()
const
;
32
33
34
[[nodiscard]] std::vector<vec3f>
calc_all_corners
()
const
;
35
};
36
37
std::string
to_string
(
const
Aabb
& a);
38
vec3f
get_random_point
(
Random
* rand,
const
Aabb
&);
39
}
40
41
ADD_DEFAULT_FORMATTER
(
eu::Aabb
, std::string,
eu::to_string
);
ADD_DEFAULT_FORMATTER
ADD_DEFAULT_FORMATTER(eu::Aabb, std::string, eu::to_string)
eu
Definition:
assert.h:90
eu::to_string
std::string to_string(const Aabb &a)
Definition:
aabb.cc:110
eu::get_random_point
vec3f get_random_point(Random *rand, const Aabb &a)
Definition:
aabb.cc:116
eu::Aabb
Definition:
aabb.h:15
eu::Aabb::Aabb
Aabb(const vec3f &amin, const vec3f &amax)
Definition:
aabb.cc:10
eu::Aabb::offset_copy
Aabb offset_copy(const vec3f &vec) const
Definition:
aabb.cc:89
eu::Aabb::get_size
vec3f get_size() const
Definition:
aabb.cc:56
eu::Aabb::calc_all_corners
std::vector< vec3f > calc_all_corners() const
Definition:
aabb.cc:98
eu::Aabb::is_valid
bool is_valid() const
Definition:
aabb.cc:64
eu::Aabb::min
vec3f min
Definition:
aabb.h:16
eu::Aabb::get_offset
vec3f get_offset() const
Definition:
aabb.cc:73
eu::Aabb::create_empty
static Aabb create_empty()
Definition:
aabb.cc:49
eu::Aabb::wrap
vec3f wrap(const vec3f &vec) const
Definition:
aabb.cc:17
eu::Aabb::extend
void extend(const vec3f &vec)
Definition:
aabb.cc:31
eu::Aabb::offset
void offset(const vec3f &vec)
Definition:
aabb.cc:81
eu::Aabb::max
vec3f max
Definition:
aabb.h:17
eu::Random
WEL512 Random Number Generator.
Definition:
random.h:21
eu::vec3f
Definition:
vec3.h:48
vec3.h