QGIS API Documentation 3.41.0-Master (02257426e5a)
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"
53#include "qgsalgorithmclip.h"
73#include "qgsalgorithmdrape.h"
83#include "qgsalgorithmexplode.h"
103#include "qgsalgorithmfilter.h"
108#include "qgsalgorithmforcerhr.h"
113#if QT_CONFIG( process )
115#endif
116#include "qgsalgorithmgrid.h"
151#include "qgsalgorithmpackage.h"
195#include "qgsalgorithmrotate.h"
200#include "qgsalgorithmsavelog.h"
214#include "qgsalgorithmsimplify.h"
216#include "qgsalgorithmslope.h"
217#include "qgsalgorithmsmooth.h"
230#include "qgsalgorithmswapxy.h"
234#include "qgsalgorithmtransect.h"
238#include "qgsalgorithmunion.h"
247#include "qgsalgorithmxyztiles.h"
257#include "qgsstylealgorithms.h"
258
260
262 : QgsProcessingProvider( parent )
263{}
264
265QIcon QgsNativeAlgorithms::icon() const
266{
267 return QgsApplication::getThemeIcon( QStringLiteral( "/providerQgis.svg" ) );
268}
269
271{
272 return QgsApplication::iconPath( QStringLiteral( "providerQgis.svg" ) );
273}
274
275QString QgsNativeAlgorithms::id() const
276{
277 return QStringLiteral( "native" );
278}
279
280QString QgsNativeAlgorithms::helpId() const
281{
282 return QStringLiteral( "qgis" );
283}
284
285QString QgsNativeAlgorithms::name() const
286{
287 return tr( "QGIS (native c++)" );
288}
289
291{
292 return true;
293}
294
296{
298}
299
301{
302 const QgsScopedRuntimeProfile profile( QObject::tr( "QGIS native provider" ) );
303 addAlgorithm( new QgsAddHistoryMetadataAlgorithm() );
304 addAlgorithm( new QgsAddIncrementalFieldAlgorithm() );
305 addAlgorithm( new QgsAddTableFieldAlgorithm() );
306 addAlgorithm( new QgsAddXYFieldsAlgorithm() );
307 addAlgorithm( new QgsAddUniqueValueIndexAlgorithm() );
308 addAlgorithm( new QgsAffineTransformationAlgorithm() );
309 addAlgorithm( new QgsAggregateAlgorithm() );
310 addAlgorithm( new QgsAlignRastersAlgorithm() );
311 addAlgorithm( new QgsAlignSingleRasterAlgorithm() );
312 addAlgorithm( new QgsAngleToNearestAlgorithm() );
313 addAlgorithm( new QgsApplyLayerMetadataAlgorithm() );
314 addAlgorithm( new QgsApplyLayerStyleAlgorithm() );
315 addAlgorithm( new QgsArrayTranslatedFeaturesAlgorithm() );
316 addAlgorithm( new QgsAspectAlgorithm() );
317 addAlgorithm( new QgsAssignProjectionAlgorithm() );
318 addAlgorithm( new QgsAttributeIndexAlgorithm() );
319 addAlgorithm( new QgsB3DMToGltfAlgorithm() );
320 addAlgorithm( new QgsBasicStatisticsAlgorithm() );
321 addAlgorithm( new QgsBatchNominatimGeocodeAlgorithm() );
322 addAlgorithm( new QgsBookmarksToLayerAlgorithm() );
323 addAlgorithm( new QgsBoundaryAlgorithm() );
324 addAlgorithm( new QgsBoundingBoxAlgorithm() );
325 addAlgorithm( new QgsBufferAlgorithm() );
326 addAlgorithm( new QgsCalculateExpressionAlgorithm() );
327 addAlgorithm( new QgsCalculateVectorOverlapsAlgorithm() );
328 addAlgorithm( new QgsCategorizeUsingStyleAlgorithm() );
329 addAlgorithm( new QgsCellStatisticsAlgorithm() );
330 addAlgorithm( new QgsCellStatisticsPercentileAlgorithm() );
331 addAlgorithm( new QgsCellStatisticsPercentRankFromRasterAlgorithm() );
332 addAlgorithm( new QgsCellStatisticsPercentRankFromValueAlgorithm() );
333 addAlgorithm( new QgsCentroidAlgorithm() );
334 addAlgorithm( new QgsGeometryCheckAngleAlgorithm() );
335 addAlgorithm( new QgsGeometryCheckAreaAlgorithm() );
336 addAlgorithm( new QgsGeometryCheckHoleAlgorithm() );
337 addAlgorithm( new QgsGeometryCheckMissingVertexAlgorithm() );
338 addAlgorithm( new QgsClipAlgorithm() );
339 addAlgorithm( new QgsCollectAlgorithm() );
340 addAlgorithm( new QgsCombineStylesAlgorithm() );
341 addAlgorithm( new QgsConcaveHullAlgorithm() );
342 addAlgorithm( new QgsConditionalBranchAlgorithm() );
343 addAlgorithm( new QgsConstantRasterAlgorithm() );
344 addAlgorithm( new QgsConvertToCurvesAlgorithm() );
345 addAlgorithm( new QgsConvexHullAlgorithm() );
346 addAlgorithm( new QgsCopyLayerMetadataAlgorithm() );
347 addAlgorithm( new QgsCoverageSimplifyAlgorithm() );
348 addAlgorithm( new QgsCoverageUnionAlgorithm() );
349 addAlgorithm( new QgsCoverageValidateAlgorithm() );
350 addAlgorithm( new QgsCreateDirectoryAlgorithm() );
351 addAlgorithm( new QgsDbscanClusteringAlgorithm() );
352 addAlgorithm( new QgsDelaunayTriangulationAlgorithm() );
353 addAlgorithm( new QgsDeleteDuplicateGeometriesAlgorithm() );
354 addAlgorithm( new QgsDetectVectorChangesAlgorithm() );
355 addAlgorithm( new QgsDifferenceAlgorithm() );
356 addAlgorithm( new QgsDissolveAlgorithm() );
357 addAlgorithm( new QgsDownloadVectorTilesAlgorithm() );
358 addAlgorithm( new QgsDrapeToMAlgorithm() );
359 addAlgorithm( new QgsDrapeToZAlgorithm() );
360 addAlgorithm( new QgsDropTableFieldsAlgorithm() );
361 addAlgorithm( new QgsDropGeometryAlgorithm() );
362 addAlgorithm( new QgsDropMZValuesAlgorithm() );
363 addAlgorithm( new QgsDxfExportAlgorithm() );
364 addAlgorithm( new QgsExecutePostgisQueryAlgorithm() );
365 addAlgorithm( new QgsExecuteRegisteredSpatialiteQueryAlgorithm() );
366 addAlgorithm( new QgsExecuteSpatialiteQueryAlgorithm() );
367 addAlgorithm( new QgsExplodeAlgorithm() );
368 addAlgorithm( new QgsExplodeHstoreAlgorithm() );
369 addAlgorithm( new QgsExportLayersInformationAlgorithm() );
370 addAlgorithm( new QgsExportLayerMetadataAlgorithm() );
371 addAlgorithm( new QgsExportMeshVerticesAlgorithm );
372 addAlgorithm( new QgsExportMeshFacesAlgorithm );
373 addAlgorithm( new QgsExportMeshEdgesAlgorithm );
374 addAlgorithm( new QgsExportMeshOnGridAlgorithm );
375 addAlgorithm( new QgsExportToPostgresqlAlgorithm );
376 addAlgorithm( new QgsExportToSpreadsheetAlgorithm() );
377 addAlgorithm( new QgsExtendLinesAlgorithm() );
378 addAlgorithm( new QgsExtentFromLayerAlgorithm() );
379 addAlgorithm( new QgsExtentToLayerAlgorithm() );
380 addAlgorithm( new QgsExtractBinaryFieldAlgorithm() );
381 addAlgorithm( new QgsExtractByAttributeAlgorithm() );
382 addAlgorithm( new QgsExtractByExpressionAlgorithm() );
383 addAlgorithm( new QgsExtractByExtentAlgorithm() );
384 addAlgorithm( new QgsExtractByLocationAlgorithm() );
385 addAlgorithm( new QgsExtractLabelsAlgorithm() );
386 addAlgorithm( new QgsExtractMValuesAlgorithm() );
387 addAlgorithm( new QgsExtractVerticesAlgorithm() );
388 addAlgorithm( new QgsExtractSpecificVerticesAlgorithm() );
389 addAlgorithm( new QgsExtractWithinDistanceAlgorithm() );
390 addAlgorithm( new QgsExtractZValuesAlgorithm() );
391 addAlgorithm( new QgsFieldCalculatorAlgorithm() );
392 addAlgorithm( new QgsFileDownloaderAlgorithm() );
393 addAlgorithm( new QgsFillNoDataAlgorithm() );
394 addAlgorithm( new QgsFilterAlgorithm() );
395 addAlgorithm( new QgsFilterByGeometryAlgorithm() );
396 addAlgorithm( new QgsFilterByLayerTypeAlgorithm() );
397 addAlgorithm( new QgsFilterVerticesByM() );
398 addAlgorithm( new QgsFilterVerticesByZ() );
399 addAlgorithm( new QgsFixGeometriesAlgorithm() );
400 addAlgorithm( new QgsFlattenRelationshipsAlgorithm() );
401 addAlgorithm( new QgsForceRHRAlgorithm() );
402 addAlgorithm( new QgsFuzzifyRasterLinearMembershipAlgorithm() );
403 addAlgorithm( new QgsFuzzifyRasterPowerMembershipAlgorithm() );
404 addAlgorithm( new QgsFuzzifyRasterLargeMembershipAlgorithm() );
405 addAlgorithm( new QgsFuzzifyRasterSmallMembershipAlgorithm() );
406 addAlgorithm( new QgsFuzzifyRasterGaussianMembershipAlgorithm() );
407 addAlgorithm( new QgsFuzzifyRasterNearMembershipAlgorithm() );
408 addAlgorithm( new QgsGenerateElevationProfileAlgorithm() );
409 addAlgorithm( new QgsGeometryByExpressionAlgorithm() );
410 addAlgorithm( new QgsGltfToVectorFeaturesAlgorithm() );
411#if QT_CONFIG( process )
412 addAlgorithm( new QgsConvertGpxFeatureTypeAlgorithm() );
413 addAlgorithm( new QgsConvertGpsDataAlgorithm() );
414 addAlgorithm( new QgsDownloadGpsDataAlgorithm() );
415 addAlgorithm( new QgsUploadGpsDataAlgorithm() );
416#endif
417 addAlgorithm( new QgsGridAlgorithm() );
418 addAlgorithm( new QgsHillshadeAlgorithm() );
419 addAlgorithm( new QgsImportPhotosAlgorithm() );
420 addAlgorithm( new QgsInterpolatePointAlgorithm() );
421 addAlgorithm( new QgsIntersectionAlgorithm() );
422 addAlgorithm( new QgsJoinByAttributeAlgorithm() );
423 addAlgorithm( new QgsJoinByLocationAlgorithm() );
424 addAlgorithm( new QgsJoinByLocationSummaryAlgorithm() );
425 addAlgorithm( new QgsJoinByNearestAlgorithm() );
426 addAlgorithm( new QgsJoinWithLinesAlgorithm() );
427 addAlgorithm( new QgsKeepNBiggestPartsAlgorithm() );
428 addAlgorithm( new QgsKMeansClusteringAlgorithm() );
429 addAlgorithm( new QgsLayerToBookmarksAlgorithm() );
430 addAlgorithm( new QgsLayoutMapExtentToLayerAlgorithm() );
431 addAlgorithm( new QgsLayoutAtlasToImageAlgorithm() );
432 addAlgorithm( new QgsLayoutAtlasToPdfAlgorithm() );
433 addAlgorithm( new QgsLayoutAtlasToMultiplePdfAlgorithm() );
434 addAlgorithm( new QgsLayoutToImageAlgorithm() );
435 addAlgorithm( new QgsLayoutToPdfAlgorithm() );
436 addAlgorithm( new QgsLineDensityAlgorithm() );
437 addAlgorithm( new QgsLineIntersectionAlgorithm() );
438 addAlgorithm( new QgsLineSubstringAlgorithm() );
439 addAlgorithm( new QgsLoadLayerAlgorithm() );
440 addAlgorithm( new QgsMeanCoordinatesAlgorithm() );
441 addAlgorithm( new QgsMergeLinesAlgorithm() );
442 addAlgorithm( new QgsMergeVectorAlgorithm() );
443 addAlgorithm( new QgsMeshRasterizeAlgorithm );
444 addAlgorithm( new QgsMeshContoursAlgorithm );
445 addAlgorithm( new QgsMeshExportCrossSection );
446 addAlgorithm( new QgsMeshExportTimeSeries );
447 addAlgorithm( new QgsMeshSurfaceToPolygonAlgorithm() );
448 addAlgorithm( new QgsMinimumEnclosingCircleAlgorithm() );
449 addAlgorithm( new QgsMultiDifferenceAlgorithm() );
450 addAlgorithm( new QgsMultiIntersectionAlgorithm() );
451 addAlgorithm( new QgsMultipartToSinglepartAlgorithm() );
452 addAlgorithm( new QgsMultiRingConstantBufferAlgorithm() );
453 addAlgorithm( new QgsMultiUnionAlgorithm() );
454 addAlgorithm( new QgsNearestNeighbourAnalysisAlgorithm() );
455 addAlgorithm( new QgsOffsetLinesAlgorithm() );
456 addAlgorithm( new QgsOrderByExpressionAlgorithm() );
457 addAlgorithm( new QgsOrientedMinimumBoundingBoxAlgorithm() );
458 addAlgorithm( new QgsOrthogonalizeAlgorithm() );
459 addAlgorithm( new QgsPackageAlgorithm() );
460 addAlgorithm( new QgsPixelCentroidsFromPolygonsAlgorithm() );
461 addAlgorithm( new QgsCreateArrayOffsetLinesAlgorithm() );
462 addAlgorithm( new QgsPointsInPolygonAlgorithm() );
463 addAlgorithm( new QgsPointOnSurfaceAlgorithm() );
464 addAlgorithm( new QgsPointToLayerAlgorithm() );
465 addAlgorithm( new QgsPointsAlongGeometryAlgorithm() );
466 addAlgorithm( new QgsPointsLayerFromTableAlgorithm() );
467 addAlgorithm( new QgsPointsToPathsAlgorithm() );
468 addAlgorithm( new QgsPoleOfInaccessibilityAlgorithm() );
469 addAlgorithm( new QgsPolygonizeAlgorithm() );
470 addAlgorithm( new QgsProjectPointCartesianAlgorithm() );
471 addAlgorithm( new QgsPromoteToMultipartAlgorithm() );
472 addAlgorithm( new QgsRaiseExceptionAlgorithm() );
473 addAlgorithm( new QgsRaiseWarningAlgorithm() );
474 addAlgorithm( new QgsRaiseMessageAlgorithm() );
475 addAlgorithm( new QgsRandomBinomialRasterAlgorithm() );
476 addAlgorithm( new QgsRandomExponentialRasterAlgorithm() );
477 addAlgorithm( new QgsRandomExtractAlgorithm() );
478 addAlgorithm( new QgsRandomGammaRasterAlgorithm() );
479 addAlgorithm( new QgsRandomGeometricRasterAlgorithm() );
480 addAlgorithm( new QgsRandomNegativeBinomialRasterAlgorithm() );
481 addAlgorithm( new QgsRandomNormalRasterAlgorithm() );
482 addAlgorithm( new QgsRandomPointsExtentAlgorithm() );
483 addAlgorithm( new QgsRandomPointsInPolygonsAlgorithm() );
484 addAlgorithm( new QgsRandomPointsOnLinesAlgorithm() );
485 addAlgorithm( new QgsRandomPoissonRasterAlgorithm() );
486 addAlgorithm( new QgsRandomUniformRasterAlgorithm() );
487 addAlgorithm( new QgsRasterCalculatorAlgorithm() );
488 addAlgorithm( new QgsRasterCalculatorModelerAlgorithm() );
489 addAlgorithm( new QgsRasterDtmSlopeBasedFilterAlgorithm() );
490 addAlgorithm( new QgsRasterFrequencyByEqualOperatorAlgorithm() );
491 addAlgorithm( new QgsRasterFrequencyByGreaterThanOperatorAlgorithm() );
492 addAlgorithm( new QgsRasterFrequencyByLessThanOperatorAlgorithm() );
493 addAlgorithm( new QgsRasterLayerPropertiesAlgorithm() );
494 addAlgorithm( new QgsRasterLayerUniqueValuesReportAlgorithm() );
495 addAlgorithm( new QgsRasterLayerZonalStatsAlgorithm() );
496 addAlgorithm( new QgsRasterLogicalAndAlgorithm() );
497 addAlgorithm( new QgsRasterLogicalOrAlgorithm() );
498 addAlgorithm( new QgsRasterMinMaxAlgorithm() );
499 addAlgorithm( new QgsRasterizeAlgorithm() );
500 addAlgorithm( new QgsRasterPixelsToPointsAlgorithm() );
501 addAlgorithm( new QgsRasterPixelsToPolygonsAlgorithm() );
502 addAlgorithm( new QgsRasterSamplingAlgorithm() );
503 addAlgorithm( new QgsRasterStackHighestPositionAlgorithm() );
504 addAlgorithm( new QgsRasterStackLowestPositionAlgorithm() );
505 addAlgorithm( new QgsRasterStatisticsAlgorithm() );
506 addAlgorithm( new QgsRasterSurfaceVolumeAlgorithm() );
507 addAlgorithm( new QgsAlgorithmRemoveDuplicateVertices() );
508 addAlgorithm( new QgsReclassifyByLayerAlgorithm() );
509 addAlgorithm( new QgsReclassifyByTableAlgorithm() );
510 addAlgorithm( new QgsRectanglesOvalsDiamondsAlgorithm() );
511 addAlgorithm( new QgsRefactorFieldsAlgorithm() );
512 addAlgorithm( new QgsRemoveDuplicatesByAttributeAlgorithm() );
513 addAlgorithm( new QgsRemoveHolesAlgorithm() );
514 addAlgorithm( new QgsRemoveNullGeometryAlgorithm() );
515 addAlgorithm( new QgsRenameLayerAlgorithm() );
516 addAlgorithm( new QgsRenameTableFieldAlgorithm() );
517 addAlgorithm( new QgsRepairShapefileAlgorithm() );
518 addAlgorithm( new QgsRescaleRasterAlgorithm() );
519 addAlgorithm( new QgsRetainTableFieldsAlgorithm() );
520 addAlgorithm( new QgsReverseLineDirectionAlgorithm() );
521 addAlgorithm( new QgsRotateFeaturesAlgorithm() );
522 addAlgorithm( new QgsRoundnessAlgorithm() );
523 addAlgorithm( new QgsRoundRasterValuesAlgorithm() );
524 addAlgorithm( new QgsRuggednessAlgorithm() );
525 addAlgorithm( new QgsSaveFeaturesAlgorithm() );
526 addAlgorithm( new QgsSaveLogToFileAlgorithm() );
527 addAlgorithm( new QgsSaveSelectedFeatures() );
528 addAlgorithm( new QgsSegmentizeByMaximumAngleAlgorithm() );
529 addAlgorithm( new QgsSegmentizeByMaximumDistanceAlgorithm() );
530 addAlgorithm( new QgsSelectByLocationAlgorithm() );
531 addAlgorithm( new QgsSelectWithinDistanceAlgorithm() );
532 addAlgorithm( new QgsServiceAreaFromLayerAlgorithm() );
533 addAlgorithm( new QgsServiceAreaFromPointAlgorithm() );
534 addAlgorithm( new QgsSetLayerEncodingAlgorithm() );
535 addAlgorithm( new QgsSetMetadataFieldsAlgorithm() );
536 addAlgorithm( new QgsSetMValueAlgorithm() );
537 addAlgorithm( new QgsSetProjectVariableAlgorithm() );
538 addAlgorithm( new QgsSetZValueAlgorithm() );
539 addAlgorithm( new QgsShapefileEncodingInfoAlgorithm() );
540 addAlgorithm( new QgsShortestLineAlgorithm() );
541 addAlgorithm( new QgsShortestPathLayerToPointAlgorithm() );
542 addAlgorithm( new QgsShortestPathPointToLayerAlgorithm() );
543 addAlgorithm( new QgsShortestPathPointToPointAlgorithm() );
544 addAlgorithm( new QgsSimplifyAlgorithm() );
545 addAlgorithm( new QgsSingleSidedBufferAlgorithm() );
546 addAlgorithm( new QgsSlopeAlgorithm() );
547 addAlgorithm( new QgsSmoothAlgorithm() );
548 addAlgorithm( new QgsSnapGeometriesAlgorithm() );
549 addAlgorithm( new QgsSnapToGridAlgorithm() );
550 addAlgorithm( new QgsSpatialIndexAlgorithm() );
551 addAlgorithm( new QgsSplitFeaturesByAttributeCharacterAlgorithm() );
552 addAlgorithm( new QgsSplitGeometryAtAntimeridianAlgorithm() );
553 addAlgorithm( new QgsSplitLinesByLengthAlgorithm() );
554 addAlgorithm( new QgsSplitVectorLayerAlgorithm() );
555 addAlgorithm( new QgsSplitWithLinesAlgorithm() );
556 addAlgorithm( new QgsStDbscanClusteringAlgorithm() );
557 addAlgorithm( new QgsStringConcatenationAlgorithm() );
558 addAlgorithm( new QgsStyleFromProjectAlgorithm() );
559 addAlgorithm( new QgsSubdivideAlgorithm() );
560 addAlgorithm( new QgsSumLineLengthAlgorithm() );
561 addAlgorithm( new QgsSwapXYAlgorithm() );
562 addAlgorithm( new QgsSymmetricalDifferenceAlgorithm() );
563 addAlgorithm( new QgsTaperedBufferAlgorithm() );
564 addAlgorithm( new QgsTinMeshCreationAlgorithm() );
565 addAlgorithm( new QgsTransectAlgorithm() );
566 addAlgorithm( new QgsTransferAnnotationsFromMainAlgorithm() );
567 addAlgorithm( new QgsTransformAlgorithm() );
568 addAlgorithm( new QgsTranslateAlgorithm() );
569 addAlgorithm( new QgsTruncateTableAlgorithm() );
570 addAlgorithm( new QgsUnionAlgorithm() );
571 addAlgorithm( new QgsUpdateLayerMetadataAlgorithm() );
572 addAlgorithm( new QgsOpenUrlAlgorithm() );
573 addAlgorithm( new QgsHttpRequestAlgorithm() );
574 addAlgorithm( new QgsVariableWidthBufferByMAlgorithm() );
575 addAlgorithm( new QgsVirtualRasterCalculatorAlgorithm() );
576 addAlgorithm( new QgsVirtualRasterCalculatorModelerAlgorithm() );
577 addAlgorithm( new QgsVoronoiPolygonsAlgorithm() );
578 addAlgorithm( new QgsWedgeBuffersAlgorithm() );
579 addAlgorithm( new QgsWriteVectorTilesXyzAlgorithm() );
580 addAlgorithm( new QgsWriteVectorTilesMbtilesAlgorithm() );
581 addAlgorithm( new QgsXyzTilesDirectoryAlgorithm() );
582 addAlgorithm( new QgsXyzTilesMbtilesAlgorithm() );
583 addAlgorithm( new QgsZonalHistogramAlgorithm() );
584 addAlgorithm( new QgsZonalMinimumMaximumPointAlgorithm() );
585 addAlgorithm( new QgsZonalStatisticsAlgorithm() );
586 addAlgorithm( new QgsZonalStatisticsFeatureBasedAlgorithm() );
587 addAlgorithm( new QgsPolygonsToLinesAlgorithm() );
588 addAlgorithm( new QgsDensifyGeometriesByIntervalAlgorithm() );
589 addAlgorithm( new QgsDensifyGeometriesByCountAlgorithm() );
590 addAlgorithm( new QgsFixGeometryAngleAlgorithm() );
591 addAlgorithm( new QgsFixGeometryAreaAlgorithm() );
592 addAlgorithm( new QgsFixGeometryHoleAlgorithm() );
593 addAlgorithm( new QgsFixGeometryMissingVertexAlgorithm() );
594}
595
@ 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:3372
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.