|
0.45.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