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"
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 setHideNull(bool b)=0;
88 virtual bool getHideNull() const = 0;
89
91
94 virtual void initialize(const IZoneData *zoneData)=0;
95 virtual void reset()=0;
97 virtual void destroy()=0;
98
99 virtual void save(Archive2 &a) const=0;
100 virtual bool restore(Archive2 &a,uint64 label)=0;
101 virtual bool parse(IParse &par)=0;
102 virtual QStringList getCommandSwitches() const=0;
103
104 // public slots
105 virtual void setActive(bool active)=0;
107
111 virtual void setMethod(int method)=0;
113 virtual void setRadRatio(const double &radRatio)=0;
115 virtual void setPower(const double &power)=0;
117 virtual void setTolerance(const double &tol)=0;
118
119 };
120} // namespace zone
121// 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 void setHideNull(bool b)=0
Indicates that the interpolation system should ingnore null zones (default is true)
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 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 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 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 bool getHideNull() const =0
Returns true if the interplation system is ignoring null zones.
shared::Signal< double > radRatioChanged
Signal emitted when the radii ratio parameter is changed.
Definition izoneinterpolate.h:39
namespace Itasca
Definition basememory.cpp:14