blob: 7a35dd4a6a42db10e6a3451638bc6a9f65710d3c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#ifndef SHARED_CHUNK_AABB
#define SHARED_CHUNK_AABB 1
#pragma once
#include "core/macros.hh"
#include "shared/types.hh"
class ChunkAABB final {
public:
DECLARE_DEFAULT_CONSTRUCTOR(ChunkAABB);
virtual ~ChunkAABB(void) = default;
void set_bounds(const chunk_pos& min, const chunk_pos& max);
void set_offset(const chunk_pos& base, const chunk_pos& size);
const chunk_pos& get_min(void) const;
const chunk_pos& get_max(void) const;
bool contains(const chunk_pos& point) const;
bool intersect(const ChunkAABB& other_box) const;
ChunkAABB combine_with(const ChunkAABB& other_box) const;
ChunkAABB multiply_with(const ChunkAABB& other_box) const;
ChunkAABB push(const chunk_pos& vector) const;
public:
chunk_pos min;
chunk_pos max;
};
#endif /* SHARED_CHUNK_AABB */
|