QGIS API Documentation 3.99.0-Master (09f76ad7019)
Loading...
Searching...
No Matches
qgsalgorithmrandomextract.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsalgorithmrandomextract.h
3 ---------------------
4 begin : December 2019
5 copyright : (C) 2019 by Alexander Bruy
6 email : alexander dot bruy at gmail dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSALGORITHMRANDOMEXTRACT_H
19#define QGSALGORITHMRANDOMEXTRACT_H
20
21#define SIP_NO_FILE
22
23#include "qgis_sip.h"
24#include "qgsapplication.h"
26
27#include <QString>
28
29using namespace Qt::StringLiterals;
30
32
36class QgsRandomExtractSelectAlgorithmBase : public QgsProcessingAlgorithm
37{
38 public:
39 QString group() const override;
40 QString groupId() const override;
41
42 protected:
46 void sampleFeatureIds( QgsFeatureSource *source, const long long count, QgsProcessingFeedback *feedback );
47
48 QgsFeatureIds mSelectedFeatureIds;
49};
50
54class QgsRandomExtractAlgorithm : public QgsRandomExtractSelectAlgorithmBase
55{
56 public:
57 QgsRandomExtractAlgorithm() = default;
58 QString name() const override;
59 QString displayName() const override;
60 QStringList tags() const override;
61 QString shortHelpString() const override;
62 QString shortDescription() const override;
63 Qgis::ProcessingAlgorithmDocumentationFlags documentationFlags() const override;
64 void initAlgorithm( const QVariantMap &configuration = QVariantMap() ) override;
65 QgsRandomExtractAlgorithm *createInstance() const override SIP_FACTORY;
66
67 protected:
68 QVariantMap processAlgorithm( const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessingFeedback *feedback ) override;
69};
70
74class QgsRandomSelectionAlgorithm : public QgsRandomExtractSelectAlgorithmBase
75{
76 public:
77 QgsRandomSelectionAlgorithm() = default;
78 QString name() const override;
79 QString displayName() const override;
80 QStringList tags() const override;
81 QString shortHelpString() const override;
82 QString shortDescription() const override;
83 QIcon icon() const override { return QgsApplication::getThemeIcon( u"/algorithms/mAlgorithmSelectRandom.svg"_s ); }
84 QString svgIconPath() const override { return QgsApplication::iconPath( u"/algorithms/mAlgorithmSelectRandom.svg"_s ); }
85 void initAlgorithm( const QVariantMap &configuration = QVariantMap() ) override;
86 QgsRandomSelectionAlgorithm *createInstance() const override SIP_FACTORY;
87
88 protected:
89 QVariantMap processAlgorithm( const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessingFeedback *feedback ) override;
90 QVariantMap postProcessAlgorithm( QgsProcessingContext &context, QgsProcessingFeedback *feedback ) override;
91
92 private:
93 QVariant mInput;
94 QgsVectorLayer *mTargetLayer = nullptr;
95};
96
98
99#endif // QGSALGORITHMRANDOMEXTRACT_H
QFlags< ProcessingAlgorithmDocumentationFlag > ProcessingAlgorithmDocumentationFlags
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3701
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.
An interface for objects which provide features via a getFeatures method.
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.
Base class for providing feedback from a processing algorithm.
#define SIP_FACTORY
Definition qgis_sip.h:84
QSet< QgsFeatureId > QgsFeatureIds