Voxellancer  0.3
A game about voxels in space
 All Classes Functions Pages
VoxelTreeNode Class Reference
Collaboration diagram for VoxelTreeNode:
[legend]

Public Member Functions

 VoxelTreeNode (int octIndex, VoxelTree *voxelTree, VoxelTreeNode *parent, const GridAABB &gridAABB)
 
 VoxelTreeNode (VoxelTree *voxelTree, const GridAABB &gridAABB, VoxelTreeNode *initialSubnode)
 
int octIndex () const
 
bool isAtomic () const
 
bool isVoxel () const
 
bool isLeaf () const
 
bool isEmpty () const
 
std::list< VoxelTreeNode * > & subnodes ()
 
const std::list< VoxelTreeNode * > & subnodes () const
 
Voxel * voxel ()
 
const Voxel * voxel () const
 
VoxelTree * voxelTree ()
 
VoxelTreeNode * parent ()
 
void setParent (VoxelTreeNode *parent)
 
const GridAABB & gridAABB () const
 
Sphere & sphere ()
 
Sphere & sphere (const Transform &transform)
 
bool active () const
 
void setActive (bool active)
 
void insert (Voxel *voxel)
 
void remove (Voxel *voxel)
 

Protected Member Functions

void toGroup ()
 
void subnodeActivated (VoxelTreeNode *subnode)
 
void subnodeDeactivated (VoxelTreeNode *subnode)
 
VoxelTreeNode * cellSubnode (const glm::ivec3 &cell)
 
void calculateSpherePosition (const Transform &transform)
 
void calculateSphereRadius (const Transform &transform)
 

Protected Attributes

int m_octIndex
 
VoxelTreeNode * m_parent
 
VoxelTree * m_voxelTree
 
GridAABB m_gridAABB
 
Sphere m_sphere
 
Transform m_cachedSphereTransform
 
bool m_active
 
std::vector< VoxelTreeNode * > m_subnodes
 
std::list< VoxelTreeNode * > m_activeSubnodes
 
Voxel * m_voxel
 

The documentation for this class was generated from the following files: