walberla::blockforest::StructuredBlockForest Class Reference

#include <StructuredBlockForest.h>

+ Inheritance diagram for walberla::blockforest::StructuredBlockForest:

Classes

class  CellBoundingBoxHandling
 

Public Member Functions

 StructuredBlockForest (const shared_ptr< BlockForest > &blockForest, const uint_t blockXCells, const uint_t blockYCells, const uint_t blockZCells)
 
const BlockForestgetBlockForest () const
 
BlockForestgetBlockForest ()
 
const shared_ptr< BlockForest > & getBlockForestPointer ()
 
shared_ptr< const BlockForestgetBlockForestPointer () const
 
bool blockExists (const Cell &cell, const uint_t level=0) const
 
bool blockExistsLocally (const Cell &cell, const uint_t level=0) const
 
bool blockExistsRemotely (const Cell &cell, const uint_t level=0) const
 
void getBlockID (IBlockID &id, const Cell &cell, const uint_t level=0) const
 
uint_t getLevel (const IBlock &block) const
 
uint_t getNumberOfXCells (const IBlock &block) const
 
uint_t getNumberOfYCells (const IBlock &block) const
 
uint_t getNumberOfZCells (const IBlock &block) const
 
uint_t getNumberOfCells (const IBlock &block, const uint_t index) const
 
uint_t getProcess () const
 
uint_t getProcessIdBytes () const
 
uint_t getXSize () const
 
uint_t getYSize () const
 
uint_t getZSize () const
 
uint_t getSize (const uint_t index) const
 
real_t getRootBlockXSize () const
 
real_t getRootBlockYSize () const
 
real_t getRootBlockZSize () const
 
bool storesUniformBlockGrid () const
 
uint_t getDepth () const
 
uint_t getNumberOfLevels () const
 
uint_t getTreeIdDigits () const
 
uint_t getBlockIdBytes () const
 
uint_t getNumberOfBlocks () const
 
uint_t getNumberOfBlocks (const uint_t level) const
 
void getBlocks (std::vector< const Block * > &blocks, const uint_t level) const
 
void getBlocks (std::vector< Block * > &blocks, const uint_t level)
 
const BlockgetRootBlock (const uint_t x, const uint_t y, const uint_t z) const
 
BlockgetRootBlock (const uint_t x, const uint_t y, const uint_t z)
 
bool rootBlockExists (const uint_t x, const uint_t y, const uint_t z) const
 
bool rootBlockExistsLocally (const uint_t x, const uint_t y, const uint_t z) const
 
bool rootBlockExistsRemotely (const uint_t x, const uint_t y, const uint_t z) const
 
void getRootBlockAABB (AABB &aabb, const uint_t x, const uint_t y, const uint_t z) const
 
void getRootBlockState (Set< SUID > &state, const uint_t x, const uint_t y, const uint_t z) const
 
void getRootBlockProcessRank (uint_t &rank, const uint_t x, const uint_t y, const uint_t z) const
 
const BlockForest::BlockInformationgetBlockInformation () const
 
uint_t getLevelFromBlockId (const BlockID &id) const
 
uint_t getAABBFromBlockId (AABB &aabb, const BlockID &id) const
 
void getForestCoordinates (uint_t &x, uint_t &y, uint_t &z, const BlockID &id) const
 
void getRootBlockCoordinates (uint_t &x, uint_t &y, uint_t &z, const BlockID &id) const
 
void getRootBlockID (BlockID &id, const uint_t x, const uint_t y, const uint_t z) const
 
bool insertBuffersIntoProcessNetwork () const
 
const std::vector< uint_t > & getNeighborhood () const
 
internal::BlockDataHandlingAdder addBlockData (const std::string &identifier=std::string())
 
template<typename T >
BlockDataID addBlockData (const shared_ptr< T > &dataHandling, const std::string &identifier=std::string(), const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
template<typename T >
BlockDataID addBlockData (std::function< T *(IBlock *const block) > function, const std::string &identifier=std::string(), const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
template<typename T >
BlockDataID loadBlockData (const std::string &file, const shared_ptr< T > &dataHandling, const std::string &identifier=std::string(), const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
void refresh ()
 
uint_t getNumberOfXCellsPerBlock () const
 
uint_t getNumberOfYCellsPerBlock () const
 
uint_t getNumberOfZCellsPerBlock () const
 
uint_t getNumberOfCellsPerBlock (const uint_t index) const
 

Protected Member Functions

bool equal (const StructuredBlockStorage *rhs) const
 
BlockDataID addCellBoundingBoxesAsBlockData (const std::string &identifier)
 

Static Private Member Functions

static std::vector< uint_tconstructNumberOfCells (uint_t cells, const uint_t levels)
 
static void resetCellDecompositionInStorage (StructuredBlockForest &storage)
 

Private Attributes

shared_ptr< BlockForestblockForest_
 
uint_t blockCells_ [3]
 

Friends

class CellBoundingBoxHandling
 

Constructor & Destructor Documentation

walberla::blockforest::StructuredBlockForest::StructuredBlockForest ( const shared_ptr< BlockForest > &  blockForest,
const uint_t  blockXCells,
const uint_t  blockYCells,
const uint_t  blockZCells 
)
inline

Member Function Documentation

internal::BlockDataHandlingAdder walberla::blockforest::StructuredBlockForest::addBlockData ( const std::string &  identifier = std::string())
inline
template<typename T >
BlockDataID walberla::blockforest::StructuredBlockForest::addBlockData ( const shared_ptr< T > &  dataHandling,
const std::string &  identifier = std::string(),
const Set< SUID > &  requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > &  incompatibleSelectors = Set<SUID>::emptySet() 
)
inline
template<typename T >
BlockDataID walberla::blockforest::StructuredBlockForest::addBlockData ( std::function< T *(IBlock *const block) >  function,
const std::string &  identifier = std::string(),
const Set< SUID > &  requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > &  incompatibleSelectors = Set<SUID>::emptySet() 
)
inline
BlockDataID walberla::blockforest::StructuredBlockForest::addCellBoundingBoxesAsBlockData ( const std::string &  identifier)
inlineprotected
bool walberla::blockforest::StructuredBlockForest::blockExists ( const Cell &  cell,
const uint_t  level = 0 
) const
bool walberla::blockforest::StructuredBlockForest::blockExistsLocally ( const Cell &  cell,
const uint_t  level = 0 
) const
inline
bool walberla::blockforest::StructuredBlockForest::blockExistsRemotely ( const Cell &  cell,
const uint_t  level = 0 
) const
inline
std::vector< uint_t > walberla::blockforest::StructuredBlockForest::constructNumberOfCells ( uint_t  cells,
const uint_t  levels 
)
inlinestaticprivate
bool walberla::blockforest::StructuredBlockForest::equal ( const StructuredBlockStorage *  rhs) const
inlineprotected
uint_t walberla::blockforest::StructuredBlockForest::getAABBFromBlockId ( AABB &  aabb,
const BlockID id 
) const
inline
const BlockForest& walberla::blockforest::StructuredBlockForest::getBlockForest ( ) const
inline
BlockForest& walberla::blockforest::StructuredBlockForest::getBlockForest ( )
inline
const shared_ptr< BlockForest >& walberla::blockforest::StructuredBlockForest::getBlockForestPointer ( )
inline
shared_ptr< const BlockForest > walberla::blockforest::StructuredBlockForest::getBlockForestPointer ( ) const
inline
void walberla::blockforest::StructuredBlockForest::getBlockID ( IBlockID &  id,
const Cell &  cell,
const uint_t  level = 0 
) const
uint_t walberla::blockforest::StructuredBlockForest::getBlockIdBytes ( ) const
inline
const BlockForest::BlockInformation& walberla::blockforest::StructuredBlockForest::getBlockInformation ( ) const
inline
void walberla::blockforest::StructuredBlockForest::getBlocks ( std::vector< const Block * > &  blocks,
const uint_t  level 
) const
inline
void walberla::blockforest::StructuredBlockForest::getBlocks ( std::vector< Block * > &  blocks,
const uint_t  level 
)
inline
uint_t walberla::blockforest::StructuredBlockForest::getDepth ( ) const
inline
void walberla::blockforest::StructuredBlockForest::getForestCoordinates ( uint_t x,
uint_t y,
uint_t z,
const BlockID id 
) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getLevel ( const IBlock &  block) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getLevelFromBlockId ( const BlockID id) const
inline
const std::vector< uint_t >& walberla::blockforest::StructuredBlockForest::getNeighborhood ( ) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getNumberOfBlocks ( ) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getNumberOfBlocks ( const uint_t  level) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getNumberOfCells ( const IBlock &  block,
const uint_t  index 
) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getNumberOfCellsPerBlock ( const uint_t  index) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getNumberOfLevels ( ) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getNumberOfXCells ( const IBlock &  block) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getNumberOfXCellsPerBlock ( ) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getNumberOfYCells ( const IBlock &  block) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getNumberOfYCellsPerBlock ( ) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getNumberOfZCells ( const IBlock &  block) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getNumberOfZCellsPerBlock ( ) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getProcess ( ) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getProcessIdBytes ( ) const
inline
const Block* walberla::blockforest::StructuredBlockForest::getRootBlock ( const uint_t  x,
const uint_t  y,
const uint_t  z 
) const
inline
Block* walberla::blockforest::StructuredBlockForest::getRootBlock ( const uint_t  x,
const uint_t  y,
const uint_t  z 
)
inline
void walberla::blockforest::StructuredBlockForest::getRootBlockAABB ( AABB &  aabb,
const uint_t  x,
const uint_t  y,
const uint_t  z 
) const
inline
void walberla::blockforest::StructuredBlockForest::getRootBlockCoordinates ( uint_t x,
uint_t y,
uint_t z,
const BlockID id 
) const
inline
void walberla::blockforest::StructuredBlockForest::getRootBlockID ( BlockID id,
const uint_t  x,
const uint_t  y,
const uint_t  z 
) const
inline
void walberla::blockforest::StructuredBlockForest::getRootBlockProcessRank ( uint_t rank,
const uint_t  x,
const uint_t  y,
const uint_t  z 
) const
inline
void walberla::blockforest::StructuredBlockForest::getRootBlockState ( Set< SUID > &  state,
const uint_t  x,
const uint_t  y,
const uint_t  z 
) const
inline
real_t walberla::blockforest::StructuredBlockForest::getRootBlockXSize ( ) const
inline
real_t walberla::blockforest::StructuredBlockForest::getRootBlockYSize ( ) const
inline
real_t walberla::blockforest::StructuredBlockForest::getRootBlockZSize ( ) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getSize ( const uint_t  index) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getTreeIdDigits ( ) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getXSize ( ) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getYSize ( ) const
inline
uint_t walberla::blockforest::StructuredBlockForest::getZSize ( ) const
inline
bool walberla::blockforest::StructuredBlockForest::insertBuffersIntoProcessNetwork ( ) const
inline
template<typename T >
BlockDataID walberla::blockforest::StructuredBlockForest::loadBlockData ( const std::string &  file,
const shared_ptr< T > &  dataHandling,
const std::string &  identifier = std::string(),
const Set< SUID > &  requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > &  incompatibleSelectors = Set<SUID>::emptySet() 
)
inline
void walberla::blockforest::StructuredBlockForest::refresh ( )
inline
void walberla::blockforest::StructuredBlockForest::resetCellDecompositionInStorage ( StructuredBlockForest storage)
inlinestaticprivate
bool walberla::blockforest::StructuredBlockForest::rootBlockExists ( const uint_t  x,
const uint_t  y,
const uint_t  z 
) const
inline
bool walberla::blockforest::StructuredBlockForest::rootBlockExistsLocally ( const uint_t  x,
const uint_t  y,
const uint_t  z 
) const
inline
bool walberla::blockforest::StructuredBlockForest::rootBlockExistsRemotely ( const uint_t  x,
const uint_t  y,
const uint_t  z 
) const
inline
bool walberla::blockforest::StructuredBlockForest::storesUniformBlockGrid ( ) const
inline

Friends And Related Function Documentation

friend class CellBoundingBoxHandling
friend

Member Data Documentation

uint_t walberla::blockforest::StructuredBlockForest::blockCells_[3]
private
shared_ptr< BlockForest > walberla::blockforest::StructuredBlockForest::blockForest_
private

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