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;
DataType
Raster data types.
@ Float32
Thirty two bit floating point (float)
static QIcon getThemeIcon(const QString &name, const QColor &fillColor=QColor(), const QColor &strokeColor=QColor())
Helper to get a theme icon.
static QString iconPath(const QString &iconFile)
Returns path to the desired icon file.
This class represents a coordinate reference system (CRS).
Abstract base class for processing algorithms.
virtual QString group() const
Returns the name of the group this algorithm belongs to.
virtual QString groupId() const
Returns the unique ID of the group this algorithm belongs to.
virtual QVariantMap processAlgorithm(const QVariantMap ¶meters, QgsProcessingContext &context, QgsProcessingFeedback *feedback) SIP_THROW(QgsProcessingException)=0
Runs the algorithm using the specified parameters.
virtual bool prepareAlgorithm(const QVariantMap ¶meters, QgsProcessingContext &context, QgsProcessingFeedback *feedback) SIP_THROW(QgsProcessingException)
Prepares the algorithm to run using the specified parameters.
virtual void initAlgorithm(const QVariantMap &configuration=QVariantMap())=0
Initializes the algorithm using the specified configuration.
Contains information about the context in which a processing algorithm is executed.
Base class for providing feedback from a processing algorithm.
Base class for raster data providers.
Represents a raster layer.
A rectangle specified with double values.