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() ;
83 MCNAPI ::std::vector<::SimpleBlockVolume>
95 MCNAPI ::Editor::BlockAdjacencyItem getAdjacencyBits(
::BlockPos const& pos)
const;
106 MCNAPI ::Editor::RelativeVolumeListBlockVolume&
operator=(::std::vector<::Vec3>
const& locations);
122 MCNAPI static ::std::vector<::SimpleBlockVolume>
128 ::std::vector<::SimpleBlockVolume> volumes,
130 ::std::optional<::BlockPos>
const& origin
171 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::BlockPos $getMax() const
static MCAPI void ** $vftable()
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
static MCAPI ::std::vector<::SimpleBlockVolume > _greedyBoxCoverFromGrid(::Editor::BlockAdjacencyMap &remaining, ::std::vector<::BlockPos > &voxels)
static MCAPI void bindType(::cereal::ReflectionCtx &ctx)
MCAPI RelativeVolumeListBlockVolume(::Editor::RelativeVolumeListBlockVolume const &rhs)
MCAPI int $getCapacity() const
MCAPI ::std::vector<::BlockPos > getBlockPositionList(bool relative) const
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 $forEach(::brstd::function_ref< bool(::BlockPos const &)> callback) const
MCAPI RelativeVolumeListBlockVolume(::Editor::RelativeVolumeListBlockVolume &&rhs)
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::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