Octree.cpp
// Continues querying until we can't drill down the tree any more.
Continues querying until we can't drill down the tree any more.
Continues querying until we can ' t drill down the tree any more .
OctreeData* Octree::RecursiveQueryCube(double xL, double yL, double zL, double xH, double yH, double zH, double x, double y, double z, OctreeNode *pCurrentNode)
{
    CubeOctant octant = GetOctant(xL, yL, zL, xH, yH, zH, x, y, z);
    if (pCurrentNode->miniCubes[octant] == nullptr)
    {
        return &pCurrentNode->nodeData;
    }
    return RecursiveQueryCube(LowerX(xL, xH, octant), LowerY(yL, yH, octant), LowerZ(zL, zH, octant), UpperX(xL, xH, octant), UpperY(yL, yH, octant), UpperZ(zL, zH, octant), 
        x, y, z, pCurrentNode->miniCubes[octant]);
}
OctreeData * Octree :: RecursiveQueryCube ( double xL , double yL , double zL , double xH , double yH , double zH , double x , double y , double z , OctreeNode * pCurrentNode ) { CubeOctant octant = GetOctant ( xL , yL , zL , xH , yH , zH , x , y , z ) ; if ( pCurrentNode -> miniCubes [ octant ] == nullptr ) { return & pCurrentNode -> nodeData ; } return RecursiveQueryCube ( LowerX ( xL , xH , octant ) , LowerY ( yL , yH , octant ) , LowerZ ( zL , zH , octant ) , UpperX ( xL , xH , octant ) , UpperY ( yL , yH , octant ) , UpperZ ( zL , zH , octant ) , x , y , z , pCurrentNode -> miniCubes [ octant ] ) ; }
Continues querying until we can't drill down the tree any more.
Continues querying until we can ' t drill down the tree any more .