18 #ifndef QGSFUZZIFYRASTERALGORITHM_H
19 #define QGSFUZZIFYRASTERALGORITHM_H
35 QString
group()
const final;
37 void initAlgorithm(
const QVariantMap &configuration = QVariantMap() )
final;
45 virtual void addAlgorithmParams() = 0;
66 std::unique_ptr< QgsRasterInterface > mInterface;
71 int mNbCellsXProvider = 0;
72 int mNbCellsYProvider = 0;
75 const double mNoDataValue = -9999;
82 class QgsFuzzifyRasterLinearMembershipAlgorithm :
public QgsFuzzifyRasterAlgorithmBase
86 QgsFuzzifyRasterLinearMembershipAlgorithm() =
default;
88 QString svgIconPath()
const override {
return QgsApplication::iconPath( QStringLiteral(
"/algorithms/mAlgorithmFuzzifyLinear.svg" ) ); }
89 QString name()
const override;
90 QString displayName()
const override;
91 QStringList tags()
const override;
92 QString shortHelpString()
const override;
93 QgsFuzzifyRasterLinearMembershipAlgorithm *createInstance() const override
SIP_FACTORY;
96 void addAlgorithmParams() override;
101 double mFuzzifyLowBound;
102 double mFuzzifyHighBound;
107 class QgsFuzzifyRasterPowerMembershipAlgorithm : public QgsFuzzifyRasterAlgorithmBase
111 QgsFuzzifyRasterPowerMembershipAlgorithm() =
default;
113 QString svgIconPath()
const override {
return QgsApplication::iconPath( QStringLiteral(
"/algorithms/mAlgorithmFuzzifyPower.svg" ) ); }
114 QString name()
const override;
115 QString displayName()
const override;
116 QStringList tags()
const override;
117 QString shortHelpString()
const override;
118 QgsFuzzifyRasterPowerMembershipAlgorithm *createInstance() const override
SIP_FACTORY;
121 void addAlgorithmParams() override;
126 double mFuzzifyLowBound;
127 double mFuzzifyHighBound;
128 double mFuzzifyExponent;
133 class QgsFuzzifyRasterLargeMembershipAlgorithm : public QgsFuzzifyRasterAlgorithmBase
137 QgsFuzzifyRasterLargeMembershipAlgorithm() =
default;
139 QString svgIconPath()
const override {
return QgsApplication::iconPath( QStringLiteral(
"/algorithms/mAlgorithmFuzzifyLarge.svg" ) ); }
140 QString name()
const override;
141 QString displayName()
const override;
142 QStringList tags()
const override;
143 QString shortHelpString()
const override;
144 QgsFuzzifyRasterLargeMembershipAlgorithm *createInstance() const override
SIP_FACTORY;
147 void addAlgorithmParams() override;
152 double mFuzzifyMidpoint;
153 double mFuzzifySpread;
158 class QgsFuzzifyRasterSmallMembershipAlgorithm : public QgsFuzzifyRasterAlgorithmBase
162 QgsFuzzifyRasterSmallMembershipAlgorithm() =
default;
164 QString svgIconPath()
const override {
return QgsApplication::iconPath( QStringLiteral(
"/algorithms/mAlgorithmFuzzifySmall.svg" ) ); }
165 QString name()
const override;
166 QString displayName()
const override;
167 QStringList tags()
const override;
168 QString shortHelpString()
const override;
169 QgsFuzzifyRasterSmallMembershipAlgorithm *createInstance() const override
SIP_FACTORY;
172 void addAlgorithmParams() override;
177 double mFuzzifyMidpoint;
178 double mFuzzifySpread;
183 class QgsFuzzifyRasterGaussianMembershipAlgorithm : public QgsFuzzifyRasterAlgorithmBase
187 QgsFuzzifyRasterGaussianMembershipAlgorithm() =
default;
189 QString svgIconPath()
const override {
return QgsApplication::iconPath( QStringLiteral(
"/algorithms/mAlgorithmFuzzifyGaussian.svg" ) ); }
190 QString name()
const override;
191 QString displayName()
const override;
192 QStringList tags()
const override;
193 QString shortHelpString()
const override;
194 QgsFuzzifyRasterGaussianMembershipAlgorithm *createInstance() const override
SIP_FACTORY;
197 void addAlgorithmParams() override;
202 double mFuzzifyMidpoint;
203 double mFuzzifySpread;
208 class QgsFuzzifyRasterNearMembershipAlgorithm : public QgsFuzzifyRasterAlgorithmBase
212 QgsFuzzifyRasterNearMembershipAlgorithm() =
default;
214 QString svgIconPath()
const override {
return QgsApplication::iconPath( QStringLiteral(
"/algorithms/mAlgorithmFuzzifyNear.svg" ) ); }
215 QString name()
const override;
216 QString displayName()
const override;
217 QStringList tags()
const override;
218 QString shortHelpString()
const override;
219 QgsFuzzifyRasterNearMembershipAlgorithm *createInstance() const override
SIP_FACTORY;
222 void addAlgorithmParams() override;
227 double mFuzzifyMidpoint;
228 double mFuzzifySpread;
235 #endif // QGSALGORITHMFUZZIFYRASTER_H