DenseGrid is a storage of blocks in a dense grid aka array..
More...
#include <DenseGrid.h>
|
|
| DenseGrid (glm::ivec3 dims) |
| |
|
void | compress (BlockID block) |
| |
|
void | decompress () |
| |
|
size_t | index (int x, int y, int z) const |
| |
|
size_t | index (const glm::ivec3 &pos) const |
| |
| BlockID | getBlock (const glm::ivec3 &pos) const override final |
| |
| MultiBlock * | getMultiBlock (const glm::ivec3 &pos) override final |
| |
| void | setBlock (const glm::ivec3 &pos, BlockID block) override final |
| |
| void | setBlock (const glm::ivec3 &pos, BlockID block, BlockState state) override final |
| |
| void | setMultiBlock (const glm::ivec3 &pos, MultiBlock &&multiBlock) override final |
| |
| BlockState * | getState (const glm::ivec3 &pos) override final |
| |
| const BlockState * | getState (const glm::ivec3 &pos) const override final |
| |
| void | setState (const glm::ivec3 &pos, BlockState &&state) override final |
| |
| void | clearState (const glm::ivec3 &pos) override final |
| |
| BlockState * | getOrCreateState (const glm::ivec3 &pos) override final |
| |
| void | serialize (std::ostream &out) const override final |
| |
| void | deserialize (std::istream &in) override final |
| |
|
| IChunkData (glm::ivec3 dims) |
| |
| void | clear (const glm::ivec3 &pos) |
| |
|
bool | isEmpty (const glm::ivec3 &pos) const |
| |
|
BlockID | getBlockAndState (const glm::ivec3 &pos, BlockState *&state) |
| |
|
BlockID | getBlockAndState (const glm::ivec3 &pos, const BlockState *&state) const |
| |
|
BlockID | getAll (const glm::ivec3 &pos, BlockState *&state, MultiBlock *&multiBlock) |
| |
|
|
BlockID | uniform = InvalidBlockID |
| |
|
std::vector< BlockID > | data |
| |
|
std::unordered_map< glm::ivec3, BlockState > | states |
| |
|
std::unordered_map< glm::ivec3, MultiBlock > | multiBlocks |
| |
|
glm::ivec3 | dims |
| |
|
bool | populated = false |
| |
DenseGrid is a storage of blocks in a dense grid aka array..
◆ clearState()
| void DenseGrid::clearState |
( |
const glm::ivec3 & |
pos | ) |
|
|
finaloverridevirtual |
◆ deserialize()
| void DenseGrid::deserialize |
( |
std::istream & |
in | ) |
|
|
finaloverridevirtual |
◆ getBlock()
| BlockID DenseGrid::getBlock |
( |
const glm::ivec3 & |
pos | ) |
const |
|
finaloverridevirtual |
◆ getMultiBlock()
| MultiBlock * DenseGrid::getMultiBlock |
( |
const glm::ivec3 & |
pos | ) |
|
|
finaloverridevirtual |
◆ getOrCreateState()
| BlockState * DenseGrid::getOrCreateState |
( |
const glm::ivec3 & |
pos | ) |
|
|
finaloverridevirtual |
◆ getState() [1/2]
| const BlockState * DenseGrid::getState |
( |
const glm::ivec3 & |
pos | ) |
const |
|
finaloverridevirtual |
◆ getState() [2/2]
| BlockState * DenseGrid::getState |
( |
const glm::ivec3 & |
pos | ) |
|
|
finaloverridevirtual |
◆ serialize()
| void DenseGrid::serialize |
( |
std::ostream & |
out | ) |
const |
|
finaloverridevirtual |
◆ setBlock() [1/2]
| void DenseGrid::setBlock |
( |
const glm::ivec3 & |
pos, |
|
|
BlockID |
block |
|
) |
| |
|
finaloverridevirtual |
◆ setBlock() [2/2]
| void DenseGrid::setBlock |
( |
const glm::ivec3 & |
pos, |
|
|
BlockID |
block, |
|
|
BlockState |
state |
|
) |
| |
|
finaloverridevirtual |
◆ setMultiBlock()
| void DenseGrid::setMultiBlock |
( |
const glm::ivec3 & |
pos, |
|
|
MultiBlock && |
multiBlock |
|
) |
| |
|
finaloverridevirtual |
◆ setState()
| void DenseGrid::setState |
( |
const glm::ivec3 & |
pos, |
|
|
BlockState && |
state |
|
) |
| |
|
finaloverridevirtual |
The documentation for this struct was generated from the following files:
- src/level/data/DenseGrid.h
- src/level/data/DenseGrid.cpp