LeviLamina
Loading...
Searching...
No Matches
RelativeVolumeListBlockVolume.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#include "mc/world/level/block/BlockVolumeBase.h"
8
9// auto generated forward declare list
10// clang-format off
12class BlockPos;
13class BoundingBox;
14class ChunkPos;
16class Vec3;
17namespace Editor { class RelativeVolumeListBlockVolumeIterator; }
18namespace cereal { struct ReflectionCtx; }
19// clang-format on
20
21namespace Editor {
22
24public:
25 // member variables
26 // NOLINTBEGIN
34 // NOLINTEND
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual ::BoundingBox getBoundingBox() const /*override*/;
40
41 virtual ::BlockPos getMin() const /*override*/;
42
43 virtual ::BlockPos getMax() const /*override*/;
44
45 virtual ::glm::ivec3 getSpan() const /*override*/;
46
47 virtual int getCapacity() const /*override*/;
48
49 virtual bool isInside(::BlockPos const& pos) const /*override*/;
50
51 virtual void translate(::BlockPos const& delta) /*override*/;
52
53 virtual void forEach(::brstd::function_ref<bool(::BlockPos const&)> callback) const /*override*/;
54
55 virtual ::std::set<::ChunkPos> getChunks() const /*override*/;
56
57 virtual ::std::unordered_set<::BlockPos> getFlattenedBlockPositions() const /*override*/;
58
59 virtual ::std::unique_ptr<::BaseBlockLocationIterator> getIterator() const /*override*/;
60 // NOLINTEND
61
62public:
63 // member functions
64 // NOLINTBEGIN
66
67 MCNAPI explicit RelativeVolumeListBlockVolume(::std::optional<::BlockPos> const& origin);
68
70
72
74 ::std::unordered_set<::BlockPos> const& blockPositions,
75 ::std::optional<::BlockPos> const& origin
76 );
77
79 ::std::vector<::Vec3> const& blockPositions,
80 ::std::optional<::BlockPos> const& origin
81 );
82
83 MCNAPI RelativeVolumeListBlockVolume(::Vec3 const& pos, ::std::optional<::BlockPos> const& origin);
84
85 MCNAPI RelativeVolumeListBlockVolume(::BlockVolumeBase const& vol, ::std::optional<::BlockPos> const& origin);
86
87 MCNAPI RelativeVolumeListBlockVolume(::SimpleBlockVolume const& volume, ::std::optional<::BlockPos> const& origin);
88
89 MCNAPI void add(::SimpleBlockVolume const& _relativeVolume);
90
91 MCNAPI void add(::std::unordered_set<::BlockPos> const& blockPositions);
92
93 MCNAPI void add(::std::vector<::BlockPos> const& blockPositions);
94
95 MCNAPI void add(::std::vector<::Vec3> const& blockPositions);
96
97 MCNAPI void add(::BlockPos const& pos);
98
99 MCNAPI void add(::Vec3 const& pos);
100
102
103 MCNAPI ::Editor::RelativeVolumeListBlockVolumeIterator begin() const;
104
105 MCNAPI ::std::vector<::SimpleBlockVolume>
107
108 MCNAPI void clear();
109
110 MCNAPI void clearOrigin();
111
112 MCNAPI void enableAdjacencyMap();
113
114 MCNAPI ::Editor::RelativeVolumeListBlockVolumeIterator end() const;
115
116#ifdef LL_PLAT_C
117 MCNAPI void forEachRelativeBlockPosition(::std::function<bool(::BlockPos const&)> callback) const;
118#endif
119
120 MCNAPI ::std::vector<::BlockPos> getBlockPositionList(bool relative) const;
121
122#ifdef LL_PLAT_C
123 MCNAPI uint64 getChangeCount() const;
124#endif
125
126 MCNAPI ::std::optional<::BlockPos> getOrigin() const;
127
128 MCNAPI ::std::vector<::Vec3> getVec3PositionList(bool relative) const;
129
130 MCNAPI ::std::vector<::SimpleBlockVolume> const& getVolumeCollection() const;
131
132 MCNAPI int getVolumeCount() const;
133
134 MCNAPI bool hasAdjacent(::BlockPos const& pos, ::BlockPos const& offset) const;
135
136 MCNAPI bool isEmpty() const;
137
138 MCNAPI bool isValid() const;
139
140 MCNAPI void moveTo(::BlockPos const& pos);
141
142#ifdef LL_PLAT_C
143 MCNAPI bool operator!=(::SimpleBlockVolume const& rhs) const;
144#endif
145
146 MCNAPI ::Editor::RelativeVolumeListBlockVolume& operator=(::BlockPos const& location);
147
148 MCNAPI ::Editor::RelativeVolumeListBlockVolume& operator=(::Vec3 const& location);
149
150 MCNAPI ::Editor::RelativeVolumeListBlockVolume& operator=(::std::vector<::BlockPos> const& locations);
151
152 MCNAPI ::Editor::RelativeVolumeListBlockVolume& operator=(::std::vector<::Vec3> const& locations);
153
154 MCNAPI ::Editor::RelativeVolumeListBlockVolume& operator=(::Editor::RelativeVolumeListBlockVolume&& rhs);
155
156 MCNAPI ::Editor::RelativeVolumeListBlockVolume& operator=(::Editor::RelativeVolumeListBlockVolume const& rhs);
157
158 MCNAPI ::Editor::RelativeVolumeListBlockVolume& operator=(::SimpleBlockVolume const& volume);
159
160 MCNAPI ::Editor::RelativeVolumeListBlockVolume& operator=(::BlockVolumeBase const& volumeBase);
161
163
164 MCNAPI void remove(::std::unordered_set<::BlockPos> const& blockPositions);
165
166 MCNAPI void remove(::std::vector<::BlockPos> const& blockPositions);
167
168 MCNAPI void remove(::std::vector<::Vec3> const& blockPositions);
169
170 MCNAPI void remove(::BlockPos const& pos);
171
172 MCNAPI void remove(::Vec3 const& pos);
173
174 MCNAPI void remove(::SimpleBlockVolume const& relativeVolume);
175
177
178 MCNAPI void setOrigin(::BlockPos const& origin);
179 // NOLINTEND
180
181public:
182 // static functions
183 // NOLINTBEGIN
185 // NOLINTEND
186
187public:
188 // constructor thunks
189 // NOLINTBEGIN
190 MCNAPI void* $ctor();
191
192 MCNAPI void* $ctor(::std::optional<::BlockPos> const& origin);
193
195
197
198 MCNAPI void*
199 $ctor(::std::unordered_set<::BlockPos> const& blockPositions, ::std::optional<::BlockPos> const& origin);
200
201 MCNAPI void* $ctor(::std::vector<::Vec3> const& blockPositions, ::std::optional<::BlockPos> const& origin);
202
203 MCNAPI void* $ctor(::Vec3 const& pos, ::std::optional<::BlockPos> const& origin);
204
205 MCNAPI void* $ctor(::BlockVolumeBase const& vol, ::std::optional<::BlockPos> const& origin);
206
207 MCNAPI void* $ctor(::SimpleBlockVolume const& volume, ::std::optional<::BlockPos> const& origin);
208 // NOLINTEND
209
210public:
211 // virtual function thunks
212 // NOLINTBEGIN
213 MCNAPI ::BoundingBox $getBoundingBox() const;
214
215 MCNAPI ::BlockPos $getMin() const;
216
217 MCNAPI ::BlockPos $getMax() const;
218
219 MCNAPI ::glm::ivec3 $getSpan() const;
220
221 MCNAPI int $getCapacity() const;
222
223 MCNAPI bool $isInside(::BlockPos const& pos) const;
224
225 MCNAPI void $translate(::BlockPos const& delta);
226
227 MCNAPI void $forEach(::brstd::function_ref<bool(::BlockPos const&)> callback) const;
228
229 MCNAPI ::std::set<::ChunkPos> $getChunks() const;
230
231 MCNAPI ::std::unordered_set<::BlockPos> $getFlattenedBlockPositions() const;
232
233 MCNAPI ::std::unique_ptr<::BaseBlockLocationIterator> $getIterator() const;
234
235
236 // NOLINTEND
237
238public:
239 // vftables
240 // NOLINTBEGIN
241 MCNAPI static void** $vftable();
242 // NOLINTEND
243};
244
245} // namespace Editor
Definition BaseBlockLocationIterator.h:8
Definition BlockPos.h:21
Definition BlockVolumeBase.h:16
Definition BoundingBox.h:13
Definition ChunkPos.h:11
Definition RelativeVolumeListBlockVolumeIterator.h:16
Definition RelativeVolumeListBlockVolume.h:23
MCAPI::BoundingBox $getBoundingBox() const
MCAPI::Editor::RelativeVolumeListBlockVolume & operator=(::SimpleBlockVolume const &volume)
MCAPI::Editor::RelativeVolumeListBlockVolume & operator=(::Vec3 const &location)
MCAPI void remove(::std::vector<::BlockPos > const &blockPositions)
MCAPI::BlockPos $getMax() const
MCAPI RelativeVolumeListBlockVolume(::std::optional<::BlockPos > const &origin)
MCAPI void remove(::SimpleBlockVolume const &relativeVolume)
MCAPI void * $ctor(::Editor::RelativeVolumeListBlockVolume &&rhs)
MCAPI void moveTo(::BlockPos const &pos)
MCAPI ::std::unique_ptr<::BaseBlockLocationIterator > $getIterator() const
MCAPI void setOrigin(::BlockPos const &origin)
MCAPI::Editor::RelativeVolumeListBlockVolume & operator=(::Editor::RelativeVolumeListBlockVolume const &rhs)
MCAPI ::std::unordered_set<::BlockPos > $getFlattenedBlockPositions() const
MCAPI void add(::std::vector<::BlockPos > const &blockPositions)
MCAPI bool hasAdjacent(::BlockPos const &pos, ::BlockPos const &offset) const
MCAPI void add(::Editor::RelativeVolumeListBlockVolume const &volume)
MCAPI void remove(::BlockPos const &pos)
MCAPI void add(::std::unordered_set<::BlockPos > const &blockPositions)
MCAPI void remove(::std::vector<::Vec3 > const &blockPositions)
static MCAPI void bindType(::cereal::ReflectionCtx &ctx)
MCAPI RelativeVolumeListBlockVolume(::Editor::RelativeVolumeListBlockVolume const &rhs)
MCAPI::Editor::RelativeVolumeListBlockVolumeIterator begin() const
MCAPI ::std::vector<::SimpleBlockVolume > const & getVolumeCollection() const
MCAPI void add(::BlockPos const &pos)
MCAPI ::std::vector<::BlockPos > getBlockPositionList(bool relative) const
MCAPI void add(::std::vector<::Vec3 > const &blockPositions)
MCAPI void * $ctor(::std::vector<::Vec3 > const &blockPositions, ::std::optional<::BlockPos > const &origin)
MCAPI void * $ctor(::Editor::RelativeVolumeListBlockVolume const &rhs)
MCAPI void $translate(::BlockPos const &delta)
MCAPI bool operator==(::Editor::RelativeVolumeListBlockVolume const &rhs) const
MCAPI::Editor::RelativeVolumeListBlockVolume & operator=(::BlockVolumeBase const &volumeBase)
MCAPI::Editor::RelativeVolumeListBlockVolume & operator=(::std::vector<::Vec3 > const &locations)
MCAPI void * $ctor(::Vec3 const &pos, ::std::optional<::BlockPos > const &origin)
MCAPI::Editor::RelativeVolumeListBlockVolumeIterator end() const
MCAPI::BlockPos $getMin() const
MCAPI RelativeVolumeListBlockVolume(::Vec3 const &pos, ::std::optional<::BlockPos > const &origin)
MCAPI ::std::optional<::BlockPos > getOrigin() const
MCAPI ::std::set<::ChunkPos > $getChunks() const
MCAPI RelativeVolumeListBlockVolume(::SimpleBlockVolume const &volume, ::std::optional<::BlockPos > const &origin)
MCAPI::glm::ivec3 $getSpan() const
MCAPI void add(::SimpleBlockVolume const &_relativeVolume)
MCAPI void * $ctor(::std::unordered_set<::BlockPos > const &blockPositions, ::std::optional<::BlockPos > const &origin)
MCAPI void $forEach(::brstd::function_ref< bool(::BlockPos const &)> callback) const
MCAPI void * $ctor(::BlockVolumeBase const &vol, ::std::optional<::BlockPos > const &origin)
MCAPI void add(::Vec3 const &pos)
MCAPI::Editor::RelativeVolumeListBlockVolume & operator=(::BlockPos const &location)
MCAPI RelativeVolumeListBlockVolume(::Editor::RelativeVolumeListBlockVolume &&rhs)
MCAPI void * $ctor(::SimpleBlockVolume const &volume, ::std::optional<::BlockPos > const &origin)
MCAPI void remove(::Vec3 const &pos)
MCAPI bool $isInside(::BlockPos const &pos) const
MCAPI void remove(::Editor::RelativeVolumeListBlockVolume const &volume)
MCAPI::Editor::RelativeVolumeListBlockVolume & operator=(::std::vector<::BlockPos > const &locations)
MCAPI ::std::vector<::Vec3 > getVec3PositionList(bool relative) const
MCAPI void * $ctor(::std::optional<::BlockPos > const &origin)
MCAPI RelativeVolumeListBlockVolume(::std::unordered_set<::BlockPos > const &blockPositions, ::std::optional<::BlockPos > const &origin)
MCAPI RelativeVolumeListBlockVolume(::BlockVolumeBase const &vol, ::std::optional<::BlockPos > const &origin)
MCAPI RelativeVolumeListBlockVolume(::std::vector<::Vec3 > const &blockPositions, ::std::optional<::BlockPos > const &origin)
MCAPI void remove(::std::unordered_set<::BlockPos > const &blockPositions)
MCAPI::Editor::RelativeVolumeListBlockVolume & operator=(::Editor::RelativeVolumeListBlockVolume &&rhs)
MCAPI ::std::vector<::SimpleBlockVolume > calculateVolumetricDifference(::SimpleBlockVolume const &volA, ::SimpleBlockVolume const &volB)
Definition SimpleBlockVolume.h:21
Definition Vec3.h:10
Definition function_ref.h:60
Definition ReflectionCtx.h:11
Definition ctx.h:5
Definition Alias.h:14