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
 
Voxelvoxel ()
 
const Voxelvoxel () const
 
VoxelTreevoxelTree ()
 
VoxelTreeNodeparent ()
 
void setParent (VoxelTreeNode *parent)
 
const GridAABBgridAABB () const
 
Spheresphere ()
 
Spheresphere (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)
 
VoxelTreeNodecellSubnode (const glm::ivec3 &cell)
 
void calculateSpherePosition (const Transform &transform)
 
void calculateSphereRadius (const Transform &transform)
 

Protected Attributes

int m_octIndex
 
VoxelTreeNodem_parent
 
VoxelTreem_voxelTree
 
GridAABB m_gridAABB
 
Sphere m_sphere
 
Transform m_cachedSphereTransform
 
bool m_active
 
std::vector< VoxelTreeNode * > m_subnodes
 
std::list< VoxelTreeNode * > m_activeSubnodes
 
Voxelm_voxel
 

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