Toast Engine
Loading...
Searching...
No Matches
voxel::BrickPool Class Reference

#include <brick_pool.hpp>

Public Member Functions

 BrickPool (uint32_t capacity)
auto allocate () -> uint32_t
void free (uint32_t id)
 The id must come from allocate and not already be freed.
auto material (uint32_t id) -> std::span< uint8_t, k_brick_material_bytes >
auto material (uint32_t id) const -> std::span< const uint8_t, k_brick_material_bytes >
auto occupancy (uint32_t id) -> BrickOccupancy &
auto occupancy (uint32_t id) const -> const BrickOccupancy &
auto capacity () const noexcept -> uint32_t
auto allocatedCount () const noexcept -> uint32_t
auto freeCount () const noexcept -> uint32_t
auto isValid (uint32_t id) const noexcept -> bool

Detailed Description

Note
Allocate and free are thread safe, rest is not

Member Function Documentation

◆ allocate()

auto voxel::BrickPool::allocate ( ) -> uint32_t
nodiscard
Returns
k_invalid_brick when the pool is exhausted
Here is the caller graph for this function:

The documentation for this class was generated from the following files:
  • engine/src/toast/voxel/brick_pool.hpp
  • engine/src/toast/voxel/brick_pool.cpp