QGIS API Documentation 3.41.0-Master (45a0abf3bec)
Loading...
Searching...
No Matches
qgsnativealgorithms.cpp
Go to the documentation of this file.
1/***************************************************************************
2 qgsnativealgorithms.cpp
3 ---------------------
4 begin : April 2017
5 copyright : (C) 2017 by Nyall Dawson
6 email : nyall dot dawson 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#include "qgsnativealgorithms.h"
19#include "moc_qgsnativealgorithms.cpp"
20#include "qgsruntimeprofiler.h"
32#include "qgsalgorithmaspect.h"
40#include "qgsalgorithmbuffer.h"
46#include "qgsalgorithmclip.h"
66#include "qgsalgorithmdrape.h"
76#include "qgsalgorithmexplode.h"
96#include "qgsalgorithmfilter.h"
101#include "qgsalgorithmforcerhr.h"
106#if QT_CONFIG(process)
108#endif
109#include "qgsalgorithmgrid.h"
143#include "qgsalgorithmpackage.h"
187#include "qgsalgorithmrotate.h"
192#include "qgsalgorithmsavelog.h"
206#include "qgsalgorithmsimplify.h"
208#include "qgsalgorithmslope.h"
209#include "qgsalgorithmsmooth.h"
222#include "qgsalgorithmswapxy.h"
226#include "qgsalgorithmtransect.h"
230#include "qgsalgorithmunion.h"
239#include "qgsalgorithmxyztiles.h"
248#include "qgsstylealgorithms.h"
249
251
253 : QgsProcessingProvider( parent )
254{}
255
256QIcon QgsNativeAlgorithms::icon() const
257{
258 return QgsApplication::getThemeIcon( QStringLiteral( "/providerQgis.svg" ) );
259}
260
262{
263 return QgsApplication::iconPath( QStringLiteral( "providerQgis.svg" ) );
264}
265
266QString QgsNativeAlgorithms::id() const
267{
268 return QStringLiteral( "native" );
269}
270
271QString QgsNativeAlgorithms::helpId() const
272{
273 return QStringLiteral( "qgis" );
274}
275
276QString QgsNativeAlgorithms::name() const
277{
278 return tr( "QGIS (native c++)" );
279}
280
282{
283 return true;
284}
285
287{
289}
290
292{
293 const QgsScopedRuntimeProfile profile( QObject::tr( "QGIS native provider" ) );
294 addAlgorithm( new QgsAddIncrementalFieldAlgorithm() );
295 addAlgorithm( new QgsAddTableFieldAlgorithm() );
296 addAlgorithm( new QgsAddXYFieldsAlgorithm() );
297 addAlgorithm( new QgsAddUniqueValueIndexAlgorithm() );
298 addAlgorithm( new QgsAffineTransformationAlgorithm() );
299 addAlgorithm( new QgsAggregateAlgorithm() );
300 addAlgorithm( new QgsAlignRastersAlgorithm() );
301 addAlgorithm( new QgsAlignSingleRasterAlgorithm() );
302 addAlgorithm( new QgsAngleToNearestAlgorithm() );
303 addAlgorithm( new QgsApplyLayerMetadataAlgorithm() );
304 addAlgorithm( new QgsApplyLayerStyleAlgorithm() );
305 addAlgorithm( new QgsArrayTranslatedFeaturesAlgorithm() );
306 addAlgorithm( new QgsAspectAlgorithm() );
307 addAlgorithm( new QgsAssignProjectionAlgorithm() );
308 addAlgorithm( new QgsAttributeIndexAlgorithm() );
309 addAlgorithm( new QgsB3DMToGltfAlgorithm() );
310 addAlgorithm( new QgsBasicStatisticsAlgorithm() );
311 addAlgorithm( new QgsBatchNominatimGeocodeAlgorithm() );
312 addAlgorithm( new QgsBookmarksToLayerAlgorithm() );
313 addAlgorithm( new QgsBoundaryAlgorithm() );
314 addAlgorithm( new QgsBoundingBoxAlgorithm() );
315 addAlgorithm( new QgsBufferAlgorithm() );
316 addAlgorithm( new QgsCalculateExpressionAlgorithm() );
317 addAlgorithm( new QgsCalculateVectorOverlapsAlgorithm() );
318 addAlgorithm( new QgsCategorizeUsingStyleAlgorithm() );
319 addAlgorithm( new QgsCellStatisticsAlgorithm() );
320 addAlgorithm( new QgsCellStatisticsPercentileAlgorithm() );
321 addAlgorithm( new QgsCellStatisticsPercentRankFromRasterAlgorithm() );
322 addAlgorithm( new QgsCellStatisticsPercentRankFromValueAlgorithm() );
323 addAlgorithm( new QgsCentroidAlgorithm() );
324 addAlgorithm( new QgsClipAlgorithm() );
325 addAlgorithm( new QgsCollectAlgorithm() );
326 addAlgorithm( new QgsCombineStylesAlgorithm() );
327 addAlgorithm( new QgsConcaveHullAlgorithm() );
328 addAlgorithm( new QgsConditionalBranchAlgorithm() );
329 addAlgorithm( new QgsConstantRasterAlgorithm() );
330 addAlgorithm( new QgsConvertToCurvesAlgorithm() );
331 addAlgorithm( new QgsConvexHullAlgorithm() );
332 addAlgorithm( new QgsCopyLayerMetadataAlgorithm() );
333 addAlgorithm( new QgsCoverageSimplifyAlgorithm() );
334 addAlgorithm( new QgsCoverageUnionAlgorithm() );
335 addAlgorithm( new QgsCoverageValidateAlgorithm() );
336 addAlgorithm( new QgsCreateDirectoryAlgorithm() );
337 addAlgorithm( new QgsDbscanClusteringAlgorithm() );
338 addAlgorithm( new QgsDelaunayTriangulationAlgorithm() );
339 addAlgorithm( new QgsDeleteDuplicateGeometriesAlgorithm() );
340 addAlgorithm( new QgsDetectVectorChangesAlgorithm() );
341 addAlgorithm( new QgsDifferenceAlgorithm() );
342 addAlgorithm( new QgsDissolveAlgorithm() );
343 addAlgorithm( new QgsDownloadVectorTilesAlgorithm() );
344 addAlgorithm( new QgsDrapeToMAlgorithm() );
345 addAlgorithm( new QgsDrapeToZAlgorithm() );
346 addAlgorithm( new QgsDropTableFieldsAlgorithm() );
347 addAlgorithm( new QgsDropGeometryAlgorithm() );
348 addAlgorithm( new QgsDropMZValuesAlgorithm() );
349 addAlgorithm( new QgsDxfExportAlgorithm() );
350 addAlgorithm( new QgsExecutePostgisQueryAlgorithm() );
351 addAlgorithm( new QgsExecuteRegisteredSpatialiteQueryAlgorithm() );
352 addAlgorithm( new QgsExecuteSpatialiteQueryAlgorithm() );
353 addAlgorithm( new QgsExplodeAlgorithm() );
354 addAlgorithm( new QgsExplodeHstoreAlgorithm() );
355 addAlgorithm( new QgsExportLayersInformationAlgorithm() );
356 addAlgorithm( new QgsExportLayerMetadataAlgorithm() );
357 addAlgorithm( new QgsExportMeshVerticesAlgorithm );
358 addAlgorithm( new QgsExportMeshFacesAlgorithm );
359 addAlgorithm( new QgsExportMeshEdgesAlgorithm );
360 addAlgorithm( new QgsExportMeshOnGridAlgorithm );
361 addAlgorithm( new QgsExportToPostgresqlAlgorithm );
362 addAlgorithm( new QgsExportToSpreadsheetAlgorithm() );
363 addAlgorithm( new QgsExtendLinesAlgorithm() );
364 addAlgorithm( new QgsExtentFromLayerAlgorithm() );
365 addAlgorithm( new QgsExtentToLayerAlgorithm() );
366 addAlgorithm( new QgsExtractBinaryFieldAlgorithm() );
367 addAlgorithm( new QgsExtractByAttributeAlgorithm() );
368 addAlgorithm( new QgsExtractByExpressionAlgorithm() );
369 addAlgorithm( new QgsExtractByExtentAlgorithm() );
370 addAlgorithm( new QgsExtractByLocationAlgorithm() );
371 addAlgorithm( new QgsExtractLabelsAlgorithm() );
372 addAlgorithm( new QgsExtractMValuesAlgorithm() );
373 addAlgorithm( new QgsExtractVerticesAlgorithm() );
374 addAlgorithm( new QgsExtractSpecificVerticesAlgorithm() );
375 addAlgorithm( new QgsExtractWithinDistanceAlgorithm() );
376 addAlgorithm( new QgsExtractZValuesAlgorithm() );
377 addAlgorithm( new QgsFieldCalculatorAlgorithm() );
378 addAlgorithm( new QgsFileDownloaderAlgorithm() );
379 addAlgorithm( new QgsFillNoDataAlgorithm() );
380 addAlgorithm( new QgsFilterAlgorithm() );
381 addAlgorithm( new QgsFilterByGeometryAlgorithm() );
382 addAlgorithm( new QgsFilterByLayerTypeAlgorithm() );
383 addAlgorithm( new QgsFilterVerticesByM() );
384 addAlgorithm( new QgsFilterVerticesByZ() );
385 addAlgorithm( new QgsFixGeometriesAlgorithm() );
386 addAlgorithm( new QgsFlattenRelationshipsAlgorithm() );
387 addAlgorithm( new QgsForceRHRAlgorithm() );
388 addAlgorithm( new QgsFuzzifyRasterLinearMembershipAlgorithm() );
389 addAlgorithm( new QgsFuzzifyRasterPowerMembershipAlgorithm() );
390 addAlgorithm( new QgsFuzzifyRasterLargeMembershipAlgorithm() );
391 addAlgorithm( new QgsFuzzifyRasterSmallMembershipAlgorithm() );
392 addAlgorithm( new QgsFuzzifyRasterGaussianMembershipAlgorithm() );
393 addAlgorithm( new QgsFuzzifyRasterNearMembershipAlgorithm() );
394 addAlgorithm( new QgsGenerateElevationProfileAlgorithm() );
395 addAlgorithm( new QgsGeometryByExpressionAlgorithm() );
396 addAlgorithm( new QgsGltfToVectorFeaturesAlgorithm() );
397#if QT_CONFIG(process)
398 addAlgorithm( new QgsConvertGpxFeatureTypeAlgorithm() );
399 addAlgorithm( new QgsConvertGpsDataAlgorithm() );
400 addAlgorithm( new QgsDownloadGpsDataAlgorithm() );
401 addAlgorithm( new QgsUploadGpsDataAlgorithm() );
402#endif
403 addAlgorithm( new QgsGridAlgorithm() );
404 addAlgorithm( new QgsHillshadeAlgorithm() );
405 addAlgorithm( new QgsImportPhotosAlgorithm() );
406 addAlgorithm( new QgsInterpolatePointAlgorithm() );
407 addAlgorithm( new QgsIntersectionAlgorithm() );
408 addAlgorithm( new QgsJoinByAttributeAlgorithm() );
409 addAlgorithm( new QgsJoinByLocationAlgorithm() );
410 addAlgorithm( new QgsJoinByLocationSummaryAlgorithm() );
411 addAlgorithm( new QgsJoinByNearestAlgorithm() );
412 addAlgorithm( new QgsJoinWithLinesAlgorithm() );
413 addAlgorithm( new QgsKeepNBiggestPartsAlgorithm() );
414 addAlgorithm( new QgsKMeansClusteringAlgorithm() );
415 addAlgorithm( new QgsLayerToBookmarksAlgorithm() );
416 addAlgorithm( new QgsLayoutMapExtentToLayerAlgorithm() );
417 addAlgorithm( new QgsLayoutAtlasToImageAlgorithm() );
418 addAlgorithm( new QgsLayoutAtlasToPdfAlgorithm() );
419 addAlgorithm( new QgsLayoutAtlasToMultiplePdfAlgorithm() );
420 addAlgorithm( new QgsLayoutToImageAlgorithm() );
421 addAlgorithm( new QgsLayoutToPdfAlgorithm() );
422 addAlgorithm( new QgsLineDensityAlgorithm() );
423 addAlgorithm( new QgsLineIntersectionAlgorithm() );
424 addAlgorithm( new QgsLineSubstringAlgorithm() );
425 addAlgorithm( new QgsLoadLayerAlgorithm() );
426 addAlgorithm( new QgsMeanCoordinatesAlgorithm() );
427 addAlgorithm( new QgsMergeLinesAlgorithm() );
428 addAlgorithm( new QgsMergeVectorAlgorithm() );
429 addAlgorithm( new QgsMeshRasterizeAlgorithm );
430 addAlgorithm( new QgsMeshContoursAlgorithm );
431 addAlgorithm( new QgsMeshExportCrossSection );
432 addAlgorithm( new QgsMeshExportTimeSeries );
433 addAlgorithm( new QgsMinimumEnclosingCircleAlgorithm() );
434 addAlgorithm( new QgsMultiDifferenceAlgorithm() );
435 addAlgorithm( new QgsMultiIntersectionAlgorithm() );
436 addAlgorithm( new QgsMultipartToSinglepartAlgorithm() );
437 addAlgorithm( new QgsMultiRingConstantBufferAlgorithm() );
438 addAlgorithm( new QgsMultiUnionAlgorithm() );
439 addAlgorithm( new QgsNearestNeighbourAnalysisAlgorithm() );
440 addAlgorithm( new QgsOffsetLinesAlgorithm() );
441 addAlgorithm( new QgsOrderByExpressionAlgorithm() );
442 addAlgorithm( new QgsOrientedMinimumBoundingBoxAlgorithm() );
443 addAlgorithm( new QgsOrthogonalizeAlgorithm() );
444 addAlgorithm( new QgsPackageAlgorithm() );
445 addAlgorithm( new QgsPixelCentroidsFromPolygonsAlgorithm() );
446 addAlgorithm( new QgsCreateArrayOffsetLinesAlgorithm() );
447 addAlgorithm( new QgsPointsInPolygonAlgorithm() );
448 addAlgorithm( new QgsPointOnSurfaceAlgorithm() );
449 addAlgorithm( new QgsPointToLayerAlgorithm() );
450 addAlgorithm( new QgsPointsAlongGeometryAlgorithm() );
451 addAlgorithm( new QgsPointsLayerFromTableAlgorithm() );
452 addAlgorithm( new QgsPointsToPathsAlgorithm() );
453 addAlgorithm( new QgsPoleOfInaccessibilityAlgorithm() );
454 addAlgorithm( new QgsPolygonizeAlgorithm() );
455 addAlgorithm( new QgsProjectPointCartesianAlgorithm() );
456 addAlgorithm( new QgsPromoteToMultipartAlgorithm() );
457 addAlgorithm( new QgsRaiseExceptionAlgorithm() );
458 addAlgorithm( new QgsRaiseWarningAlgorithm() );
459 addAlgorithm( new QgsRaiseMessageAlgorithm() );
460 addAlgorithm( new QgsRandomBinomialRasterAlgorithm() );
461 addAlgorithm( new QgsRandomExponentialRasterAlgorithm() );
462 addAlgorithm( new QgsRandomExtractAlgorithm() );
463 addAlgorithm( new QgsRandomGammaRasterAlgorithm() );
464 addAlgorithm( new QgsRandomGeometricRasterAlgorithm() );
465 addAlgorithm( new QgsRandomNegativeBinomialRasterAlgorithm() );
466 addAlgorithm( new QgsRandomNormalRasterAlgorithm() );
467 addAlgorithm( new QgsRandomPointsExtentAlgorithm() );
468 addAlgorithm( new QgsRandomPointsInPolygonsAlgorithm() );
469 addAlgorithm( new QgsRandomPointsOnLinesAlgorithm() );
470 addAlgorithm( new QgsRandomPoissonRasterAlgorithm() );
471 addAlgorithm( new QgsRandomUniformRasterAlgorithm() );
472 addAlgorithm( new QgsRasterCalculatorAlgorithm() );
473 addAlgorithm( new QgsRasterCalculatorModelerAlgorithm() );
474 addAlgorithm( new QgsRasterDtmSlopeBasedFilterAlgorithm() );
475 addAlgorithm( new QgsRasterFrequencyByEqualOperatorAlgorithm() );
476 addAlgorithm( new QgsRasterFrequencyByGreaterThanOperatorAlgorithm() );
477 addAlgorithm( new QgsRasterFrequencyByLessThanOperatorAlgorithm() );
478 addAlgorithm( new QgsRasterLayerPropertiesAlgorithm() );
479 addAlgorithm( new QgsRasterLayerUniqueValuesReportAlgorithm() );
480 addAlgorithm( new QgsRasterLayerZonalStatsAlgorithm() );
481 addAlgorithm( new QgsRasterLogicalAndAlgorithm() );
482 addAlgorithm( new QgsRasterLogicalOrAlgorithm() );
483 addAlgorithm( new QgsRasterMinMaxAlgorithm() );
484 addAlgorithm( new QgsRasterizeAlgorithm() );
485 addAlgorithm( new QgsRasterPixelsToPointsAlgorithm() );
486 addAlgorithm( new QgsRasterPixelsToPolygonsAlgorithm() );
487 addAlgorithm( new QgsRasterSamplingAlgorithm() );
488 addAlgorithm( new QgsRasterStackHighestPositionAlgorithm() );
489 addAlgorithm( new QgsRasterStackLowestPositionAlgorithm() );
490 addAlgorithm( new QgsRasterStatisticsAlgorithm() );
491 addAlgorithm( new QgsRasterSurfaceVolumeAlgorithm() );
492 addAlgorithm( new QgsAlgorithmRemoveDuplicateVertices() );
493 addAlgorithm( new QgsReclassifyByLayerAlgorithm() );
494 addAlgorithm( new QgsReclassifyByTableAlgorithm() );
495 addAlgorithm( new QgsRectanglesOvalsDiamondsAlgorithm() );
496 addAlgorithm( new QgsRefactorFieldsAlgorithm() );
497 addAlgorithm( new QgsRemoveDuplicatesByAttributeAlgorithm() );
498 addAlgorithm( new QgsRemoveHolesAlgorithm() );
499 addAlgorithm( new QgsRemoveNullGeometryAlgorithm() );
500 addAlgorithm( new QgsRenameLayerAlgorithm() );
501 addAlgorithm( new QgsRenameTableFieldAlgorithm() );
502 addAlgorithm( new QgsRepairShapefileAlgorithm() );
503 addAlgorithm( new QgsRescaleRasterAlgorithm() );
504 addAlgorithm( new QgsRetainTableFieldsAlgorithm() );
505 addAlgorithm( new QgsReverseLineDirectionAlgorithm() );
506 addAlgorithm( new QgsRotateFeaturesAlgorithm() );
507 addAlgorithm( new QgsRoundnessAlgorithm() );
508 addAlgorithm( new QgsRoundRasterValuesAlgorithm() );
509 addAlgorithm( new QgsRuggednessAlgorithm() );
510 addAlgorithm( new QgsSaveFeaturesAlgorithm() );
511 addAlgorithm( new QgsSaveLogToFileAlgorithm() );
512 addAlgorithm( new QgsSaveSelectedFeatures() );
513 addAlgorithm( new QgsSegmentizeByMaximumAngleAlgorithm() );
514 addAlgorithm( new QgsSegmentizeByMaximumDistanceAlgorithm() );
515 addAlgorithm( new QgsSelectByLocationAlgorithm() );
516 addAlgorithm( new QgsSelectWithinDistanceAlgorithm() );
517 addAlgorithm( new QgsServiceAreaFromLayerAlgorithm() );
518 addAlgorithm( new QgsServiceAreaFromPointAlgorithm() );
519 addAlgorithm( new QgsSetLayerEncodingAlgorithm() );
520 addAlgorithm( new QgsSetMValueAlgorithm() );
521 addAlgorithm( new QgsSetProjectVariableAlgorithm() );
522 addAlgorithm( new QgsSetZValueAlgorithm() );
523 addAlgorithm( new QgsShapefileEncodingInfoAlgorithm() );
524 addAlgorithm( new QgsShortestLineAlgorithm() );
525 addAlgorithm( new QgsShortestPathLayerToPointAlgorithm() );
526 addAlgorithm( new QgsShortestPathPointToLayerAlgorithm() );
527 addAlgorithm( new QgsShortestPathPointToPointAlgorithm() );
528 addAlgorithm( new QgsSimplifyAlgorithm() );
529 addAlgorithm( new QgsSingleSidedBufferAlgorithm() );
530 addAlgorithm( new QgsSlopeAlgorithm() );
531 addAlgorithm( new QgsSmoothAlgorithm() );
532 addAlgorithm( new QgsSnapGeometriesAlgorithm() );
533 addAlgorithm( new QgsSnapToGridAlgorithm() );
534 addAlgorithm( new QgsSpatialIndexAlgorithm() );
535 addAlgorithm( new QgsSplitFeaturesByAttributeCharacterAlgorithm() );
536 addAlgorithm( new QgsSplitGeometryAtAntimeridianAlgorithm() );
537 addAlgorithm( new QgsSplitLinesByLengthAlgorithm() );
538 addAlgorithm( new QgsSplitVectorLayerAlgorithm() );
539 addAlgorithm( new QgsSplitWithLinesAlgorithm() );
540 addAlgorithm( new QgsStDbscanClusteringAlgorithm() );
541 addAlgorithm( new QgsStringConcatenationAlgorithm() );
542 addAlgorithm( new QgsStyleFromProjectAlgorithm() );
543 addAlgorithm( new QgsSubdivideAlgorithm() );
544 addAlgorithm( new QgsSumLineLengthAlgorithm() );
545 addAlgorithm( new QgsSwapXYAlgorithm() );
546 addAlgorithm( new QgsSymmetricalDifferenceAlgorithm() );
547 addAlgorithm( new QgsTaperedBufferAlgorithm() );
548 addAlgorithm( new QgsTinMeshCreationAlgorithm() );
549 addAlgorithm( new QgsTransectAlgorithm() );
550 addAlgorithm( new QgsTransferAnnotationsFromMainAlgorithm() );
551 addAlgorithm( new QgsTransformAlgorithm() );
552 addAlgorithm( new QgsTranslateAlgorithm() );
553 addAlgorithm( new QgsTruncateTableAlgorithm() );
554 addAlgorithm( new QgsUnionAlgorithm() );
555 addAlgorithm( new QgsOpenUrlAlgorithm() );
556 addAlgorithm( new QgsHttpRequestAlgorithm() );
557 addAlgorithm( new QgsVariableWidthBufferByMAlgorithm() );
558 addAlgorithm( new QgsVirtualRasterCalculatorAlgorithm() );
559 addAlgorithm( new QgsVirtualRasterCalculatorModelerAlgorithm() );
560 addAlgorithm( new QgsVoronoiPolygonsAlgorithm() );
561 addAlgorithm( new QgsWedgeBuffersAlgorithm() );
562 addAlgorithm( new QgsWriteVectorTilesXyzAlgorithm() );
563 addAlgorithm( new QgsWriteVectorTilesMbtilesAlgorithm() );
564 addAlgorithm( new QgsXyzTilesDirectoryAlgorithm() );
565 addAlgorithm( new QgsXyzTilesMbtilesAlgorithm() );
566 addAlgorithm( new QgsZonalHistogramAlgorithm() );
567 addAlgorithm( new QgsZonalMinimumMaximumPointAlgorithm() );
568 addAlgorithm( new QgsZonalStatisticsAlgorithm() );
569 addAlgorithm( new QgsZonalStatisticsFeatureBasedAlgorithm() );
570 addAlgorithm( new QgsPolygonsToLinesAlgorithm() );
571 addAlgorithm( new QgsDensifyGeometriesByIntervalAlgorithm() );
572 addAlgorithm( new QgsDensifyGeometriesByCountAlgorithm() );
573}
574
@ CompatibleWithVirtualRaster
The processing provider's algorithms can work with QGIS virtualraster data provider.
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3309
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.
void loadAlgorithms() override
Loads all algorithms belonging to this provider.
QString helpId() const override
Returns the provider help id string, used for creating QgsHelp urls for algorithms belong to this pro...
QString id() const override
Returns the unique provider id, used for identifying the provider.
bool supportsNonFileBasedOutput() const override
Returns true if the provider supports non-file based outputs (such as memory layers or direct databas...
QString svgIconPath() const override
Returns a path to an SVG version of the provider's icon.
QString name() const override
Returns the provider name, which is used to describe the provider within the GUI.
QIcon icon() const override
Returns an icon for the provider.
QgsNativeAlgorithms(QObject *parent=nullptr)
Constructor for QgsNativeAlgorithms.
Qgis::ProcessingProviderFlags flags() const override
Returns the flags indicating how and when the provider operates and should be exposed to users.
Abstract base class for processing providers.
bool addAlgorithm(QgsProcessingAlgorithm *algorithm)
Adds an algorithm to the provider.
Scoped object for logging of the runtime for a single operation or group of operations.