Itasca C++ Interface
izoneinterpolate.h
Go to the documentation of this file.
1 // izoneinterpolate.h
2 #pragma once
3 
4 #include "shared/interface/signal.h"
10 namespace itasca {
11  class Archive2;
12  class IParse;
13 }
14 
15 namespace zone {
16  using itasca::Archive2;
17  using itasca::IParse;
18  class IGp;
19  class IZoneData;
20 
24  public:
26  enum Method {
30 #ifdef THREED
31  PolyMethod
32 #endif
33  };
34 
35  // signals
37  shared::Signal<int> methodChanged;
39  shared::Signal<double> radRatioChanged;
41  shared::Signal<double> powerChanged;
43  shared::Signal<double> toleranceChanged;
44  shared::Signal<bool> methodActiveChanged;
46  shared::Signal<bool> radRatioActiveChanged;
48  shared::Signal<bool> powerActiveChanged;
50  shared::Signal<bool> toleranceActiveChanged;
51  shared::Signal<> changed;
52 
53 
55 
57  virtual int getMethod() const=0;
58  virtual bool getMethodActive() const=0;
60  virtual QStringList getMethodKeywords() const=0;
62  virtual QStringList getMethodNames() const=0;
64  virtual double getRadRatio() const=0;
66  virtual double getPower() const=0;
68  virtual double getTolerance() const=0;
70 
71  virtual bool getRadRatioActive() const=0;
73 
74  virtual bool getPowerActive() const=0;
76 
77  virtual bool getToleranceActive() const=0;
79 
83  virtual double getGpValue(const IGp *gp,const IZoneData *zoneData,uint32 thread=0,uint32 block=0) const=0;
84 
86  virtual void setHideMechNull(bool b)=0;
88  virtual void setHideFluidNull(bool b)=0;
90  virtual void setHideThermNull(bool b)=0;
92  virtual bool getHideMechNull() const = 0;
94  virtual bool getHideFluidNull() const = 0;
96  virtual bool getHideThermNull() const = 0;
97 
99 
102  virtual void initialize(const IZoneData *zoneData)=0;
103  virtual void reset()=0;
105  virtual void destroy()=0;
106 
107  virtual void save(Archive2 &a) const=0;
108  virtual bool restore(Archive2 &a,uint64 label)=0;
109  virtual bool parse(IParse &par)=0;
110  virtual QStringList getCommandSwitches() const=0;
111 
112  // public slots
113  virtual void setActive(bool active)=0;
115 
119  virtual void setMethod(int method)=0;
121  virtual void setRadRatio(const double &radRatio)=0;
123  virtual void setPower(const double &power)=0;
125  virtual void setTolerance(const double &tol)=0;
126 
127  };
128 } // namespace zone
129 // EoF
Interface to the main command processing class.
Definition: iparse.h:50
Interface to provide access to a gridpoint.
Definition: igp.h:55
Access to zone scalar data.
Definition: izonedata.h:24
Interface for accessing the zone interpolation class.
Definition: izoneinterpolate.h:23
virtual bool getHideMechNull() const =0
Returns true if the interplation system is ignoring zones with a null mechanical model.
virtual void setPower(const double &power)=0
Sets the power parameter to be used by the Inverse Distance Weighting method.
virtual double getGpValue(const IGp *gp, const IZoneData *zoneData, uint32 thread=0, uint32 block=0) const =0
Returns the interpolated field value at gridpoint gp.
virtual void setMethod(int method)=0
Sets the current interpolation method.
virtual bool getToleranceActive() const =0
Returns true if the tolerance parameter is used during the computation.
virtual bool getHideThermNull() const =0
Returns true if the interplation system is ignoring zones with a null thermal model.
virtual void setHideFluidNull(bool b)=0
Indicates that the interpolation system should ingnore zones with null fluid model (default is false)
virtual void setTolerance(const double &tol)=0
Sets the tolerance parameter to be used by the Polynomial Extrapolation method.
shared::Signal< double > powerChanged
Signal emitted when the power parameter is changed.
Definition: izoneinterpolate.h:41
virtual bool getHideFluidNull() const =0
Returns true if the interplation system is ignoring zones with a null fluid model.
virtual bool getPowerActive() const =0
Returns true if the power parameter is used during the computation.
shared::Signal< bool > radRatioActiveChanged
Signal emitted when the radii ratio parameter becomes active.
Definition: izoneinterpolate.h:46
Method
Interpolation method enumeration.
Definition: izoneinterpolate.h:26
@ AverageMethod
Definition: izoneinterpolate.h:28
@ ConstMethod
Definition: izoneinterpolate.h:27
@ IDWMethod
Definition: izoneinterpolate.h:29
shared::Signal< bool > powerActiveChanged
Signal emitted when the power parameter becomes active.
Definition: izoneinterpolate.h:48
shared::Signal< int > methodChanged
Signal emitted when the interpolation method is changed.
Definition: izoneinterpolate.h:37
virtual void setHideMechNull(bool b)=0
Indicates that the interpolation system should ingnore zones with null mechanical model (default is t...
virtual double getTolerance() const =0
Returns the tolerance used to assess quantity gradient by the Polynomial Extrapolation method.
virtual int getMethod() const =0
Returns an integer corresponding to the active interpolation method.
virtual QStringList getMethodKeywords() const =0
Returns a QStringList comprising the keywords corresponding to all interpolation methods,...
virtual double getRadRatio() const =0
Returns the radii ratio used by the Inverse Distance Weighting method.
virtual bool getRadRatioActive() const =0
Returns true if the radii ratio parameter is used during the computation.
virtual void setRadRatio(const double &radRatio)=0
Sets the radii ratio parameter to be used by the Inverse Distance Weighting method.
shared::Signal< double > toleranceChanged
Signal emitted when the tolerance parameter is changed.
Definition: izoneinterpolate.h:43
virtual double getPower() const =0
Returns the power used by the Inverse Distance Weighting method.
virtual void initialize(const IZoneData *zoneData)=0
Initializes the interpolation computation.
virtual void destroy()=0
Destroys the current instanciation.
virtual QStringList getMethodNames() const =0
Returns a QStringList comprising names corresponding to all interpolation methods,...
shared::Signal< bool > toleranceActiveChanged
Signal emitted when the tolerance parameter becomes active.
Definition: izoneinterpolate.h:50
virtual void setHideThermNull(bool b)=0
Indicates that the interpolation system should ingnore zones with null thermal model (default is fals...
shared::Signal< double > radRatioChanged
Signal emitted when the radii ratio parameter is changed.
Definition: izoneinterpolate.h:39
namespace Itasca
Definition: basememory.cpp:10