Itasca C++ Interface
igplist.h
Go to the documentation of this file.
1 //igplist.h
2 #pragma once
3 
9 #include "utility/interface/igroup.h"
10 
11 namespace itasca {
12  class IContainer;
13  class IThing;
14 }
15 
16 namespace zone {
17  using namespace itasca;
18 
19  class IGp;
20  class IGpData;
21 
24  class IGpList {
25  public:
27  virtual const IThing * getIThing() const=0;
29  virtual IThing * getIThing()=0;
31  virtual const IContainer * getIContainer() const=0;
33  virtual IContainer * getIContainer() =0;
36  virtual const IGp * getFirstGp() const=0;
39  virtual IGp * getFirstGp()=0;
41  virtual uint32 getGridPointType() const=0;
43  virtual const IGp * findGridPointWithID(uint64 id) const=0;
47  virtual const IGp * findGridPoint(const DVect &vec,uint32 excludeMask=0) const=0;
51  virtual IGp * findGridPoint(const DVect &vec,uint32 excludeMask=0) =0;
54  virtual IGp * findGridPoint(const DVect &vec,const IGroupID &group) =0;
56  virtual uint64 getNGp() const=0;
63  virtual IGp * findGpLive(const DVect &dv3, bool bMech,bool bFluid,bool bTherm,bool bOr)=0;
65  virtual uint32 getFapNotice() const=0;
67  virtual uint32 getFobNotice() const=0;
69  virtual uint32 getGpExtraNotice() const=0;
71  virtual uint32 getPorePressureNotice() const=0;
73  virtual uint32 getHydraulicHeadNotice() const=0;
75  virtual uint32 getTemperatureNotice() const=0;
77  virtual uint32 getGeometryNotice() const=0;
79  virtual uint32 getFixityNotice() const =0;
81  virtual uint32 getVelocityNotice() const=0;
83  virtual uint32 getDisplacementNotice() const=0;
85  virtual uint32 getSaturationNotice() const=0;
87  virtual uint32 getNullChangeNotice() const=0;
88  virtual uint32 getMultiplierNotice() const=0;
99  virtual int claimBit() const=0;
101  virtual void releaseBit(int bit) const=0;
112  virtual int claimValue() const=0;
114  virtual void releaseValue(int bit) const=0;
116  virtual IGpData * createIGpData() const=0;
117  };
118 } // namespace zone
119 // EoF
Interface for containers of IThings.
Definition: icontainer.h:21
Definition: igroup.h:82
Base class for items that will be stored in containers.
Definition: ithing.h:30
Interface that allows access to gridpoint scalar data in a generic way.
Definition: igpdata.h:27
Interface to provide access to a gridpoint.
Definition: igp.h:55
Interface to the global list of all grid points.
Definition: igplist.h:24
virtual uint32 getGpExtraNotice() const =0
Returns the tag for the gridpoint extra variable change notice.
virtual IThing * getIThing()=0
Returns a pointer to an IThing interface representing the IGpList.
virtual uint32 getFapNotice() const =0
Returns the tag for the gridpoint applied force change notice.
virtual IGpData * createIGpData() const =0
Returns a pointer to a new IGpData object. This pointer must be destroyed by the caller.
virtual IGp * getFirstGp()=0
virtual uint32 getFobNotice() const =0
Returns the tag for the gridpoint out of balance change force notice.
virtual const IGp * findGridPointWithID(uint64 id) const =0
Given a gridpoint id, returns a const pointer to the gridpoint.
virtual const IGp * getFirstGp() const =0
virtual int claimBit() const =0
Claims a bit from the gridpoints utility bit field.
virtual IGp * findGridPoint(const DVect &vec, const IGroupID &group)=0
virtual uint32 getDisplacementNotice() const =0
Returns the tag for the gridpoint displacement change notice.
virtual const IGp * findGridPoint(const DVect &vec, uint32 excludeMask=0) const =0
virtual uint32 getFixityNotice() const =0
Returns the tag for the gridpoint fix condition change notice.
virtual IGp * findGpLive(const DVect &dv3, bool bMech, bool bFluid, bool bTherm, bool bOr)=0
virtual uint32 getGridPointType() const =0
Returns the gridpoint general type.
virtual const IThing * getIThing() const =0
Returns a const pointer to an IThing interface representing the IGpList.
virtual void releaseValue(int bit) const =0
Releases a value index back to the gridpoints utility value array. Thread-safe.
virtual int claimValue() const =0
Claims a value index from the gridpoints utility value array.
virtual uint32 getHydraulicHeadNotice() const =0
Returns the tag for the gridpoint hydraulic-head change notice.
virtual uint64 getNGp() const =0
Returns the number of grid points in the list.
virtual IContainer * getIContainer()=0
Returns a pointer to the IContainer interface representing the global list of grid points.
virtual const IContainer * getIContainer() const =0
Returns a const pointer to the IContainer interface representing the global list of grid points.
virtual uint32 getSaturationNotice() const =0
Returns the tag for the gridpoint saturation change notice.
virtual IGp * findGridPoint(const DVect &vec, uint32 excludeMask=0)=0
virtual uint32 getTemperatureNotice() const =0
Returns the tag for the gridpoint temperature change notice.
virtual uint32 getGeometryNotice() const =0
Returns the tag for the gridpoint geometry change notice.
virtual uint32 getVelocityNotice() const =0
Returns the tag for the gridpoint velocity change notice.
virtual uint32 getPorePressureNotice() const =0
Returns the tag for the gridpoint pore-pressure change notice.
virtual uint32 getNullChangeNotice() const =0
Returns the tag for the zone null change notice.
virtual void releaseBit(int bit) const =0
Releases a bit index previously obtained with claimBit(). Thread-safe.
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:150
namespace Itasca
Definition: basememory.cpp:10