Itasca C++ Interface
Loading...
Searching...
No Matches
Public Member Functions | List of all members
block::IBlockArray Class Referenceabstract

Container to store blockThings. ID of BlockThing is stored in offset $KBID in Fortran block linked list. More...

#include <iblockarray.h>

Public Member Functions

virtual const IThinggetIThing () const =0
 Returns a const pointer to an IThing interface representing the IBlockArray.
 
virtual IThinggetIThing ()=0
 Returns a pointer to an IThing interface representing the IBlockArray.
 
virtual const IContainergetIContainer () const =0
 Returns a const pointer to the IContainer interface representing the global list of blocks.
 
virtual IContainergetIContainer ()=0
 Returns a pointer to the IContainer interface representing the global list of blocks.
 
virtual const IBlockThingfindBlockWithID (quint64 id) const =0
 Returns a const pointer to the block, IBlock, with the ID id, or 0 if the block does not exist.
 
virtual IBlockThingfindBlockWithID (quint64 id)=0
 Returns a pointer to the block, IBlock, with the ID id, or 0 if the block does not exist.
 
virtual quint32 getBlockType () const =0
 Returns the block type identifier.
 
virtual int claimBit () const =0
 Claims a bit from the blocks utility bit field.
 
virtual void releaseBit (int bit) const =0
 Releases a bit index previously obtained with claimBit(). Thread-safe.
 
virtual int claimValue () const =0
 Claims a bit from the blocks utility value array.
 
virtual void releaseValue (int bit) const =0
 Releases a value index back to the zones utility value array. Thread-safe.
 
virtual uint getBlockExtraNotice () const =0
 Returns the tag for the block extra variable change notice.
 
virtual uint getGroupNotice () const =0
 Returns the tag for the block group change notice.
 
virtual uint getGeometryNotice () const =0
 Returns the tag for the block geometry change notice.
 
virtual uint getJoinNotice () const =0
 Returns the tag for join condition change notice.
 
virtual uint getBoundaryNotice () const =0
 Returns the tag for the boundary geometry change notice.
 
virtual uint getMaterialNotice () const =0
 Returns the tag for the material change notice.
 
virtual uint getHideNotice () const =0
 Returns the tag for the block hide state notice.
 
virtual BlockThing * findBlock (const DVect3 &dv, bool visible=false)=0
 Return block closest to input location.
 
virtual BlockThing * findBlockContaining (const DVect3 &dv, bool visible)=0
 
virtual void threadedCallbackObject (Callback4< void, const IBlockThing *, uint32, uint32, void * > &callback, void *v=nullptr, bool useThreads=true) const =0
 Object for creation of multithreaded loop over blocks.
 
template<class S , void(S::*)(const IBlockThing *, uint32, uint32, void *) MFP>
void threadedCallbackMethod (S *s, void *v=nullptr, bool useThreads=true) const
 Implementation of the multithreaded loop using the threadedCallbackObject.
 

Detailed Description

Container to store blockThings. ID of BlockThing is stored in offset $KBID in Fortran block linked list.

Member Function Documentation

◆ claimBit()

virtual int block::IBlockArray::claimBit ( ) const
pure virtual

Claims a bit from the blocks utility bit field.

It is sometimes useful to be able to store flags and data in a zone during calculations unrelated to the actual model cycling logic.
Two utility arrays are available for this purpose, they are primarily intended to be briefly claimed, used, and then released for back for use in other algorithms.
claimBit() returns a bit index that can be used with the IBlock::getBit() and IBlock::setBit() functions. This function is thread-safe (IBlock::getBit and IBlock::setBit are not).

See also
releaseBit() IBlock::setBit() IBlock::getBit()

◆ claimValue()

virtual int block::IBlockArray::claimValue ( ) const
pure virtual

Claims a bit from the blocks utility value array.

It is sometimes useful to be able to store flags and data in a zone during calculations unrelated to the actual model cycling logic.
Two utility arrays are available for this purpose, they are primarily intended to be briefly claimed, used, and then released for back for use in other algorithms.
claimValue() returns a value index that can be used with the IBlock::getValue() and IBlock::setValue() functions. This function is thread-safe (IBlock::getValue and IBlock::setValue are not).

See also
releaseBit() IBlock::setValue() IBlock::getValue()

◆ findBlockContaining()

virtual BlockThing * block::IBlockArray::findBlockContaining ( const DVect3 & dv,
bool visible )
pure virtual

Return block that contains the input location dv. Input visible indicates if all blocks are searched (false) or only visible blocks (true) Return nullptr if not found.


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