AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
OctreeLevel.hpp File Reference

Defines templated OctreeLevel class. More...

#include "axom/config.hpp"
#include "axom/core.hpp"
#include "axom/slic.hpp"
#include "axom/primal/geometry/Point.hpp"
#include "axom/primal/geometry/NumericArray.hpp"
#include "axom/spin/Brood.hpp"
#include <iterator>

Classes

class  axom::spin::OctreeLevel< DIM, BlockDataType >
 
class  axom::spin::OctreeLevel< DIM, BlockDataType >::BlockIteratorHelper
 A virtual base class to help with iteration of an OctreeLevel's blocks. More...
 
class  axom::spin::OctreeLevel< DIM, BlockDataType >::ConstBlockIteratorHelper
 A virtual base class to help with constant iteration of an OctreeLevel's blocks. More...
 
class  axom::spin::OctreeLevel< DIM, BlockDataType >::BlockIterator< OctreeLevel, IterHelper, DataType >
 

Namespaces

 axom
 
 axom::spin
 

Enumerations

enum  axom::spin::TreeBlockStatus { axom::spin::BlockNotInTree , axom::spin::LeafBlock , axom::spin::InternalBlock }
 Helper enumeration for status of a BlockIndex within an OctreeLevel instance. More...
 

Detailed Description

Defines templated OctreeLevel class.

An OctreeLevel associates data with the integer points on a sparse grid. OctreeLevel is an abstract base class.

This file also defines two concrete instantiations: GridPointOctreeLevel uses a GridPoint as a hash table key for its octree blocks MortonOctreeLevel uses a Morton index (of the given bit width) as a hash key for its octree blocks.