LeviLamina
Loading...
Searching...
No Matches
BlockVolumeBase.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/brstd/function_ref.h"
7
8// auto generated forward declare list
9// clang-format off
11class BlockPos;
12class BoundingBox;
13class ChunkPos;
14// clang-format on
15
17public:
18 // virtual functions
19 // NOLINTBEGIN
20 virtual ~BlockVolumeBase();
21
22 virtual ::BoundingBox getBoundingBox() const = 0;
23
24 virtual ::BlockPos getMin() const = 0;
25
26 virtual ::BlockPos getMax() const = 0;
27
28 virtual ::glm::ivec3 getSpan() const = 0;
29
30 virtual int getCapacity() const = 0;
31
32 virtual bool isInside(::BlockPos const& pos) const = 0;
33
34 virtual void translate(::BlockPos const& delta) = 0;
35
36 virtual void forEach(::brstd::function_ref<bool(::BlockPos const&)> callback) const = 0;
37
38 virtual ::std::set<::ChunkPos> getChunks() const = 0;
39
40 virtual ::std::unordered_set<::BlockPos> getFlattenedBlockPositions() const = 0;
41
42 virtual ::std::unique_ptr<::BaseBlockLocationIterator> getIterator() const = 0;
43 // NOLINTEND
44
45public:
46 // destructor thunk
47 // NOLINTBEGIN
48 MCFOLD void $dtor();
49 // NOLINTEND
50
51public:
52 // virtual function thunks
53 // NOLINTBEGIN
54
55 // NOLINTEND
56};
Definition BaseBlockLocationIterator.h:8
Definition BlockPos.h:21
Definition BlockVolumeBase.h:16
Definition BoundingBox.h:13
Definition ChunkPos.h:11
Definition function_ref.h:60