3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/platform/brstd/function_ref.h"
7#include "mc/world/level/block/BlockVolumeBase.h"
42 RelativeVolumeListBlockVolume();
47 virtual ::BoundingBox getBoundingBox()
const ;
49 virtual ::BlockPos getMin()
const ;
51 virtual ::BlockPos getMax()
const ;
53 virtual ::glm::ivec3 getSpan()
const ;
55 virtual int getCapacity()
const ;
57 virtual bool isInside(
::BlockPos const& pos)
const ;
59 virtual void translate(
::BlockPos const& delta) ;
63 virtual ::std::set<::ChunkPos> getChunks()
const ;
65 virtual ::std::unordered_set<::BlockPos> getFlattenedBlockPositions()
const ;
67 virtual ::std::unique_ptr<::BaseBlockLocationIterator> getIterator()
const ;
69 virtual ~RelativeVolumeListBlockVolume() ;
80 ::std::vector<::BlockPos>
const& blockPositions,
81 ::std::optional<::BlockPos>
const& origin
85 ::std::vector<::Vec3>
const& blockPositions,
86 ::std::optional<::BlockPos>
const& origin
103 MCNAPI
void add(::std::vector<::SimpleBlockVolume>
const& volumes);
105 MCNAPI ::std::vector<::SimpleBlockVolume>
117 MCNAPI ::Editor::BlockAdjacencyItem getAdjacencyBits(
::BlockPos const& pos)
const;
128 MCNAPI ::Editor::RelativeVolumeListBlockVolume&
operator=(::std::vector<::Vec3>
const& locations);
138 MCNAPI
void remove(::std::unordered_set<::BlockPos>
const& blockPositions);
140 MCNAPI
void remove(::std::vector<::BlockPos>
const& blockPositions);
142 MCNAPI
void remove(::std::vector<::Vec3>
const& blockPositions);
152 MCNAPI static ::std::vector<::SimpleBlockVolume>
158 ::std::vector<::SimpleBlockVolume> volumes,
160 ::std::optional<::BlockPos>
const& origin
171 MCNAPI
void*
$ctor(::std::vector<::BlockPos>
const& blockPositions, ::std::optional<::BlockPos>
const& origin);
173 MCNAPI
void*
$ctor(::std::vector<::Vec3>
const& blockPositions, ::std::optional<::BlockPos>
const& origin);
177 MCNAPI
void*
$ctor(
::Vec3 const& pos, ::std::optional<::BlockPos>
const& origin);
211 MCNAPI ::std::unique_ptr<::BaseBlockLocationIterator>
$getIterator()
const;
Definition BaseBlockLocationIterator.h:8
Definition BlockVolumeBase.h:16
Definition BoundingBox.h:13
Definition BlockAdjacencyItem.h:7
Definition BlockAdjacencyMap.h:13
Definition RelativeVolumeListBlockVolume.h:24
MCAPI::BoundingBox $getBoundingBox() const
MCAPI::Editor::RelativeVolumeListBlockVolume & operator=(::SimpleBlockVolume const &volume)
MCAPI void remove(::std::vector<::BlockPos > const &blockPositions)
MCAPI::BlockPos $getMax() const
static MCAPI void ** $vftable()
MCAPI RelativeVolumeListBlockVolume(::BlockPos const &pos, ::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 enableAdjacencyMap() 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 add(::Editor::RelativeVolumeListBlockVolume const &volume)
static MCAPI ::std::vector<::SimpleBlockVolume > _greedyBoxCoverFromGrid(::Editor::BlockAdjacencyMap &remaining, ::std::vector<::BlockPos > &voxels)
MCAPI void * $ctor(::std::vector<::BlockPos > const &blockPositions, ::std::optional<::BlockPos > const &origin)
MCAPI void remove(::std::vector<::Vec3 > const &blockPositions)
static MCAPI void bindType(::cereal::ReflectionCtx &ctx)
MCAPI RelativeVolumeListBlockVolume(::Editor::RelativeVolumeListBlockVolume const &rhs)
MCAPI RelativeVolumeListBlockVolume(::std::vector<::BlockPos > const &blockPositions, ::std::optional<::BlockPos > const &origin)
MCAPI int $getCapacity() const
MCAPI ::std::vector<::BlockPos > getBlockPositionList(bool relative) const
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 void * $ctor(::Vec3 const &pos, ::std::optional<::BlockPos > const &origin)
MCAPI::BlockPos $getMin() const
MCAPI RelativeVolumeListBlockVolume(::Vec3 const &pos, ::std::optional<::BlockPos > const &origin)
MCAPI void * $ctor(::BlockPos const &pos, ::std::optional<::BlockPos > const &origin)
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 $forEach(::brstd::function_ref< bool(::BlockPos const &)> callback) const
MCAPI void add(::Vec3 const &pos)
MCAPI RelativeVolumeListBlockVolume(::Editor::RelativeVolumeListBlockVolume &&rhs)
MCAPI void * $ctor(::SimpleBlockVolume const &volume, ::std::optional<::BlockPos > const &origin)
MCAPI void add(::std::vector<::SimpleBlockVolume > const &volumes)
MCAPI void remove(::Vec3 const &pos)
MCAPI bool $isInside(::BlockPos const &pos) const
MCAPI void _addVolumesBulkViaGrid(::std::vector<::SimpleBlockVolume > const &volumes)
MCAPI ::std::vector<::Vec3 > getVec3PositionList(bool relative) const
static MCAPI ::Editor::RelativeVolumeListBlockVolume fromValidatedDisjointVolumes(::std::vector<::SimpleBlockVolume > volumes, int capacity, ::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:18
Definition function_ref.h:60
Definition ReflectionCtx.h:11