0.44.0
|
#include <iVoxelBlock.h>
Public Attributes | |
uint64 | _id = INVALID_VOXELBLOCKID |
uint8 | _neighboursLOD = 0 |
bool | _dirty = true |
bool | _inRange = false |
bool | _dirtyNeighbours = true |
uint64 | _voxelGenerationTaskID = iTask::INVALID_TASK_ID |
uint64 | _transformNodeIDCurrent = iNode::INVALID_NODE_ID |
uint64 | _modelNodeIDCurrent = iNode::INVALID_NODE_ID |
uint64 | _transformNodeIDQueued = iNode::INVALID_NODE_ID |
uint64 | _modelNodeIDQueued = iNode::INVALID_NODE_ID |
uint16 | _mutationCounter = 0 |
uint8 | _childAddress |
iaVector3I | _positionInLOD |
uint32 | _lod = 0 |
uint16 | _size = 0 |
iVoxelBlockState | _state = iVoxelBlockState::Initial |
iVoxelData * | _voxelData = nullptr |
iVoxelBlockInfo * | _voxelBlockInfo = nullptr |
uint64 | _parent = INVALID_VOXELBLOCKID |
uint64 | _children [8] |
uint64 | _neighbours [6] |
std::vector< std::shared_ptr< iVoxelOperation > > | _voxelOperations |
Static Public Attributes | |
static const uint64 | INVALID_VOXELBLOCKID = 0 |
voxel block (or tile) or specific LOD
uint8 igor::iVoxelBlock::_childAddress |
index position of block relative to parent
uint64 igor::iVoxelBlock::_children[8] |
indexes to children
bool igor::iVoxelBlock::_dirty = true |
if dirty the tile has to be regenerated
bool igor::iVoxelBlock::_dirtyNeighbours = true |
if true neighbours changed and we might have to regenerate the mesh
uint64 igor::iVoxelBlock::_id = INVALID_VOXELBLOCKID |
block ID
bool igor::iVoxelBlock::_inRange = false |
if true mesh is in visible range (and SHOULD be visible)
but can be actually not rendered because e.g. the mesh is not ready yet
uint32 igor::iVoxelBlock::_lod = 0 |
level of detail of this block
uint64 igor::iVoxelBlock::_modelNodeIDCurrent = iNode::INVALID_NODE_ID |
id to generated model currently in use
uint64 igor::iVoxelBlock::_modelNodeIDQueued = iNode::INVALID_NODE_ID |
temporary id of node so we can tell if it was already loaded
uint16 igor::iVoxelBlock::_mutationCounter = 0 |
every time the tile changes this counter goes up so Igor can tell the difference between the models before and after
uint64 igor::iVoxelBlock::_neighbours[6] |
indexes to neighbour in same LOD
uint8 igor::iVoxelBlock::_neighboursLOD = 0 |
bit mask with current neighbors LOD settings
uint64 igor::iVoxelBlock::_parent = INVALID_VOXELBLOCKID |
pointer to parenting block
iaVector3I igor::iVoxelBlock::_positionInLOD |
blocks position as index in corresponding LOD
uint16 igor::iVoxelBlock::_size = 0 |
world size of block
iVoxelBlockState igor::iVoxelBlock::_state = iVoxelBlockState::Initial |
current state of the block
uint64 igor::iVoxelBlock::_transformNodeIDCurrent = iNode::INVALID_NODE_ID |
id to transform node to control if a tile is in the scene and therefore visible
uint64 igor::iVoxelBlock::_transformNodeIDQueued = iNode::INVALID_NODE_ID |
temporary transform node id to control where we have to regenerate a new tile or not
iVoxelBlockInfo* igor::iVoxelBlock::_voxelBlockInfo = nullptr |
voxel block info needed to generated voxel data
iVoxelData* igor::iVoxelBlock::_voxelData = nullptr |
the actual voxel data
uint64 igor::iVoxelBlock::_voxelGenerationTaskID = iTask::INVALID_TASK_ID |
id of voxel generation task
there is only one at a time needed
std::vector<std::shared_ptr<iVoxelOperation> > igor::iVoxelBlock::_voxelOperations |
voxel operation on this block
|
static |
invalid voxel block id definition