Itasca C++ Interface
izonefielddata.h
Go to the documentation of this file.
1 // izonefielddata.h
2 #pragma once
3 
4 #include "iblockdef.h"
5 #include "module/interface/idata.h"
6 
12 namespace block {
13 #ifdef _Win32
14  class IData;
15 #endif
16  class IZoneThing;
17  class IVertexThing;
18  class IGpData;
19  class IZoneData;
20  class IFaceData;
21  class IFaceThing;
22  class IZoneInterpolate;
23  class ZoneWt;
24 
33  public:
34  enum Source { ZoneSource, GpSource, BothSource, FaceSource };
35 
36  // signals
38  shared::Signal<const string &> propertyChanged;
39  shared::Signal<bool> propertyActiveChanged;
40  shared::Signal<int> sourceChanged;
41  shared::Signal<bool> sourceActiveChanged;
43  shared::Signal<int> currentSourceChanged;
44  shared::Signal<bool> zoneSourceChanged;
45 
46  virtual const itascaxd::IData *getIData() const = 0;
47  virtual itascaxd::IData *getIData() = 0;
49  virtual const IZoneInterpolate *getIZoneInterpolate() const = 0;
53  virtual const IZoneData *getIZoneData() const = 0;
55  virtual IZoneData *getIZoneData() = 0;
57  virtual const IGpData *getIGpData() const = 0;
59  virtual IGpData *getIGpData() = 0;
60 
61  virtual const IFaceData *getIFaceData() const = 0;
62  virtual IFaceData *getIFaceData() = 0;
63 
64  virtual QString getSpecificName() const = 0;
65  virtual int getCurrentSource() const = 0;
66  virtual int getSource() const = 0;
67  virtual bool getSourceActive() const = 0;
68  virtual QStringList getSourceNames() const = 0;
69  virtual QStringList getSourceKeywords() const = 0;
71  virtual string getProperty() const = 0;
73  virtual bool getPropertyActive() const = 0;
74  virtual StringList getPropertiesAvailable() const = 0;
75  virtual QList<uint> getInterestedIn() const = 0;
76 
81  virtual QPair<double, quint64> getData(const DVect3 &pos) = 0;
84  virtual double getData(const IVertexThing* gp, const IZoneThing* z,
85  const IFaceThing* ft = nullptr, uint32 thread=0, uint32 block=0) = 0;
86  virtual double getData(const IZoneThing *z, const ZoneWt &wt) = 0;
92  virtual void initialize() = 0;
95  virtual void reset() = 0;
96 
98  virtual void destroy() = 0;
99 
100  virtual void initializeMultithreading(bool needSpatialSearch, uint32 threads) = 0;
101 
102  // public slots
103  virtual void setProperty(const string &s) = 0;
104  virtual void setSource(int source) = 0;
105  virtual void setComponent(int i) = 0;
106  virtual void setQuantity(int i) = 0;
107  };
108 } // namespace block
109 // EoF
Definition: idef.h:50
Definition: basestring.h:77
This class maintains a list of scalar data . getNames() returns the names of the data available throu...
Definition: ifacedata.h:19
This is the interface for FaceThing, a class that holds extra data not in the fortran arrays....
Definition: ifacething.h:33
This class maintains a list of scalar data (x-position, density, velocity magnitude,...
Definition: igpdata.h:19
This is the interface for VertexThing. This will be stored in a container and the ID will be stored i...
Definition: ivertexthing.h:29
Access to zone scalar data in a generic way. This class maintains a list of scalar data (sxx,...
Definition: izonedata.h:21
Interface for accessing the zone field data class. This class allows access to both gp and zone scala...
Definition: izonefielddata.h:32
shared::Signal< int > currentSourceChanged
This SIGNAL is emitted if the active index changes from zone based to gp, or vice versa.
Definition: izonefielddata.h:43
virtual QPair< double, quint64 > getData(const DVect3 &pos)=0
virtual bool getPropertyActive() const =0
Returns true if the index is set to zone property data, so that the property name is active.
virtual IZoneInterpolate * getIZoneInterpolate()=0
Returns a pointer to the zone interpolate, IZoneInterpolate.
virtual const IZoneInterpolate * getIZoneInterpolate() const =0
Returns a const pointer to the zone interpolate, IZoneInterpolate.
shared::Signal< const string & > propertyChanged
This SIGNAL is emitted if the name of the property used for zone property data changes.
Definition: izonefielddata.h:38
virtual double getData(const IVertexThing *gp, const IZoneThing *z, const IFaceThing *ft=nullptr, uint32 thread=0, uint32 block=0)=0
virtual string getProperty() const =0
Returns the property that would be retrieved if the index is set to zone property data.
virtual void destroy()=0
Destroys this object, returning the memory to the heap.
virtual void reset()=0
virtual const IGpData * getIGpData() const =0
Returns a const pointer to the gridpoint data, IGpData.
virtual const IZoneData * getIZoneData() const =0
Returns a const pointer to the zone data, IZoneData.
virtual void initialize()=0
virtual IGpData * getIGpData()=0
Returns a pointer to the gridpoint data, IGpData.
virtual IZoneData * getIZoneData()=0
Returns a pointer to the zone data, IZoneData.
Interface for accessing the zone interpolation class.
Definition: izoneinterpolate.h:24
This is the interface for ZoneThing, a class that holds extra data not in the fortran arrays....
Definition: izonething.h:35
Definition: idata.h:16
Fortran to C++ type declarations.