Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
izonearray.h
Go to the documentation of this file.
1 #pragma once
2 // izoneaarray.h
3 
11 #include "iblockdef.h"
12 
13 namespace itasca
14 {
15  class IContainer;
16  class IThing;
17 }
18 namespace itascaxd
19 {
20  class IRange;
21 }
22 
23 namespace block
24 {
25  using namespace itasca;
26 
27  class IZoneThing;
28  class IZoneData;
29 
33  class IZoneArray
34  {
35  public:
37  virtual const IThing * getIThing() const=0;
39  virtual IThing * getIThing()=0;
41  virtual const IContainer * getIContainer() const=0;
43  virtual IContainer * getIContainer() =0;
45  virtual const IZoneThing * findZoneWithID(quint64 id) const=0;
47  virtual IZoneThing * findZoneWithID(quint64 id)=0;
49  virtual quint32 getZoneType() const=0;
51  virtual quint32 getZoneFaceType() const=0;
53  virtual quint64 getNumZones() const=0;
54 
65  virtual int claimBit() const=0;
67  virtual void releaseBit(int bit) const=0;
78  virtual int claimValue() const=0;
80  virtual void releaseValue(int bit) const=0;
83  virtual IZoneData * createIZoneData(QObject *parent=0) const=0;
85  virtual uint getZoneExtraNotice() const=0;
87  virtual uint getGroupNotice() const=0;
89  virtual uint getGeometryNotice() const=0;
91  virtual uint getStressNotice() const=0;
93  virtual uint getPropertyNotice() const=0;
95  virtual uint getModelNotice() const=0;
97  virtual uint getMaterialNotice() const=0;
99  virtual uint getHideNotice() const=0;
102  virtual IZoneThing* findZoneContaining(const DVect &v, bool visible=false, double dEpsFac=1.0e-5,const itascaxd::IRange *range=nullptr) const=0;
104  virtual const IZoneThing * findZone(const DVect &v, bool visible = false) const=0;
105  };
106 
107 } // end namespace block
108 // EOF
Interface to a filter, used as the main method for filtering objects.
Definition: irange.h:31
This is the interface for ZoneThing, a class that holds extra data not in the fortran arrays....
Definition: izonething.h:30
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.
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4
Container to store ZoneThings. ID of BlockThing is stored in offset $KZCPP in Fortran zone linked lis...
Definition: izonearray.h:33
Interface for containers of IThings.
Definition: icontainer.h:23
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:145
Access to zone scalar data in a generic way. This class maintains a list of scalar data (sxx,...
Definition: izonedata.h:25