Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
izonefielddata.h
Go to the documentation of this file.
1 // izonefielddata.h
2 #pragma once
3 
9 namespace itascaxd {
10  class IData;
11 }
12 
13 namespace zone {
14  using itascaxd::IData;
15  class IGp;
16  class IGpData;
17  class IZone;
18  class IZoneData;
19  class IZoneInterpolate;
20  class ZoneWt;
21 
29  public:
30  enum Source { ZoneSource, GpSource, BothSource };
32  virtual const QObject *getQObject() const=0;
34  virtual QObject * getQObject()=0;
35  virtual const IData * getIData() const=0;
36  virtual IData * getIData()=0;
38  virtual const IZoneInterpolate *getIZoneInterpolate() const=0;
41  virtual const IZoneData *getIZoneData() const=0;
42  virtual IZoneData *getIZoneData()=0;
43  virtual const IGpData *getIGpData() const=0;
44  virtual IGpData *getIGpData()=0;
45 
46  virtual int getCurrentSource() const=0;
47  virtual int getSource() const=0;
48  virtual bool getSourceActive() const=0;
49  virtual QStringList getSourceNames() const=0;
50  virtual QStringList getSourceKeywords() const=0;
51  virtual QString getProperty() const=0;
52  virtual bool getPropertyActive() const=0;
53  virtual QStringList getPropertiesAvailable() const=0;
54  virtual QList<uint> getInterestedIn() const=0;
55 
60  virtual QPair<double,quint64> getData(const DVect &pos)=0;
63  virtual double getData(const IGp *gp,const IZone *z,quint32 thread=0,quint32 block=0)=0;
64  virtual double getData(const IZone *z,const DVect &pos,double tol=0.0)=0;
65  virtual double getData(const IZone *z,const ZoneWt &wt)=0;
71  virtual void initialize()=0;
72  virtual void initializeMultithreading(bool needSpatialSearch,quint32 threads)=0;
75  virtual void reset()=0;
77  virtual void destroy()=0;
78 
79  // public slots
80  virtual void setProperty(const QString &s)=0;
81  virtual void setSource(int source)=0;
82  virtual void setComponent(int i)=0;
83  virtual void setQuantity(int i)=0;
84 
85  // signals
87  virtual void propertyChanged(const QString &s)=0;
88  virtual void propertyActiveChanged(bool b)=0;
89  virtual void sourceChanged(int source)=0;
90  virtual void sourceActiveChanged(bool b)=0;
92  virtual void currentSourceChanged(int source)=0;
93  };
94 } // namespace zone
95 // EoF
virtual void currentSourceChanged(int source)=0
This SIGNAL is emitted if the active index changes from zone based to gp, or vice versa.
virtual void initialize()=0
virtual QPair< double, quint64 > getData(const DVect &pos)=0
Interface that allows access to gridpoint scalar data in a generic way.
Definition: igpdata.h:27
virtual const IZoneInterpolate * getIZoneInterpolate() const =0
Returns a const pointer to the zone interpolate, IZoneInterpolate.
virtual void reset()=0
Interface to provide access to a zone.
Definition: izone.h:116
Interface for accessing the zone field data class.
Definition: izonefielddata.h:28
Access to zone scalar data.
Definition: izonedata.h:24
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4
Interface for accessing the zone interpolation class.
Definition: izoneinterpolate.h:22
Definition: idata.h:16
Interface to provide access to a gridpoint.
Definition: igp.h:64
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:145
virtual const QObject * getQObject() const =0
Returns a const pointer to a QObject representing this object.
virtual void destroy()=0
Destroys this object, returning the memory to the heap.
virtual void propertyChanged(const QString &s)=0
This SIGNAL is emitted if the name of the property used for zone property data changes.