22 enum class CornerIndex : uchar {
33 enum class IntersectionResult :
int {
39 using CornerHandle = uchar;
44 ::ll::TypedStorage<4, 12, ::BlockPos> mFrom;
45 ::ll::TypedStorage<4, 12, ::BlockPos> mTo;
51 virtual ::BlockPos getMin()
const ;
53 virtual ::BlockPos getMax()
const ;
55 virtual ::BoundingBox getBoundingBox()
const ;
57 virtual ::glm::ivec3 getSpan()
const ;
59 virtual int getCapacity()
const ;
61 virtual bool isInside(
::BlockPos const& pos)
const ;
63 virtual void translate(
::BlockPos const& delta) ;
65 virtual void forEach(::std::function<
bool(
::BlockPos const&)> callback)
const ;
67 virtual ::std::set<::ChunkPos> getChunks()
const ;
69 virtual ::std::unordered_set<::BlockPos> getFlattenedBlockPositions()
const ;
71 virtual ::std::unique_ptr<::BaseBlockLocationIterator> getIterator()
const ;
81 MCAPI_C uchar getCornerHandle(::SimpleBlockVolume::CornerIndex cornerIndex)
const;
83 MCAPI_C ::BlockPos getCornerPosition(uchar cornerHandle)
const;
85 MCAPI_C ::AABB getWorldAABB()
const;
87 MCAPI ::SimpleBlockVolume::IntersectionResult intersects(
::SimpleBlockVolume const& other)
const;
89 MCAPI_C ::SimpleBlockVolume& setCornerPosition(uchar cornerHandle,
::BlockPos const& pos);
91 MCAPI_C ::SimpleBlockVolume& translateCorner(uchar cornerHandle, ::glm::ivec3
const& delta);
119 MCAPI ::BlockPos $getMin()
const;
121 MCAPI ::BlockPos $getMax()
const;
123 MCAPI ::BoundingBox $getBoundingBox()
const;
125 MCAPI ::glm::ivec3 $getSpan()
const;
127 MCAPI
int $getCapacity()
const;
129 MCAPI
bool $isInside(
::BlockPos const& pos)
const;
131 MCAPI
void $translate(
::BlockPos const& delta);
133 MCAPI
void $forEach(::std::function<
bool(
::BlockPos const&)> callback)
const;
135 MCAPI ::std::set<::ChunkPos> $getChunks()
const;
137 MCAPI ::std::unordered_set<::BlockPos> $getFlattenedBlockPositions()
const;
139 MCAPI ::std::unique_ptr<::BaseBlockLocationIterator> $getIterator()
const;
147 MCAPI
static void** $vftable();