11#include "base/src/callback.h"
89 virtual BlockThing *
findBlock(
const DVect3 &dv,
bool visible=
false)=0;
98 void* v =
nullptr,
bool useThreads =
true)
const = 0;
101 template <
class S,
void (S::*MFP)(const IBlockThing*, u
int32, u
int32,
void*)>
Definition callback.h:130
Container to store blockThings. ID of BlockThing is stored in offset $KBID in Fortran block linked li...
Definition iblockarray.h:30
virtual int claimBit() const =0
Claims a bit from the blocks utility bit field.
virtual uint32 getGroupNotice() const =0
Returns the tag for the block group change notice.
void threadedCallbackMethod(S *s, void *v=nullptr, bool useThreads=true) const
Implementation of the multithreaded loop using the threadedCallbackObject.
Definition iblockarray.h:102
virtual uint32 getBlockType() const =0
Returns the block type identifier.
virtual IContainer * getIContainer()=0
Returns a pointer to the IContainer interface representing the global list of blocks.
virtual uint32 getJoinNotice() const =0
Returns the tag for join condition change notice.
virtual const IBlockThing * findBlockWithID(uint64 id) const =0
Returns a const pointer to the block, IBlock, with the ID id, or 0 if the block does not exist.
virtual void releaseBit(int bit) const =0
Releases a bit index previously obtained with claimBit(). Thread-safe.
virtual const IThing * getIThing() const =0
Returns a const pointer to an IThing interface representing the IBlockArray.
virtual IThing * getIThing()=0
Returns a pointer to an IThing interface representing the IBlockArray.
virtual IBlockThing * findBlockWithID(uint64 id)=0
Returns a pointer to the block, IBlock, with the ID id, or 0 if the block does not exist.
virtual uint32 getBoundaryNotice() const =0
Returns the tag for the boundary geometry change notice.
virtual BlockThing * findBlockContaining(const DVect3 &dv, bool visible)=0
virtual int claimValue() const =0
Claims a bit from the blocks utility value array.
virtual BlockThing * findBlock(const DVect3 &dv, bool visible=false)=0
Return block closest to input location.
virtual uint32 getBlockExtraNotice() const =0
Returns the tag for the block extra variable change notice.
virtual void releaseValue(int bit) const =0
Releases a value index back to the zones utility value array. Thread-safe.
virtual const IContainer * getIContainer() const =0
Returns a const pointer to the IContainer interface representing the global list of blocks.
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.
virtual uint32 getHideNotice() const =0
Returns the tag for the block hide state notice.
virtual uint32 getGeometryNotice() const =0
Returns the tag for the block geometry change notice.
virtual uint32 getMaterialNotice() const =0
Returns the tag for the material change notice.
This is the interface for BlockThing, a class that holds extra data not in the fortran arrays....
Definition iblockthing.h:33
Interface for containers of IThings.
Definition icontainer.h:21
Base class for items that will be stored in containers.
Definition ithing.h:31
Fortran to C++ type declarations.
namespace Itasca
Definition basememory.cpp:14