Itasca C++ Interface
Loading...
Searching...
No Matches
izoneinterpolate.h
Go to the documentation of this file.
1// izoneinterpolate.h
2#pragma once
3
4#include "shared/interface/signal.h"
9
10namespace itasca {
11 class Archive2;
12 class IParse;
13}
14
15namespace 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:56
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