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