36int QgisEvent = QEvent::User + 1;
43#define QHASH_FOR_CLASS_ENUM(T) \
44 inline uint qHash(const T &t, uint seed) { \
45 return ::qHash(static_cast<typename std::underlying_type<T>::type>(t), seed); \
56 Q_CLASSINFO(
"RegisterEnumClassesUnscoped",
"false" )
65 static QString version();
72 static int versionInt();
79 static QString releaseName();
89 static QString devVersion();
106 Q_ENUM( MessageLevel )
139 HasGeometry = PointLayer | LineLayer | PolygonLayer,
140 VectorLayer = NoGeometry | HasGeometry,
144 VectorTileLayer = 256,
145 PointCloudLayer = 512,
146 AnnotationLayer = 1024,
147 TiledSceneLayer = 2048,
148 All = RasterLayer | VectorLayer | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer,
149 SpatialLayer = RasterLayer | HasGeometry | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer
191 GeometryCollection = 7,
203 MultiLineStringZ = 1005,
204 MultiPolygonZ = 1006,
205 GeometryCollectionZ = 1007,
206 CircularStringZ = 1008,
207 CompoundCurveZ = 1009,
208 CurvePolygonZ = 1010,
210 MultiSurfaceZ = 1012,
216 MultiLineStringM = 2005,
217 MultiPolygonM = 2006,
218 GeometryCollectionM = 2007,
219 CircularStringM = 2008,
220 CompoundCurveM = 2009,
221 CurvePolygonM = 2010,
223 MultiSurfaceM = 2012,
228 MultiLineStringZM = 3005,
229 MultiPolygonZM = 3006,
230 GeometryCollectionZM = 3007,
231 CircularStringZM = 3008,
232 CompoundCurveZM = 3009,
233 CurvePolygonZM = 3010,
235 MultiSurfaceZM = 3012,
237 Point25D = 0x80000001,
262 Q_ENUM( GeometryType )
284 ARGB32_Premultiplied = 13
300 Q_ENUM( CaptureTechnique )
311 Q_ENUM( VectorLayerTypeFlag )
328 Q_ENUM( PythonMacroMode )
340 Q_ENUM( FeatureCountState )
354 Q_ENUM( SpatialIndexPresence )
369 NoFeaturesAvailable = 0,
371 FeaturesMaybeAvailable
373 Q_ENUM( FeatureAvailability )
383 EditComment = 1 << 1,
386 Q_ENUM( VectorDataProviderAttributeEditCapability )
419 Q_ENUM( ScaleMethod )
438 Q_ENUM( SettingsType )
450 Q_ENUM( SettingsTreeNodeType )
458 NamedListSelectedItemSetting = 1 << 0,
461 Q_ENUM( SettingsTreeNodeOption )
479 Q_ENUM( PropertyType )
492 Q_ENUM( SldExportOption )
503 NoVendorExtension = 0,
504 GeoServerVendorExtension = 1 << 1,
505 DeegreeVendorExtension = 1 << 2,
507 Q_ENUM( SldExportVendorExtension )
516 SaveFormerValue = 1 << 1,
517 SaveEnumFlagAsInt = 1 << 2,
519 Q_ENUM( SettingsOption )
531 AdvancedConfiguration = 3,
533 Q_ENUM( SnappingMode )
549 Q_ENUM( SnappingType )
563 Q_ENUM( SymbolRenderHint )
578 Q_ENUM( SymbolRotationMode )
587 RendererShouldUseSymbolLevels = 1 << 0,
601 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
603 Q_ENUM( SymbolPreviewFlag )
619 DisableFeatureClipping = 1 << 0,
621 Q_ENUM( SymbolLayerFlag )
637 DisableSelectionRecoloring = 1 << 0,
639 Q_ENUM( SymbolLayerUserFlag )
666 Q_ENUM( BrowserItemType )
679 Q_ENUM( BrowserItemState )
695 ItemRepresentsFile = 1 << 6,
696 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
698 Q_ENUM( BrowserItemCapability )
718 Q_ENUM( DataItemProviderCapability )
752 Q_ENUM( BrowserLayerType )
765 Q_ENUM( BrowserDirectoryMonitoring )
798 Q_ENUM( VectorExportResult )
806 FieldAliases = 1 << 0,
807 FieldComments = 1 << 2,
809 Q_ENUM( VectorFileWriterCapability )
824 SubsetStringFilter = 1 << 1,
825 GeometryColumn = 1 << 2,
826 PrimaryKeys = 1 << 3,
827 UnstableFeatureIds = 1 << 4
829 Q_ENUM( SqlLayerDefinitionCapability )
851 Q_ENUM( SqlKeywordCategory )
879 Q_ENUM( ActionStart )
891 Q_ENUM( UnplacedLabelVisibility )
901 AllowOverlapIfRequired,
902 AllowOverlapAtNoCost,
904 Q_ENUM( LabelOverlapHandling )
921 OrderedPositionsAroundPoint,
925 Q_ENUM( LabelPlacement )
949 Q_ENUM( LabelPredefinedPointPosition )
964 Q_ENUM( LabelOffsetType )
985 Q_ENUM( LabelQuadrantPosition )
1000 Q_ENUM( LabelLinePlacementFlag )
1020 AllowPlacementOutsideOfPolygon = 1 << 0,
1021 AllowPlacementInsideOfPolygon = 1 << 1,
1023 Q_ENUM( LabelPolygonPlacementFlag )
1047 Q_ENUM( UpsideDownLabelHandling )
1064 Q_ENUM( LabelMultiLineAlignment )
1082 Q_ENUM( FileFilterType )
1092 ResolveGeometryType = 1 << 1,
1093 CountFeatures = 1 << 2,
1094 IncludeSystemTables = 1 << 3,
1108 SystemTable = 1 << 0,
1131 Q_ENUM( RasterPipeInterfaceRole )
1144 Q_ENUM( RasterResamplingStage )
1153 InternalLayerOpacityHandling = 1 << 0,
1173 UsesMultipleBands = 1 << 0,
1175 Q_ENUM( RasterRendererCapability )
1212 Q_ENUM( RasterAttributeTableFieldUsage )
1224 Q_ENUM( RasterAttributeTableType )
1237 Q_ENUM( RasterExportType )
1248 SourceProviderError = 1,
1250 CreateDatasourceError = 3,
1255 Q_ENUM( RasterFileWriterResult )
1266 TooManyVerticesInFace,
1272 Q_ENUM( MeshEditingErrorType )
1284 Q_ENUM( FilePathType )
1294 AskExcludingRasterBands,
1298 Q_ENUM( SublayerPromptMode )
1310 NotSearchable = 1 << 1,
1311 HideFromWms = 1 << 2,
1312 HideFromWfs = 1 << 3,
1314 Q_ENUM( FieldConfigurationFlag )
1333 GeometryCrs = 0x1000,
1334 GeometryWkbType = 0x1001,
1335 CustomProperty = 0x100000,
1337 Q_ENUM( FieldMetadataProperty )
1350 Q_ENUM( SelectionRenderingMode )
1362 RemoveFromSelection,
1364 Q_ENUM( SelectBehavior )
1376 Q_ENUM( SelectGeometryRelationship )
1385 SingleFeatureSelection = 1 << 0,
1386 ToggleSelection = 1 << 1,
1409 FetchFeatureFailed = 3,
1412 Q_ENUM( VectorEditResult )
1421 SemiTransparentCircle,
1425 Q_ENUM( VertexMarkerType )
1439 Q_ENUM( ContentStatus )
1453 Q_ENUM( GpsConnectionType )
1466 Q_ENUM( DeviceConnectionStatus )
1521 Q_ENUM( GpsQualityIndicator )
1532 GroundSpeed = 1 << 2,
1534 TotalTrackLength = 1 << 4,
1535 TrackDistanceFromStart = 1 << 5,
1539 HorizontalAccuracy = 1 << 9,
1540 VerticalAccuracy = 1 << 10,
1541 HvAccuracy = 1 << 11,
1542 SatellitesUsed = 1 << 12,
1543 Timestamp = 1 << 13,
1544 TrackStartTime = 1 << 14,
1545 TrackEndTime = 1 << 15,
1546 TrackDistanceSinceLastPoint = 1 << 16,
1547 TrackTimeSinceLastPoint = 1 << 17,
1548 GeoidalSeparation = 1 << 18,
1549 EllipsoidAltitude = 1 << 19,
1587 QuoteFilePaths = 1 << 0,
1605 Q_ENUM( GpsFeatureType )
1617 NothingHappened = 1000,
1618 InvalidBaseGeometry,
1619 InvalidInputGeometryType,
1621 SelectionIsGreaterThanOne,
1622 GeometryEngineError,
1625 AddPartSelectedGeometryNotFound,
1626 AddPartNotMultiGeometry,
1630 AddRingCrossesExistingRings,
1631 AddRingNotInExistingFeature,
1633 SplitCannotSplitPoint,
1634 GeometryTypeHasChanged,
1636 Q_ENUM( GeometryOperationResult )
1661 Q_ENUM( GeometryValidationEngine )
1673 Q_ENUM( BufferSide )
1686 Q_ENUM( EndCapStyle )
1712 Q_ENUM( CoverageValidityResult )
1724 Q_ENUM( MakeValidMethod )
1737 SubsetOfAttributes = 2,
1739 IgnoreStaticNodesDuringExpressionCompilation = 8,
1740 EmbeddedSymbols = 16,
1742 Q_ENUM( FeatureRequestFlag )
1768 Q_ENUM( FeatureRequestFilterType )
1783 Q_ENUM( InvalidGeometryCheck )
1796 Q_ENUM( SpatialFilterType )
1805 IncludeMetadataFile = 1 << 0,
1806 IncludeStyleFile = 1 << 1,
1820 UsersCannotToggleEditing = 1 << 0,
1821 IsBasemapLayer = 1 << 1,
1839 Q_ENUM( AutoRefreshMode )
1848 IsBasemapSource = 1 << 1,
1849 FastExtent2D = 1 << 2,
1850 FastExtent3D = 1 << 3,
1932 Q_ENUM( CrsAxisDirection )
1945 Q_ENUM( CoordinateOrder )
1960 Q_ENUM( CrsIdentifierType )
1981 Q_ENUM( CrsWktVariant )
2003 ScaleDependentBoundingBox = 1 << 0,
2017 FlagNoCreationTools = 1 << 0,
2033 Q_ENUM( AnnotationItemNodeType )
2046 Q_ENUM( AnnotationItemEditOperationResult )
2062 Q_ENUM( TemporalNavigationMode )
2077 Q_ENUM( AnimationState )
2094 Q_ENUM( PlaybackOperation )
2110 Q_ENUM( VectorTemporalMode )
2119 IncludeBeginExcludeEnd = 0,
2120 IncludeBeginIncludeEnd,
2122 Q_ENUM( VectorTemporalLimitMode )
2133 StoresFeatureDateTimeStartAndEndInSeparateFields
SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2135 Q_ENUM( VectorDataProviderTemporalMode )
2147 FixedRangePerBand = 3,
2149 Q_ENUM( RasterTemporalMode )
2158 MatchUsingWholeRange,
2159 MatchExactUsingStartOfRange,
2160 MatchExactUsingEndOfRange,
2161 FindClosestMatchToStartOfRange,
2162 FindClosestMatchToEndOfRange
2164 Q_ENUM( TemporalIntervalMatchMethod )
2173 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
2175 Q_ENUM( RasterTemporalCapabilityFlag )
2195 Q_ENUM( TransformDirection )
2204 BallparkTransformsAreAppropriate = 1 << 0,
2205 IgnoreImpossibleTransformations = 1 << 1,
2207 Q_ENUM( CoordinateTransformationFlag )
2224 Antialiasing = 0x01,
2225 DrawEditingInfo = 0x02,
2226 ForceVectorOutput = 0x04,
2227 UseAdvancedEffects = 0x08,
2228 DrawLabeling = 0x10,
2229 UseRenderingOptimization = 0x20,
2230 DrawSelection = 0x40,
2231 DrawSymbolBounds = 0x80,
2232 RenderMapTile = 0x100,
2233 RenderPartialOutput = 0x200,
2234 RenderPreviewJob = 0x400,
2235 RenderBlocking = 0x800,
2236 LosslessImageRendering = 0x1000,
2237 Render3DMap = 0x2000,
2238 HighQualityImageTransforms = 0x4000,
2239 SkipSymbolRendering = 0x8000,
2240 ForceRasterMasks = 0x10000,
2241 RecordProfile = 0x20000,
2255 DrawEditingInfo = 0x01,
2256 ForceVectorOutput = 0x02,
2257 UseAdvancedEffects = 0x04,
2258 UseRenderingOptimization = 0x08,
2259 DrawSelection = 0x10,
2260 DrawSymbolBounds = 0x20,
2261 RenderMapTile = 0x40,
2262 Antialiasing = 0x80,
2263 RenderPartialOutput = 0x100,
2264 RenderPreviewJob = 0x200,
2265 RenderBlocking = 0x400,
2266 RenderSymbolPreview = 0x800,
2267 LosslessImageRendering = 0x1000,
2268 ApplyScalingWorkaroundForTextRendering = 0x2000,
2269 Render3DMap = 0x4000,
2270 ApplyClipAfterReprojection = 0x8000,
2271 RenderingSubSymbol = 0x10000,
2272 HighQualityImageTransforms = 0x20000,
2273 SkipSymbolRendering = 0x40000,
2274 RecordProfile = 0x80000,
2288 RenderPartialOutputs = 1 << 0,
2289 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2291 Q_ENUM( MapLayerRendererFlag )
2313 Q_ENUM( TextRenderFormat )
2324 UseAllLabels = 1 << 1,
2325 UsePartialCandidates = 1 << 2,
2327 RenderOutlineLabels = 1 << 3,
2328 DrawLabelRectOnly = 1 << 4,
2329 DrawCandidates = 1 << 5,
2330 DrawUnplacedLabels = 1 << 6,
2331 CollectUnplacedLabels = 1 << 7,
2332 DrawLabelMetrics = 1 << 8,
2334 Q_ENUM( LabelingFlag )
2358 Q_ENUM( LabelPlacementEngineVersion )
2373 Q_ENUM( TextOrientation )
2387 RectangleCapHeightBased,
2388 RectangleAscentBased,
2390 Q_ENUM( TextLayoutMode )
2406 Q_ENUM( TextComponent )
2422 Q_ENUM( TextHorizontalAlignment )
2440 Q_ENUM( TextVerticalAlignment )
2456 Q_ENUM( TextCharacterVerticalAlignment )
2470 Q_ENUM( RenderSubcomponentProperty )
2481 Q_ENUM( VertexType )
2497 EquilateralTriangle,
2530 Q_ENUM( MarkerShape )
2543 LastVertex = 1 << 2,
2544 FirstVertex = 1 << 3,
2545 CentralPoint = 1 << 4,
2546 CurvePoint = 1 << 5,
2547 SegmentCenter = 1 << 6,
2548 InnerVertices = 1 << 7,
2550 Q_ENUM( MarkerLinePlacement )
2566 Q_ENUM( GradientColorSource )
2581 Q_ENUM( GradientType )
2595 Q_ENUM( SymbolCoordinateReference )
2611 Q_ENUM( GradientSpread )
2625 Q_ENUM( PointCountMethod )
2639 Q_ENUM( MarkerClipMode )
2652 Q_ENUM( LineClipMode )
2667 Q_ENUM( DashPatternLineEndingRule )
2676 ScaleBothDashAndGap,
2680 Q_ENUM( DashPatternSizeAdjustment )
2694 Q_ENUM( GraduatedMethod )
2709 Q_ENUM( PlotAxisSuffixPlacement )
2735 Q_ENUM( TilePixelRatio )
2751 ForceFirstLetterToCapital = 4,
2754 UpperCamelCase = 1005,
2755 AllSmallCaps = 1006,
2757 Q_ENUM( Capitalization )
2768 Q_ENUM( TextRendererFlag )
2795 Q_ENUM( AngularDirection )
2808 Q_ENUM( RendererUsage )
2817 Sync3DTo2D = 1 << 0,
2818 Sync2DTo3D = 1 << 1,
2820 Q_ENUM( ViewSyncModeFlag )
2831 WhenOutsideVisibleExtent,
2834 Q_ENUM( MapRecenteringMode )
2843 LocalProfile = 1 << 0,
2846 Q_ENUM( HistoryProviderBackend )
2873 Q_ENUM( ProcessingSourceType )
2950 Q_ENUM( ProcessingPropertyAvailability )
2965 Q_ENUM( ProcessingLogLevel )
2979 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3002 Q_ENUM( ProcessingFeatureSourceFlag )
3028 Q_ENUM( ProcessingParameterTypeFlag )
3057 Q_ENUM( ProcessingParameterFlag )
3081 Q_ENUM( ProcessingFileParameterBehavior )
3095 Q_ENUM( ProcessingNumberParameterType )
3113 Q_ENUM( ProcessingFieldParameterDataType )
3128 Q_ENUM( ProcessingDateTimeParameterDataType )
3144 Q_ENUM( ProcessingModelChildParameterSource )
3159 Q_ENUM( ProcessingTinInputLayerType )
3171 Q_ENUM( CrsDefinitionFormat )
3188 Q_ENUM( FieldDomainSplitPolicy )
3204 Q_ENUM( FieldDomainMergePolicy )
3217 Q_ENUM( FieldDomainType )
3227 AutomaticGroups = 1,
3230 Q_ENUM( TransactionMode )
3243 Q_ENUM( AltitudeClamping )
3255 Q_ENUM( AltitudeBinding )
3265 IncludeLowerExcludeUpper,
3266 ExcludeLowerIncludeUpper,
3269 Q_ENUM( RangeLimits )
3278 FixedElevationRange = 0,
3279 RepresentsElevationSurface = 1,
3280 FixedRangePerBand = 2,
3281 DynamicRangePerBand = 3,
3283 Q_ENUM( RasterElevationMode )
3292 FixedElevationRange = 0,
3295 Q_ENUM( MeshElevationMode )
3308 Q_ENUM( BetweenLineConstraint )
3321 Q_ENUM( LineExtensionSide )
3338 Q_ENUM( CadConstraintType )
3348 EvaluateDefaultValuesOnProviderSide = 1 << 0,
3349 TrustStoredLayerStatistics = 1 << 1,
3350 RememberLayerEditStatusBetweenSessions = 1 << 2,
3351 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
3353 Q_ENUM( ProjectFlag )
3364 ShowContextMenu = 1 << 0,
3366 Q_ENUM( PlotToolFlag )
3390 Q_ENUM( Point3DShape )
3402 Q_ENUM( LightSourceType )
3414 Q_ENUM( NavigationMode )
3427 Q_ENUM( VerticalAxisInversion )
3461 RespectsMaximumErrorMapUnit = 1 << 0,
3462 RespectsDistanceRange = 1 << 1,
3463 RespectsElevationRange = 1 << 2,
3465 Q_ENUM( ProfileGeneratorFlag )
3478 DistanceVsElevationTable,
3492 Q_ENUM( PointCloudSymbol )
3505 Q_ENUM( PointCloudDrawOrder )
3517 AvoidIntersectionsCurrentLayer,
3518 AvoidIntersectionsLayers,
3520 Q_ENUM( AvoidIntersectionsMode )
3534 Q_ENUM( ProjectFileFormat )
3550 DontLoadProjectStyles = 1 << 5,
3551 ForceReadOnlyLayers = 1 << 6,
3553 Q_ENUM( ProjectReadFlag )
3575 ProjectStyles = 1 << 0,
3577 Q_ENUM( ProjectCapability )
3602 Q_ENUM( MapBoxGlStyleSourceType )
3621 Q_ENUM( ArcGisRestServiceType )
3635 Q_ENUM( RelationshipType )
3649 Q_ENUM( RelationshipStrength )
3663 Q_ENUM( RelationshipCardinality )
3672 MultipleFieldKeys = 1 << 0,
3673 ForwardPathLabel = 1 << 1,
3674 BackwardPathLabel = 1 << 2,
3676 Q_ENUM( RelationshipCapability )
3697 Q_ENUM( CoordinateDisplayType )
3710 Q_ENUM( SettingsOrigin )
3731 Q_ENUM( ScriptLanguage )
3743 CheckSyntax = 1 << 1,
3744 ToggleComment = 1 << 2,
3746 Q_ENUM( ScriptLanguageCapability )
3763 AboveInsertionPoint,
3765 OptimalInInsertionGroup,
3767 Q_ENUM( LayerTreeInsertionMethod )
3776 SkipVisibilityCheck = 1 << 0,
3778 Q_ENUM( LayerTreeFilterFlag )
3798 ShowRuleDetails = 1 << 0,
3800 Q_ENUM( LegendJsonRenderFlag )
3817 Q_ENUM( ActionType )
3829 SingleFeature = 1 << 1,
3830 MultipleFeatures = 1 << 2,
3831 AllActions = Layer | SingleFeature | MultipleFeatures
3833 Q_ENUM( MapLayerActionTarget )
3854 EnabledOnlyWhenEditable = 1 << 1,
3856 Q_ENUM( MapLayerActionFlag )
3886 Q_ENUM( AttributeActionType )
3900 Q_ENUM( MetadataDateType )
3930 ContinuousPalette = 17
3932 Q_ENUM( RasterColorInterpretation )
3948 Q_ENUM( RasterLayerType )
3961 SingleBandPseudoColor,
3963 PalettedSingleBandGray,
3964 PalettedSingleBandPseudoColor,
3965 PalettedMultiBandColor,
3966 MultiBandSingleBandGray,
3967 MultiBandSingleBandPseudoColor,
3971 Q_ENUM( RasterDrawingStyle )
3986 Q_ENUM( RasterPyramidFormat )
4001 Q_ENUM( RasterBuildPyramidOption )
4018 Q_ENUM( RasterIdentifyFormat )
4030 Q_ENUM( ElevationMapCombineMethod )
4083 Q_ENUM( SystemOfMeasurement )
4097 Q_ENUM( MapToolUnit )
4137 Q_ENUM( DistanceUnit )
4152 Q_ENUM( DistanceUnitType )
4200 Q_ENUM( VolumeUnit )
4245 Q_ENUM( TemporalUnit )
4265 Q_ENUM( RenderUnit )
4285 Q_ENUM( LayoutUnit )
4299 Q_ENUM( LayoutUnitType )
4332 Q_ENUM( PostgresRelKind )
4341 SetFieldComment = 1 << 0,
4342 SetFieldAlias = 1 << 1,
4344 Q_ENUM( DatabaseProviderConnectionCapability2 )
4355 SaveToDatabase = 1 << 1,
4356 LoadFromDatabase = 1 << 2,
4357 DeleteFromDatabase = 1 << 3
4374 Q_ENUM( UserProfileSelectionPolicy )
4395 Q_ENUM( AttributeEditorType )
4408 Q_ENUM( AttributeEditorContainerType )
4423 Q_ENUM( AttributeFormLayout )
4438 Q_ENUM( AttributeFormSuppression )
4454 Q_ENUM( AttributeFormPythonInitCodeSource )
4467 Q_ENUM( ExpressionType )
4482 Q_ENUM( FeatureSymbologyExport )
4491 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
4493 Q_ENUM( VectorTileProviderFlag )
4509 ReadLayerMetadata = 1 << 1,
4511 Q_ENUM( VectorTileProviderCapability )
4530 AvailableNoChildren,
4531 UseLowerZoomLevelTile,
4533 Q_ENUM( TileAvailability )
4542 ReadLayerMetadata = 1 << 1,
4544 Q_ENUM( TiledSceneProviderCapability )
4565 Q_ENUM( TiledSceneBoundingVolumeType )
4580 Q_ENUM( TileRefinementProcess )
4593 Q_ENUM( TileChildrenAvailability )
4602 NoHierarchyFetch = 1 << 0,
4604 Q_ENUM( TiledSceneRequestFlag )
4621 RequiresTextures = 1 << 0,
4622 ForceRasterRender = 1 << 1,
4623 RendersTriangles = 1 << 2,
4624 RendersLines = 1 << 3,
4626 Q_ENUM( TiledSceneRendererFlag )
4643 RA_NearestNeighbour = 0,
4656 Q_ENUM( GdalResampleAlgorithm )
4678 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
4679 Default = Count | Sum | Mean,
4681 Q_ENUM( ZonalStatistic )
4703 FailedToCreateField = 8,
4706 Q_ENUM( ZonalStatisticResult )
4732 StringMinimumLength,
4733 StringMaximumLength,
4737 StringConcatenateUnique
4749 CountMissing = 1 << 15,
4754 StDevSample = 1 << 5,
4761 FirstQuartile = 1 << 12,
4762 ThirdQuartile = 1 << 13,
4763 InterQuartileRange = 1 << 14,
4766 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
4791 All = Count | CountDistinct | CountMissing | Min | Max | Range,
4793 Q_ENUM( DateTimeStatistic )
4820 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
4822 Q_ENUM( StringStatistic )
4846 SumOfSquares = 1 << 6,
4847 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
4849 Q_ENUM( RasterBandStatistic )
4876 Q_ENUM( SensorThingsEntity )
4881 static const
double DEFAULT_SEARCH_RADIUS_MM;
4884 static const
float DEFAULT_MAPTOPIXEL_THRESHOLD;
4891 static const QColor DEFAULT_HIGHLIGHT_COLOR;
4896 static const
double DEFAULT_HIGHLIGHT_BUFFER_MM;
4901 static const
double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
4908 static const
double SCALE_PRECISION;
4914 static const
double DEFAULT_Z_COORDINATE;
4921 static const
double DEFAULT_M_COORDINATE;
4927 static const
double UI_SCALE_FACTOR;
4932 static const
double DEFAULT_SNAP_TOLERANCE;
4944 static QString defaultProjectScales();
4951 static
int geosVersionInt();
4958 static
int geosVersionMajor();
4965 static
int geosVersionMinor();
4972 static
int geosVersionPatch();
4979 static QString geosVersion();
5059#define cast_to_fptr(f) f
5080 , mPreviousState( object->blockSignals( true ) )
5085 mObject->blockSignals( mPreviousState );
5093 Object *mObject =
nullptr;
5094 bool mPreviousState;
5117CORE_EXPORT uint
qHash(
const QVariant &variant );
5131 const double roundFactor = std::pow( 10, -
precision );
5132 str = QString::number(
static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
5137 if (
str.contains( QLatin1Char(
'.' ) ) )
5140 int idx =
str.length() - 1;
5141 while (
str.at( idx ) ==
'0' && idx > 1 )
5145 if ( idx <
str.length() - 1 )
5146 str.truncate(
str.at( idx ) ==
'.' ? idx : idx + 1 );
5156 if (
str == QLatin1String(
"-0" ) )
5158 return QLatin1String(
"0" );
5171 const bool aIsNan = std::isnan( a );
5172 const bool bIsNan = std::isnan( b );
5173 if ( aIsNan || bIsNan )
5174 return aIsNan && bIsNan;
5189inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
5191 const bool aIsNan = std::isnan( a );
5192 const bool bIsNan = std::isnan( b );
5193 if ( aIsNan || bIsNan )
5194 return aIsNan && bIsNan;
5196 const T diff = a - b;
5197 return diff >= -epsilon && diff <= epsilon;
5207inline bool qgsDoubleNear(
double a,
double b,
double epsilon = 4 * std::numeric_limits<double>::epsilon() )
5209 return qgsNumberNear<double>( a, b, epsilon );
5218inline bool qgsFloatNear(
float a,
float b,
float epsilon = 4 * FLT_EPSILON )
5220 return qgsNumberNear<float>( a, b, epsilon );
5226 const bool aIsNan = std::isnan( a );
5227 const bool bIsNan = std::isnan( b );
5228 if ( aIsNan || bIsNan )
5229 return aIsNan && bIsNan;
5237 const double ar = std::frexp( a, &aexp );
5238 const double br = std::frexp( b, &bexp );
5240 return aexp == bexp &&
5250 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
5251 const double scaleFactor = std::pow( 10.0, places );
5252 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
5263template<
class Key,
class Value>
5267 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
5268 result += QString(
"%1%2" ).arg( it.key() ).arg( separator );
5270 result.chop( separator.size() );
5280template<
class Key,
class Value>
5284 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
5285 result += QString(
"%1%2" ).arg( it.value() ).arg( separator );
5287 result.chop( separator.size() );
5298QString
qgsSetJoin(
const QSet<T> &set,
const QString &separator )
5301 for (
auto it = set.constBegin(); it != set.constEnd(); it++ )
5302 result += QString(
"%1%2" ).arg( *it ).arg( separator );
5304 result.chop( separator.size() );
5334 template<
typename To,
typename From>
inline To down_cast( From *f )
5337 ( std::is_base_of<From,
5338 typename std::remove_pointer<To>::type>::value ),
5339 "target type not derived from source type" );
5340 Q_ASSERT( f ==
nullptr ||
dynamic_cast<To
>( f ) !=
nullptr );
5341 return static_cast<To
>( f );
5345 QSet<T> listToSet(
const QList<T> &list )
5347 return QSet<T>( list.begin(), list.end() );
5351 QList<T> setToList(
const QSet<T> &set )
5353 return QList<T>( set.begin(), set.end() );
5366 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5367 Q_ASSERT( metaEnum.isValid() );
5369 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
5371 enumList.append(
static_cast<T
>( metaEnum.value( idx ) ) );
5383 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5384 Q_ASSERT( metaEnum.isValid() );
5385 QMap<T, QString> enumMap;
5386 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
5388 enumMap.insert(
static_cast<T
>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
5400 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5401 Q_ASSERT( metaEnum.isValid() );
5402 const char *key = metaEnum.valueToKey(
static_cast<int>( value ) );
5405 *returnOk = key ? true :
false;
5407 return QString::fromUtf8( key );
5417template<
class T> T
qgsEnumKeyToValue(
const QString &key,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
5419 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5420 Q_ASSERT( metaEnum.isValid() );
5422 T v =
static_cast<T
>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
5434 if ( tryValueAsKey )
5436 bool canConvert =
false;
5437 const int intValue = key.toInt( &canConvert );
5438 if ( canConvert && metaEnum.valueToKey( intValue ) )
5444 return static_cast<T
>( intValue );
5448 return defaultValue;
5458 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5459 Q_ASSERT( metaEnum.isValid() );
5460 int intValue =
static_cast<int>( value );
5461 const QByteArray ba = metaEnum.valueToKeys( intValue );
5464 const int intValueCheck = metaEnum.keysToValue( ba );
5465 bool ok = intValue == intValueCheck;
5468 return ok ? QString::fromUtf8( ba ) : QString();
5478template<
class T> T
qgsFlagKeysToValue(
const QString &keys,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
5480 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5481 Q_ASSERT( metaEnum.isValid() );
5483 T v =
static_cast<T
>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
5495 if ( tryValueAsKey )
5497 bool canConvert =
false;
5498 const int intValue = keys.toInt( &canConvert );
5501 const QByteArray keys = metaEnum.valueToKeys( intValue );
5502 const int intValueCheck = metaEnum.keysToValue( keys );
5503 if ( intValue == intValueCheck )
5509 return T( intValue );
5514 return defaultValue;
5568CORE_EXPORT
bool qgsVariantEqual(
const QVariant &lhs,
const QVariant &rhs );
5578#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
5586inline bool operator> (
const QVariant &v1,
const QVariant &v2 )
5600inline bool operator< (
const QVariant &v1,
const QVariant &v2 )
5607#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
5612template<> CORE_EXPORT
bool qMapLessThanKey<QVariantList>(
const QVariantList &key1,
const QVariantList &key2 )
SIP_SKIP;
5615CORE_EXPORT QString
qgsVsiPrefix(
const QString &path );
5633#define CONSTLATIN1STRING inline const QLatin1String
5635#define CONSTLATIN1STRING constexpr QLatin1String
5639class ScopedIntIncrementor
5643 ScopedIntIncrementor(
int *variable )
5644 : mVariable( variable )
5649 ScopedIntIncrementor(
const ScopedIntIncrementor &other ) =
delete;
5650 ScopedIntIncrementor &operator=(
const ScopedIntIncrementor &other ) =
delete;
5657 mVariable =
nullptr;
5660 ~ScopedIntIncrementor()
5666 int *mVariable =
nullptr;
5676 return QLatin1String(
5677 R
"""(GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["unknown"],AREA["World"],BBOX[-90,-180,90,180]],ID["EPSG",4326]] )"""
5684 return QLatin1String(
"+proj=longlat +datum=WGS84 +no_defs" );
5690 return QLatin1String(
"EPSG:4326" );
5696 return QLatin1String(
"NONE" );
5702const int PREVIEW_JOB_DELAY_MS = 250;
5705const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
5750#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
5752#define Q_NOWARN_DEPRECATED_PUSH \
5753 _Pragma("GCC diagnostic push") \
5754 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
5755#define Q_NOWARN_DEPRECATED_POP \
5756 _Pragma("GCC diagnostic pop");
5757#define Q_NOWARN_UNREACHABLE_PUSH
5758#define Q_NOWARN_UNREACHABLE_POP
5760#elif defined(_MSC_VER)
5762#define Q_NOWARN_DEPRECATED_PUSH \
5763 __pragma(warning(push)) \
5764 __pragma(warning(disable:4996))
5765#define Q_NOWARN_DEPRECATED_POP \
5766 __pragma(warning(pop))
5767#define Q_NOWARN_UNREACHABLE_PUSH \
5768 __pragma(warning(push)) \
5769 __pragma(warning(disable:4702))
5770#define Q_NOWARN_UNREACHABLE_POP \
5771 __pragma(warning(pop))
5775#define Q_NOWARN_DEPRECATED_PUSH
5776#define Q_NOWARN_DEPRECATED_POP
5777#define Q_NOWARN_UNREACHABLE_PUSH
5778#define Q_NOWARN_UNREACHABLE_POP
5785# define QGISEXTERN extern "C" __declspec( dllexport )
5787# if defined(__GNUC__) || defined(__clang__)
5788# define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
5790# define QGISEXTERN extern "C"
5797#if __cplusplus >= 201703L
5798#define NODISCARD [[nodiscard]]
5799#elif defined(__clang__)
5800#define NODISCARD [[nodiscard]]
5801#elif defined(_MSC_VER)
5803#elif defined(__has_cpp_attribute)
5804#if __has_cpp_attribute(nodiscard)
5805#define NODISCARD [[nodiscard]]
5806#elif __has_cpp_attribute(gnu::warn_unused_result)
5807#define NODISCARD [[gnu::warn_unused_result]]
5809#define NODISCARD Q_REQUIRED_RESULT
5812#define NODISCARD Q_REQUIRED_RESULT
5815#if __cplusplus >= 201703L
5816#define MAYBE_UNUSED [[maybe_unused]]
5817#elif defined(__clang__)
5818#define MAYBE_UNUSED [[maybe_unused]]
5819#elif defined(_MSC_VER)
5821#elif defined(__has_cpp_attribute)
5822#if __has_cpp_attribute(gnu::unused)
5823#define MAYBE_UNUSED [[gnu::unused]]
5837#define BUILTIN_UNREACHABLE \
5839#elif defined(__GNUC__) && !defined(__clang__)
5850#define BUILTIN_UNREACHABLE \
5851 __builtin_unreachable();
5853#define BUILTIN_UNREACHABLE
5863QString CORE_EXPORT
geoWkt();
The Qgis class provides global constants for use throughout the application.
DistanceUnitType
Types of distance units.
GnssConstellation
GNSS constellation.
SettingsOption
Settings options.
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
ProcessingSourceType
Processing data source types.
GpsQualityIndicator
GPS signal quality indicator.
DataItemProviderCapability
Capabilities for data item providers.
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
ProjectReadFlag
Flags which control project read behavior.
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
MapToolUnit
Type of unit of tolerance value from settings.
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
PointCloudSymbol
Rendering symbols for point cloud points.
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
GeometryValidityFlag
Geometry validity check flags.
ExpressionType
Expression types.
MapLayerActionFlag
Map layer action flags.
MapLayerProperty
Generic map layer properties.
BufferSide
Side of line to buffer.
RasterResamplingStage
Stage at which raster resampling occurs.
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
AltitudeClamping
Altitude clamping.
VectorTileProviderFlag
Flags for vector tile data providers.
VectorTemporalMode
Vector layer temporal feature modes.
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
CoordinateDisplayType
Formats for displaying coordinates.
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
DashPatternSizeAdjustment
Dash pattern size adjustment options.
GpsFixStatus
GPS fix status.
AnnotationItemNodeType
Annotation item node types.
static const char * QGIS_DEV_VERSION
The development version.
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
AngularDirection
Angular directions.
ContentStatus
Status for fetched or stored content.
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
LayoutUnit
Layout measurement units.
RelationshipStrength
Relationship strength.
Q_ENUM(GnssConstellation)
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Point3DShape
3D point shape types.
GeometryOperationResult
Success or failure of a geometry operation.
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
BrowserItemState
Browser item states.
AttributeEditorContainerType
Attribute editor container types.
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
FeatureRequestFilterType
Types of feature request filters.
MarkerClipMode
Marker clipping modes.
AnnotationItemFlag
Flags for annotation items.
RenderSubcomponentProperty
Rendering subcomponent properties.
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Statistic
Available generic statistics.
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
AngleUnit
Units of angles.
CaptureTechnique
Capture technique.
SpatialIndexPresence
Enumeration of spatial index presence states.
BrowserItemCapability
Browser item capabilities.
AttributeFormSuppression
Available form types for layout of the attribute form editor.
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
LayerTreeInsertionMethod
Layer tree insertion methods.
LineClipMode
Line clipping modes.
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
SettingsTreeNodeType
Type of tree node.
TilePixelRatio
DpiMode enum.
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
GradientColorSource
Gradient color sources.
FileFilterType
Type of file filters.
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
RasterLayerType
Raster layer types.
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
RasterPyramidFormat
Raster pyramid formats.
VectorExportResult
Vector layer export result codes.
DistanceUnit
Units of distance.
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
SymbolLayerFlag
Flags controlling behavior of symbol layers.
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
ScaleMethod
Scale methods.
SldExportOption
SLD export options.
FilePathType
File path types.
CadConstraintType
Advanced digitizing constraint type.
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
PointCountMethod
Methods which define the number of points randomly filling a polygon.
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
LayerTreeFilterFlag
Layer tree filter flags.
AttributeFormLayout
Available form types for layout of the attribute form editor.
FeatureRequestFlag
Flags for controlling feature requests.
VertexType
Types of vertex.
DataProviderFlag
Generic data provider flags.
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg)
GeometryValidationEngine
Available engines for validating geometries.
TransactionMode
Transaction mode.
Q_ENUM(ScaleToTileZoomLevelMethod)
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
RasterDrawingStyle
Raster drawing styles.
GpsInformationComponent
GPS information component.
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
FileOperationFlag
File operation flags.
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
ProjectCapability
Flags which control project capabilities.
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
TemporalNavigationMode
Temporal navigation modes.
ProcessingFieldParameterDataType
Processing field parameter data types.
StringStatistic
Available string statistics.
FieldDomainMergePolicy
Merge policy for field domains.
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
MessageLevel
Level for messages This will be used both for message log and message bar in application.
SqlKeywordCategory
SqlKeywordCategory enum represents the categories of the SQL keywords used by the SQL query editor.
QFlags< SnappingType > SnappingTypes
Snapping types.
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
TextLayoutMode
Text layout modes.
PropertyType
Property types.
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
LayerFilter
Filter for layers.
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
RasterRendererFlag
Flags which control behavior of raster renderers.
CrsType
Coordinate reference system types.
SensorThingsEntity
OGC SensorThings API entity types.
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
FieldDomainSplitPolicy
Split policy for field domains.
ArcGisRestServiceType
Available ArcGIS REST service types.
RasterFileWriterResult
Raster file export results.
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
MapRecenteringMode
Modes for recentering map canvases.
ActionStart
Enum to determine when an operation would begin.
PlaybackOperation
Media playback operations.
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
QFlags< TextRendererFlag > TextRendererFlags
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
MarkerShape
Marker shapes.
LegendJsonRenderFlag
Legend JSON export flags.
BlendMode
Blending modes defining the available composition modes that can be used when painting.
RasterElevationMode
Raster layer elevation modes.
Capitalization
String capitalization options.
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
LabelQuadrantPosition
Label quadrant positions.
QFlags< PlotToolFlag > PlotToolFlags
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
TextOrientation
Text orientations.
PythonMacroMode
Authorisation to run Python Macros.
TemporalUnit
Temporal units.
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
UnplacedLabelVisibility
Unplaced label visibility.
CrsDefinitionFormat
CRS definition formats.
SpatialFilterType
Feature request spatial filter types.
QFlags< ProcessingParameterTypeFlag > ProcessingParameterTypeFlags
Flags which dictate the behavior of Processing parameter types.
TileAvailability
Possible availability states for a tile within a tile matrix.
ProjectFlag
Flags which control the behavior of QgsProjects.
BrowserItemType
Browser item types.
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
SettingsType
Types of settings entries.
QFlags< SettingsOption > SettingsOptions
RasterTemporalMode
Raster layer temporal modes.
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
LabelingFlag
Various flags that affect drawing and placement of labels.
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
RelationshipType
Relationship types.
ScriptLanguageCapability
Script language capabilities.
JoinStyle
Join styles for buffers.
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
TextCharacterVerticalAlignment
Text vertical alignment for characters.
UserProfileSelectionPolicy
User profile selection policy.
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
AltitudeBinding
Altitude binding.
Q_ENUM(ProcessingProviderFlag)
TiledSceneRendererFlag
Flags which control how tiled scene 2D renderers behave.
MapLayerActionTarget
Map layer action targets.
ZonalStatisticResult
Zonal statistics result codes.
ScriptLanguage
Scripting languages.
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
TiledSceneProviderCapability
Tiled scene data provider capabilities.
LabelMultiLineAlignment
Text alignment for multi-line labels.
RasterBandStatistic
Available raster band statistics.
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
QFlags< ZonalStatistic > ZonalStatistics
Statistics to be calculated during a zonal statistics operation.
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
TextRenderFormat
Options for rendering text.
DataType
Raster data types.
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
SystemOfMeasurement
Systems of unit measurement.
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
VerticalAxisInversion
Vertical axis inversion options for 3D views.
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
RelationshipCapability
Relationship capabilities.
RasterBuildPyramidOption
Raster pyramid building options.
NavigationMode
The navigation mode used by 3D cameras.
TileChildrenAvailability
Possible availability states for a tile's children.
LayerType
Types of layers that can be added to a map.
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
RenderUnit
Rendering size units.
CoordinateOrder
Order of coordinates.
SelectionFlag
Flags which control feature selection behavior.
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
EndCapStyle
End cap styles for buffers.
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
QFlags< MapLayerActionFlag > MapLayerActionFlags
Map layer action flags.
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
BabelCommandFlag
Babel command flags, which control how commands and arguments are generated for executing GPSBabel pr...
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
FieldDomainType
Types of field domain.
MapLayerRendererFlag
Flags which control how map layer renderers behave.
RenderContextFlag
Flags which affect rendering operations.
RasterPipeInterfaceRole
Raster pipe interface roles.
CoverageValidityResult
Coverage validity results.
Aggregate
Available aggregates to calculate.
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
MapBoxGlStyleSourceType
Available MapBox GL style source types.
LayoutUnitType
Types of layout units.
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
DashPatternLineEndingRule
Dash pattern line ending rules.
FieldMetadataProperty
Standard field metadata values.
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
RasterRendererCapability
Raster renderer capabilities.
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
HistoryProviderBackend
History provider backends.
RasterExportType
Raster file export types.
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
TextVerticalAlignment
Text vertical alignment.
RelationshipCardinality
Relationship cardinality.
GradientType
Gradient types.
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
VectorProfileType
Types of elevation profiles to generate for vector sources.
GpsFeatureType
GPS feature types.
VectorLayerTypeFlag
Vector layer type flags.
MakeValidMethod
Algorithms to use when repairing invalid geometries.
RangeLimits
Describes how the limits of a range are handled.
QFlags< ProjectFlag > ProjectFlags
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
VectorEditResult
Specifies the result of a vector layer edit operation.
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
VolumeUnit
Units of volume.
AttributeEditorType
Attribute editor types.
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
ProfileExportType
Types of export for elevation profiles.
MeshElevationMode
Mesh layer elevation modes.
ProjectFileFormat
Flags which control project read behavior.
SnappingMode
SnappingMode defines on which layer the snapping is performed.
RasterColorInterpretation
Raster color interpretation.
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
LabelPlacementEngineVersion
Labeling placement engine version.
Q_ENUM(ProcessingAlgorithmFlag)
RendererUsage
Usage of the renderer.
SettingsTreeNodeOption
Options for named list nodes.
BabelFormatCapability
Babel GPS format capabilities.
PostgresRelKind
Postgres database relkind options.
GpsConnectionType
GPS connection types.
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
BetweenLineConstraint
Between line constraints which can be enabled.
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
MetadataDateType
Date types for metadata.
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
RasterIdentifyFormat
Raster identify formats.
TextHorizontalAlignment
Text horizontal alignment.
SymbolFlag
Flags controlling behavior of symbols.
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
HttpMethod
Different methods of HTTP requests.
WkbType
The WKB type describes the number of dimensions a geometry has.
QFlags< SldExportOption > SldExportOptions
SymbolCoordinateReference
Symbol coordinate reference modes.
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
TileRefinementProcess
Tiled scene tile refinement processes.
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
SelectionRenderingMode
Specifies how a selection should be rendered.
InputControllerType
Input controller types.
TextRendererFlag
Flags which control the behavior of rendering text.
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
CrsAxisDirection
Coordinate reference system axis directions.
ProcessingModelChildParameterSource
Processing model child parameter sources.
QFlags< MarkerLinePlacement > MarkerLinePlacements
CrsWktVariant
Coordinate reference system WKT formatting variants.
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
AutoRefreshMode
Map layer automatic refresh modes.
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
SettingsOrigin
The setting origin describes where a setting is stored.
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
LabelOverlapHandling
Label overlap handling.
FeatureSymbologyExport
Options for exporting features considering their symbology.
QFlags< LayerFilter > LayerFilters
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
TextComponent
Text components.
DateTimeStatistic
Available date/time statistics.
AnimationState
Animation states.
TransformDirection
Indicates the direction (forward or inverse) of a transform.
LightSourceType
Light source types for 3D scenes.
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
QFlags< HistoryProviderBackend > HistoryProviderBackends
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
UpsideDownLabelHandling
Handling techniques for upside down labels.
DeviceConnectionStatus
GPS connection status.
ProcessingNumberParameterType
Processing numeric parameter data types.
MapSettingsFlag
Flags which adjust the way maps are rendered.
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
SelectBehavior
Specifies how a selection should be applied.
Utility class that encapsulates an action based on vector attributes.
Utility class for calculating aggregates for a field (or expression) over the features from a vector ...
Utility functions for working with ArcGIS REST services.
This is an abstract base class for any elements of a drag and drop form.
This class represents a coordinate reference system (CRS).
Abstract base class for curved geometry type.
Base class for all items in the model.
Abstract base class for spatial data provider implementations.
Calculator for summary statistics and aggregates for a list of datetimes.
This class wraps a request for features to a vector layer (or directly its vector data provider).
An interface for objects which provide features via a getFeatures method.
A geometry is the spatial representation of a feature.
Stores global configuration for labeling engine.
Contains constants and enums relating to labeling.
Item that represents a layer that can be opened with one of the providers.
The QgsMapLayerProxyModel class provides an easy to use model to display the list of layers in widget...
Base class for all map layer types.
The QgsMapSettings class contains configuration for rendering of the map.
Registry for temporary fetched files.
Contains miscellaneous painting utility functions.
Contains settings for how a map layer will be labeled.
Abstract base class for 2d point cloud renderers.
Abstract base class for processing algorithms.
Contains information about the context in which a processing algorithm is executed.
Encapsulates settings relating to a feature source input to a processing algorithm.
QgsFeatureSource subclass which proxies methods to an underlying QgsFeatureSource,...
A datetime (or pure date or time) parameter for processing algorithms.
Base class for the definition of processing parameters.
A vector layer or feature source field parameter for processing algorithms.
An input file or folder parameter for processing algorithms.
A numeric parameter for processing algorithms.
Makes metadata of processing parameters available.
Abstract base class for processing providers.
Contains enumerations and other constants for use in processing algorithms and parameters.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
A store for object properties.
A fill symbol layer which places markers at random locations within polygons.
The RasterBandStats struct is a container for statistics about a single raster band.
Implementation of data provider temporal properties for QgsRasterDataProviders.
The raster file writer which allows you to save a raster to a new file.
Implementation of map layer temporal properties for raster layers.
Represents a raster layer.
Contains a pipeline of raster interfaces for sequential raster processing.
Contains information about the context of a rendering operation.
Represent settings entry and provides methods for reading and writing settings values.
RAII signal blocking class.
Object * operator->()
Returns pointer to blocked QObject.
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Abstract base class for simple marker symbol layers.
This is a container for configuration of the snapping of the project.
Calculator for summary statistics for a list of doubles.
Calculator for summary statistics and aggregates for a list of strings.
Utility functions for working with strings.
Abstract base class for all rendered symbols.
Base class for templated line symbols, e.g.
Implements a temporal controller based on a frame by frame navigation and animation.
Container for all settings relating to text rendering.
Handles rendering text using rich formatting options, including drop shadows, buffers and background ...
This is the class is providing tolerance value in map unit values.
Helper functions for various unit types.
Implementation of data provider temporal properties for QgsVectorDataProviders.
This is the base class for vector data providers.
A convenience class for writing vector layers to disk based formats (e.g.
A convenience class for exporting vector layers to a destination data provider.
Implementation of map layer temporal properties for vector layers.
Represents a vector layer which manages a vector based data sets.
Handles storage of information regarding WKB types and their properties.
FeatureCountState
Enumeration of feature count states.
@ Points
Point based rendering, requires point data.
int significantDigits(const Qgis::DataType rasterDataType)
Returns the maximum number of significant digits a for the given rasterDataType.
As part of the API refactoring and improvements which landed in QGIS
CONSTLATIN1STRING geoNone()
Constant that holds the string representation for "No ellips/No CRS".
const double DEFAULT_LINE_WIDTH
CORE_EXPORT uint qHash(const QVariant &variant)
Hash for QVariant.
bool operator>(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is greater than the second.
CORE_EXPORT QString qgsVsiPrefix(const QString &path)
CORE_EXPORT bool qgsVariantEqual(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether they are equal, two NULL values are always treated a...
T qgsEnumKeyToValue(const QString &key, const T &defaultValue, bool tryValueAsKey=true, bool *returnOk=nullptr)
Returns the value corresponding to the given key of an enum.
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
QString qgsMapJoinValues(const QMap< Key, Value > &map, const QString &separator)
Joins all the map values into a single string with each element separated by the given separator.
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
const long GEO_EPSG_CRS_ID
Magic number for a geographic coord sys in EpsgCrsId ID format.
QString qgsMapJoinKeys(const QMap< Key, Value > &map, const QString &separator)
Joins all the map keys into a single string with each element separated by the given separator.
T qgsFlagKeysToValue(const QString &keys, const T &defaultValue, bool tryValueAsKey=true, bool *returnOk=nullptr)
Returns the value corresponding to the given keys of a flag.
CORE_EXPORT bool qgsVariantGreaterThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is greater than the second.
unsigned long long qgssize
Qgssize is used instead of size_t, because size_t is stdlib type, unknown by SIP, and it would be har...
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference)
QString qgsSetJoin(const QSet< T > &set, const QString &separator)
Joins all the set values into a single string with each element separated by the given separator.
CORE_EXPORT double qgsPermissiveToDouble(QString string, bool &ok)
Converts a string to a double in a permissive way, e.g., allowing for incorrect numbers of digits bet...
const QList< T > qgsEnumList()
Returns a list all enum entries.
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
CONSTLATIN1STRING geoProj4()
PROJ4 string that represents a geographic coord sys.
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
void CORE_EXPORT * qgsMalloc(size_t size)
Allocates size bytes and returns a pointer to the allocated memory.
const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
QMap< QString, QString > QgsStringMap
#define CONSTLATIN1STRING
CONSTLATIN1STRING geoWkt()
Wkt string that represents a geographic coord sys.
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
const int USER_CRS_START_ID
Magick number that determines whether a projection crsid is a system (srs.db) or user (~/....
void CORE_EXPORT qgsFree(void *ptr)
Frees the memory space pointed to by ptr.
bool qgsNumberNear(T a, T b, T epsilon=std::numeric_limits< T >::epsilon() *4)
Compare two numbers of type T (but allow some difference)
CORE_EXPORT qlonglong qgsPermissiveToLongLong(QString string, bool &ok)
Converts a string to an qlonglong in a permissive way, e.g., allowing for incorrect numbers of digits...
CORE_EXPORT int qgsPermissiveToInt(QString string, bool &ok)
Converts a string to an integer in a permissive way, e.g., allowing for incorrect numbers of digits b...
CORE_EXPORT bool qgsVariantLessThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is less than the second.
const long GEOSRID
Magic number for a geographic coord sys in POSTGIS SRID.
#define QHASH_FOR_CLASS_ENUM(T)
bool operator<(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is less than the second.
CONSTLATIN1STRING geoEpsgCrsAuthId()
Geographic coord sys from EPSG authority.
const long GEOCRS_ID
Magic number for a geographic coord sys in QGIS srs.db tbl_srs.srs_id.
const double DEFAULT_POINT_SIZE
Magic number that determines the default point size for point symbols.
#define SIP_ENUM_BASETYPE(type)
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
#define SIP_MONKEYPATCH_FLAGS_UNNEST(OUTSIDE_CLASS, FORMERNAME)
#define SIP_MONKEYPATCH_SCOPEENUM
#define SIP_MONKEYPATCH_COMPAT_NAME(FORMERNAME)
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)
Utility class for identifying a unique vertex within a geometry.