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