Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
iblockarray.h
Go to the documentation of this file.
1 #pragma once
2 // iblockaarray.h
3 
10 #include "iblockdef.h"
11 
12 namespace itasca
13 {
14  class IContainer;
15  class IThing;
16 }
17 
18 namespace block
19 {
20  using namespace itasca;
21 
22  class IBlockThing;
23  class BlockThing;
24 
29  {
30  public:
31 
33  virtual const IThing * getIThing() const=0;
35  virtual IThing * getIThing()=0;
37  virtual const IContainer * getIContainer() const=0;
39  virtual IContainer * getIContainer() =0;
41  virtual const IBlockThing * findBlockWithID(quint64 id) const=0;
43  virtual IBlockThing * findBlockWithID(quint64 id)=0;
45  virtual quint32 getBlockType() const=0;
46 
57  virtual int claimBit() const=0;
59  virtual void releaseBit(int bit) const=0;
70  virtual int claimValue() const=0;
72  virtual void releaseValue(int bit) const=0;
74  virtual uint getBlockExtraNotice() const=0;
76  virtual uint getGroupNotice() const=0;
78  virtual uint getGeometryNotice() const=0;
80  virtual uint getJoinNotice() const=0;
82  virtual uint getBoundaryNotice() const=0;
84  virtual uint getMaterialNotice() const=0;
86  virtual uint getHideNotice() const=0;
88  virtual BlockThing * findBlock(const DVect3 &dv, bool visible=false)=0;
92  virtual BlockThing * findBlockContaining(const DVect3 &dv,bool visible)=0;
93  };
94 
95 } // end namespace block
96 // EOF
namespace Itasca
Definition: basememory.cpp:9
Base class for items that will be stored in containers.
Definition: ithing.h:31
Fortran to C++ type declarations.
Container to store blockThings. ID of BlockThing is stored in offset $KBID in Fortran block linked li...
Definition: iblockarray.h:28
This is the interface for BlockThing, a class that holds extra data not in the fortran arrays....
Definition: iblockthing.h:31
Interface for containers of IThings.
Definition: icontainer.h:23