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/world/level/block/BlockVolumeBase.h"
7
8// auto generated forward declare list
9// clang-format off
11class BlockPos;
12class BoundingBox;
13class ChunkPos;
15class Vec3;
16namespace cereal { struct ReflectionCtx; }
17// clang-format on
18
19namespace Editor {
20
22public:
23 // member variables
24 // NOLINTBEGIN
32 // NOLINTEND
33
34public:
35 // prevent constructor by default
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 // vIndex: 1
42 virtual ::BoundingBox getBoundingBox() const /*override*/;
43
44 // vIndex: 2
45 virtual ::BlockPos getMin() const /*override*/;
46
47 // vIndex: 3
48 virtual ::BlockPos getMax() const /*override*/;
49
50 // vIndex: 4
51 virtual ::glm::ivec3 getSpan() const /*override*/;
52
53 // vIndex: 5
54 virtual int getCapacity() const /*override*/;
55
56 // vIndex: 6
57 virtual bool isInside(::BlockPos const& pos) const /*override*/;
58
59 // vIndex: 7
60 virtual void translate(::BlockPos const& delta) /*override*/;
61
62 // vIndex: 8
63 virtual void forEach(::std::function<bool(::BlockPos const&)> callback) const /*override*/;
64
65 // vIndex: 9
66 virtual ::std::set<::ChunkPos> getChunks() const /*override*/;
67
68 // vIndex: 10
69 virtual ::std::unordered_set<::BlockPos> getFlattenedBlockPositions() const /*override*/;
70
71 // vIndex: 11
72 virtual ::std::unique_ptr<::BaseBlockLocationIterator> getIterator() const /*override*/;
73
74 // vIndex: 0
75 virtual ~RelativeVolumeListBlockVolume() /*override*/;
76 // NOLINTEND
77
78public:
79 // member functions
80 // NOLINTBEGIN
82
84
86 ::std::vector<::Vec3> const& blockPositions,
87 ::std::optional<::BlockPos> const& origin
88 );
89
90 MCNAPI void add(::SimpleBlockVolume const& _relativeVolume);
91
92 MCNAPI void add(::std::vector<::Vec3> const& blockPositions);
93
94 MCNAPI void add(::Vec3 const& pos);
95
96 MCNAPI ::std::vector<::SimpleBlockVolume>
98
99 MCNAPI void clear();
100
101 MCNAPI void enableAdjacencyMap();
102
103 MCNAPI ::std::vector<::BlockPos> getBlockPositionList(bool relative) const;
104
105 MCNAPI bool hasAdjacent(::BlockPos const& pos, ::BlockPos const& offset) const;
106
107 MCNAPI ::Editor::RelativeVolumeListBlockVolume& operator=(::Vec3 const& location);
108
109 MCNAPI ::Editor::RelativeVolumeListBlockVolume& operator=(::std::vector<::Vec3> const& locations);
110
111 MCNAPI ::Editor::RelativeVolumeListBlockVolume& operator=(::Editor::RelativeVolumeListBlockVolume&& rhs);
112
113 MCNAPI ::Editor::RelativeVolumeListBlockVolume& operator=(::Editor::RelativeVolumeListBlockVolume const& rhs);
114
116
117 MCNAPI void remove(::std::vector<::Vec3> const& blockPositions);
118
119 MCNAPI void remove(::Vec3 const& pos);
120
121 MCNAPI void remove(::SimpleBlockVolume const& relativeVolume);
122 // NOLINTEND
123
124public:
125 // static functions
126 // NOLINTBEGIN
128 // NOLINTEND
129
130public:
131 // constructor thunks
132 // NOLINTBEGIN
134
136
137 MCNAPI void* $ctor(::std::vector<::Vec3> const& blockPositions, ::std::optional<::BlockPos> const& origin);
138 // NOLINTEND
139
140public:
141 // destructor thunk
142 // NOLINTBEGIN
143 MCNAPI void $dtor();
144 // NOLINTEND
145
146public:
147 // virtual function thunks
148 // NOLINTBEGIN
149 MCNAPI ::BoundingBox $getBoundingBox() const;
150
151 MCNAPI ::BlockPos $getMin() const;
152
153 MCNAPI ::BlockPos $getMax() const;
154
155 MCNAPI ::glm::ivec3 $getSpan() const;
156
157 MCNAPI int $getCapacity() const;
158
159 MCNAPI bool $isInside(::BlockPos const& pos) const;
160
161 MCNAPI void $translate(::BlockPos const& delta);
162
163 MCNAPI void $forEach(::std::function<bool(::BlockPos const&)> callback) const;
164
165 MCNAPI ::std::set<::ChunkPos> $getChunks() const;
166
167 MCNAPI ::std::unordered_set<::BlockPos> $getFlattenedBlockPositions() const;
168
169 MCNAPI ::std::unique_ptr<::BaseBlockLocationIterator> $getIterator() const;
170 // NOLINTEND
171
172public:
173 // vftables
174 // NOLINTBEGIN
175 MCNAPI static void** $vftable();
176 // NOLINTEND
177};
178
179} // namespace Editor
Definition BaseBlockLocationIterator.h:10
Definition BlockPos.h:18
Definition BlockVolumeBase.h:13
Definition BoundingBox.h:13
Definition ChunkPos.h:11
Definition RelativeVolumeListBlockVolume.h:21
MCAPI::BoundingBox $getBoundingBox() const
MCAPI::Editor::RelativeVolumeListBlockVolume & operator=(::Vec3 const &location)
MCAPI::BlockPos $getMax() const
MCAPI void remove(::SimpleBlockVolume const &relativeVolume)
MCAPI void * $ctor(::Editor::RelativeVolumeListBlockVolume &&rhs)
MCAPI ::std::unique_ptr<::BaseBlockLocationIterator > $getIterator() const
MCAPI::Editor::RelativeVolumeListBlockVolume & operator=(::Editor::RelativeVolumeListBlockVolume const &rhs)
MCAPI ::std::unordered_set<::BlockPos > $getFlattenedBlockPositions() const
MCAPI bool hasAdjacent(::BlockPos const &pos, ::BlockPos const &offset) const
MCAPI void remove(::std::vector<::Vec3 > const &blockPositions)
static MCAPI void bindType(::cereal::ReflectionCtx &ctx)
MCAPI RelativeVolumeListBlockVolume(::Editor::RelativeVolumeListBlockVolume const &rhs)
MCAPI void $forEach(::std::function< bool(::BlockPos const &)> callback) const
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=(::std::vector<::Vec3 > const &locations)
MCAPI::BlockPos $getMin() const
MCAPI ::std::set<::ChunkPos > $getChunks() const
MCAPI::glm::ivec3 $getSpan() const
MCAPI void add(::SimpleBlockVolume const &_relativeVolume)
MCAPI void add(::Vec3 const &pos)
MCAPI RelativeVolumeListBlockVolume(::Editor::RelativeVolumeListBlockVolume &&rhs)
MCAPI void remove(::Vec3 const &pos)
MCAPI bool $isInside(::BlockPos const &pos) const
MCAPI RelativeVolumeListBlockVolume(::std::vector<::Vec3 > const &blockPositions, ::std::optional<::BlockPos > const &origin)
MCAPI::Editor::RelativeVolumeListBlockVolume & operator=(::Editor::RelativeVolumeListBlockVolume &&rhs)
MCAPI ::std::vector<::SimpleBlockVolume > calculateVolumetricDifference(::SimpleBlockVolume const &volA, ::SimpleBlockVolume const &volB)
Definition SimpleBlockVolume.h:17
Definition Vec3.h:10
Definition ReflectionCtx.h:11
Definition ctx.h:5
Definition Alias.h:14