Itasca C++ Interface
izoneinterpolate.h
Go to the documentation of this file.
1 // izoneinterpolate.h
2 #pragma once
3 
4 #include "iblockdef.h"
5 
11 namespace itasca {
12  class Archive2;
13  class IParse;
14 }
15 
16 namespace block {
17  using itasca::Archive2;
18  using itasca::IParse;
19  class IZoneData;
20  class IVertexThing;
21 
25  public:
27  enum Method {
31  PolyMethod
32  };
33 
34  // signals
36  shared::Signal<int> methodChanged; // method
38  shared::Signal<double> radRatioChanged;
40  shared::Signal<double> powerChanged;
42  shared::Signal<double> toleranceChanged;
43  shared::Signal<bool> methodActiveChanged;
45  shared::Signal<bool> radRatioActiveChanged;
47  shared::Signal<bool> powerActiveChanged;
49  shared::Signal<bool> toleranceActiveChanged;
50  shared::Signal<> changed;
51 
53 
55  virtual int getMethod() const = 0;
56  virtual bool getMethodActive() const = 0;
58  virtual QStringList getMethodKeywords() const = 0;
60  virtual QStringList getMethodNames() const = 0;
62  virtual double getRadRatio() const = 0;
64  virtual double getPower() const = 0;
66  virtual double getTolerance() const = 0;
68 
69  virtual bool getRadRatioActive() const = 0;
71 
72  virtual bool getPowerActive() const = 0;
74 
75  virtual bool getToleranceActive() const = 0;
76 
78 
82  virtual double getGpValue(const IVertexThing* gp, const IZoneData* zoneData, uint32 thread,
83  uint32 block) const = 0;
84  virtual void setHideNull(bool b) = 0;
85  virtual bool getHideNull() const = 0;
86 
88 
91  virtual void initialize(const IZoneData *zoneData) = 0;
92  virtual void reset() = 0;
94  virtual void destroy() = 0;
95 
96  virtual void save(Archive2 &a) const = 0;
97  virtual bool restore(Archive2 &a, quint64 label) = 0;
98  virtual bool parse(IParse &par) = 0;
99  virtual QStringList getCommandSwitches() const = 0;
100 
101  // public slots
102  virtual void setActive(bool active) = 0;
104 
108  virtual void setMethod(int method) = 0;
110  virtual void setRadRatio(const double &radRatio) = 0;
112  virtual void setPower(const double &power) = 0;
114  virtual void setTolerance(const double &tol) = 0;
115 
116  };
117 } // namespace block
118 // EoF
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 interpolation class.
Definition: izoneinterpolate.h:24
virtual bool getRadRatioActive() const =0
Returns true if the radii ratio parameter is used during the computation.
virtual QStringList getMethodNames() const =0
Returns a QStringList comprising names corresponding to all interpolation methods,...
virtual double getTolerance() const =0
Returns the tolerance used to assess quantity gradient by the Polynomial Extrapolation method.
virtual bool getToleranceActive() const =0
Returns true if the tolerance parameter is used during the computation.
virtual void destroy()=0
Destroys the current instanciation.
virtual double getGpValue(const IVertexThing *gp, const IZoneData *zoneData, uint32 thread, uint32 block) const =0
Returns the interpolated field value at gridpoint gp.
virtual void setMethod(int method)=0
Sets the current interpolation method.
shared::Signal< double > powerChanged
Signal emitted when the power parameter is changed.
Definition: izoneinterpolate.h:40
virtual double getPower() const =0
Returns the power used by the Inverse Distance Weighting method.
shared::Signal< double > toleranceChanged
Signal emitted when the tolerance parameter is changed.
Definition: izoneinterpolate.h:42
virtual QStringList getMethodKeywords() const =0
Returns a QStringList comprising the keywords corresponding to all interpolation methods,...
virtual int getMethod() const =0
Returns an integer corresponding to the active interpolation method.
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:45
Method
Interpolation method enumeration.
Definition: izoneinterpolate.h:27
@ ConstMethod
Definition: izoneinterpolate.h:28
@ IDWMethod
Definition: izoneinterpolate.h:30
@ PolyMethod
Definition: izoneinterpolate.h:31
@ AverageMethod
Definition: izoneinterpolate.h:29
shared::Signal< double > radRatioChanged
Signal emitted when the radii ratio parameter is changed.
Definition: izoneinterpolate.h:38
shared::Signal< int > methodChanged
Signal emitted when the interpolation method is changed.
Definition: izoneinterpolate.h:36
shared::Signal< bool > toleranceActiveChanged
Signal emitted when the tolerance parameter becomes active.
Definition: izoneinterpolate.h:49
virtual void setTolerance(const double &tol)=0
Sets the tolerance parameter to be used by the Polynomial Extrapolation method.
virtual void setPower(const double &power)=0
Sets the power parameter to be used by the Inverse Distance Weighting method.
shared::Signal< bool > powerActiveChanged
Signal emitted when the power parameter becomes active.
Definition: izoneinterpolate.h:47
virtual void initialize(const IZoneData *zoneData)=0
Initializes the interpolation computation.
virtual void setRadRatio(const double &radRatio)=0
Sets the radii ratio parameter to be used by the Inverse Distance Weighting method.
virtual double getRadRatio() const =0
Returns the radii ratio used by the Inverse Distance Weighting method.
Interface to the main command processing class.
Definition: iparse.h:50
Fortran to C++ type declarations.
namespace Itasca
Definition: basememory.cpp:10