QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgis.h
Go to the documentation of this file.
1/***************************************************************************
2 qgis.h - QGIS namespace
3 -------------------
4 begin : Sat Jun 30 2002
5 copyright : (C) 2002 by Gary E.Sherman
6 email : sherman at mrcc.com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGIS_H
19#define QGIS_H
20
21
22#include <QMetaEnum>
23#include <cfloat>
24#include <memory>
25#include <cmath>
26
27#include "qgis_core.h"
28#include "qgis_sip.h"
29
30#ifdef SIP_RUN
31% ModuleHeaderCode
32#include <qgis.h>
33% End
34
35% ModuleCode
36int QgisEvent = QEvent::User + 1;
37% End
38#endif
39
40#ifndef SIP_RUN
41// qHash implementation for scoped enum type
42// https://gitlab.com/frostasm/programming-knowledge-base/-/snippets/20120
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); \
46 }
47#endif
48
53class CORE_EXPORT Qgis
54{
55 Q_GADGET
56 Q_CLASSINFO( "RegisterEnumClassesUnscoped", "false" )
57
58 public:
59
65 static QString version();
66
72 static int versionInt();
73
79 static QString releaseName();
80
82 static const char *QGIS_DEV_VERSION;
83
89 static QString devVersion();
90
91 // Enumerations
92 //
93
99 {
100 Info = 0,
101 Warning = 1,
102 Critical = 2,
103 Success = 3,
104 NoLevel = 4,
105 };
106 Q_ENUM( MessageLevel )
107
108
114 {
115 Vector SIP_MONKEYPATCH_COMPAT_NAME( VectorLayer ),
116 Raster SIP_MONKEYPATCH_COMPAT_NAME( RasterLayer ),
117 Plugin SIP_MONKEYPATCH_COMPAT_NAME( PluginLayer ),
118 Mesh SIP_MONKEYPATCH_COMPAT_NAME( MeshLayer ),
119 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( VectorTileLayer ),
120 Annotation SIP_MONKEYPATCH_COMPAT_NAME( AnnotationLayer ),
121 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( PointCloudLayer ),
122 Group SIP_MONKEYPATCH_COMPAT_NAME( GroupLayer ),
123 TiledScene,
124 };
125 Q_ENUM( LayerType )
126
127
133 {
134 RasterLayer = 1,
135 NoGeometry = 2,
136 PointLayer = 4,
137 LineLayer = 8,
138 PolygonLayer = 16,
139 HasGeometry = PointLayer | LineLayer | PolygonLayer,
140 VectorLayer = NoGeometry | HasGeometry,
141 PluginLayer = 32,
142 WritableLayer = 64,
143 MeshLayer = 128,
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
150 };
151 Q_DECLARE_FLAGS( LayerFilters, LayerFilter )
152 Q_FLAG( LayerFilters )
153
154
182 {
183 Unknown = 0,
184 Point = 1,
185 LineString = 2,
186 Polygon = 3,
187 Triangle = 17,
188 MultiPoint = 4,
189 MultiLineString = 5,
190 MultiPolygon = 6,
191 GeometryCollection = 7,
192 CircularString = 8,
193 CompoundCurve = 9,
194 CurvePolygon = 10,
195 MultiCurve = 11,
196 MultiSurface = 12,
197 NoGeometry = 100,
198 PointZ = 1001,
199 LineStringZ = 1002,
200 PolygonZ = 1003,
201 TriangleZ = 1017,
202 MultiPointZ = 1004,
203 MultiLineStringZ = 1005,
204 MultiPolygonZ = 1006,
205 GeometryCollectionZ = 1007,
206 CircularStringZ = 1008,
207 CompoundCurveZ = 1009,
208 CurvePolygonZ = 1010,
209 MultiCurveZ = 1011,
210 MultiSurfaceZ = 1012,
211 PointM = 2001,
212 LineStringM = 2002,
213 PolygonM = 2003,
214 TriangleM = 2017,
215 MultiPointM = 2004,
216 MultiLineStringM = 2005,
217 MultiPolygonM = 2006,
218 GeometryCollectionM = 2007,
219 CircularStringM = 2008,
220 CompoundCurveM = 2009,
221 CurvePolygonM = 2010,
222 MultiCurveM = 2011,
223 MultiSurfaceM = 2012,
224 PointZM = 3001,
225 LineStringZM = 3002,
226 PolygonZM = 3003,
227 MultiPointZM = 3004,
228 MultiLineStringZM = 3005,
229 MultiPolygonZM = 3006,
230 GeometryCollectionZM = 3007,
231 CircularStringZM = 3008,
232 CompoundCurveZM = 3009,
233 CurvePolygonZM = 3010,
234 MultiCurveZM = 3011,
235 MultiSurfaceZM = 3012,
236 TriangleZM = 3017,
237 Point25D = 0x80000001,
238 LineString25D,
239 Polygon25D,
240 MultiPoint25D,
241 MultiLineString25D,
242 MultiPolygon25D
243 };
244 Q_ENUM( WkbType )
245
246
255 {
256 Point SIP_MONKEYPATCH_COMPAT_NAME( PointGeometry ),
257 Line SIP_MONKEYPATCH_COMPAT_NAME( LineGeometry ),
258 Polygon SIP_MONKEYPATCH_COMPAT_NAME( PolygonGeometry ),
259 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownGeometry ),
260 Null SIP_MONKEYPATCH_COMPAT_NAME( NullGeometry ),
261 };
262 Q_ENUM( GeometryType )
263
264
269 {
270 UnknownDataType = 0,
271 Byte = 1,
272 Int8 = 14,
273 UInt16 = 2,
274 Int16 = 3,
275 UInt32 = 4,
276 Int32 = 5,
277 Float32 = 6,
278 Float64 = 7,
279 CInt16 = 8,
280 CInt32 = 9,
281 CFloat32 = 10,
282 CFloat64 = 11,
283 ARGB32 = 12,
284 ARGB32_Premultiplied = 13
285 };
286 Q_ENUM( DataType )
287
288
293 enum class CaptureTechnique : int
294 {
295 StraightSegments,
296 CircularString,
297 Streaming,
298 Shape,
299 };
300 Q_ENUM( CaptureTechnique )
301
302
307 enum class VectorLayerTypeFlag : int SIP_ENUM_BASETYPE( IntFlag )
308 {
309 SqlQuery = 1 << 0
310 };
311 Q_ENUM( VectorLayerTypeFlag )
314 Q_FLAG( VectorLayerTypeFlags )
315
321 {
322 Never = 0,
323 Ask = 1,
324 SessionOnly = 2,
325 Always = 3,
326 NotForThisSession,
327 };
328 Q_ENUM( PythonMacroMode )
329
330
336 {
337 Uncounted = -2,
338 UnknownCount = -1,
339 };
340 Q_ENUM( FeatureCountState )
341
342
349 {
350 Unknown SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexUnknown ) = 0,
351 NotPresent SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexNotPresent ) = 1,
352 Present SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexPresent ) = 2,
353 };
354 Q_ENUM( SpatialIndexPresence )
355
356
368 {
369 NoFeaturesAvailable = 0,
370 FeaturesAvailable,
371 FeaturesMaybeAvailable
372 };
373 Q_ENUM( FeatureAvailability )
374
375
381 {
382 EditAlias = 1 << 0,
383 EditComment = 1 << 1,
384 };
385
386 Q_ENUM( VectorDataProviderAttributeEditCapability )
387
388
395
401 {
402 Marker,
403 Line,
404 Fill,
405 Hybrid
406 };
407 Q_ENUM( SymbolType )
408
409
415 {
416 ScaleArea,
417 ScaleDiameter
418 };
419 Q_ENUM( ScaleMethod )
420
421
426 {
427 Custom,
428 Variant,
429 String,
430 StringList,
431 VariantMap,
432 Bool,
433 Integer,
434 Double,
435 EnumFlag,
436 Color
437 };
438 Q_ENUM( SettingsType )
439
440
445 {
446 Root,
447 Standard,
448 NamedList,
449 };
450 Q_ENUM( SettingsTreeNodeType )
451
452
456 enum class SettingsTreeNodeOption : int SIP_ENUM_BASETYPE( IntFlag )
457 {
458 NamedListSelectedItemSetting = 1 << 0,
459 };
460
461 Q_ENUM( SettingsTreeNodeOption )
464
473 {
474 Invalid SIP_MONKEYPATCH_COMPAT_NAME( InvalidProperty ),
475 Static SIP_MONKEYPATCH_COMPAT_NAME( StaticProperty ),
476 Field SIP_MONKEYPATCH_COMPAT_NAME( FieldBasedProperty ),
477 Expression SIP_MONKEYPATCH_COMPAT_NAME( ExpressionBasedProperty ),
478 };
479 Q_ENUM( PropertyType )
480
481
486 enum class SldExportOption : int SIP_ENUM_BASETYPE( IntFlag )
487 {
488 NoOptions = 0,
489 Svg = 1 << 0,
490 Png = 1 << 1,
491 };
492 Q_ENUM( SldExportOption )
494 Q_FLAG( SldExportOptions )
495
501 enum class SldExportVendorExtension : int SIP_ENUM_BASETYPE( IntFlag )
502 {
503 NoVendorExtension = 0,
504 GeoServerVendorExtension = 1 << 1,
505 DeegreeVendorExtension = 1 << 2,
506 };
507 Q_ENUM( SldExportVendorExtension )
508
509
510
514 enum class SettingsOption : int SIP_ENUM_BASETYPE( IntFlag )
515 {
516 SaveFormerValue = 1 << 1, //<! Save the former value of the settings
517 SaveEnumFlagAsInt = 1 << 2,
518 };
519 Q_ENUM( SettingsOption )
520 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
521 Q_FLAG( SettingsOptions )
522
528 {
529 ActiveLayer = 1,
530 AllLayers = 2,
531 AdvancedConfiguration = 3,
532 };
533 Q_ENUM( SnappingMode )
534
535
540 {
541 NoSnap SIP_MONKEYPATCH_COMPAT_NAME( NoSnapFlag ) = 0,
542 Vertex SIP_MONKEYPATCH_COMPAT_NAME( VertexFlag ) = 1 << 0,
543 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentFlag ) = 1 << 1,
544 Area SIP_MONKEYPATCH_COMPAT_NAME( AreaFlag ) = 1 << 2,
545 Centroid SIP_MONKEYPATCH_COMPAT_NAME( CentroidFlag ) = 1 << 3,
546 MiddleOfSegment SIP_MONKEYPATCH_COMPAT_NAME( MiddleOfSegmentFlag ) = 1 << 4,
547 LineEndpoint SIP_MONKEYPATCH_COMPAT_NAME( LineEndpointFlag ) = 1 << 5,
548 };
549 Q_ENUM( SnappingType )
552 Q_FLAG( SnappingTypes )
553
560 {
561 DynamicRotation = 2,
562 };
563 Q_ENUM( SymbolRenderHint )
566 Q_FLAG( SymbolRenderHints )
567
573 enum class SymbolRotationMode : int
574 {
575 RespectMapRotation,
576 IgnoreMapRotation,
577 };
578 Q_ENUM( SymbolRotationMode )
579
580
585 enum class SymbolFlag : int SIP_ENUM_BASETYPE( IntFlag )
586 {
587 RendererShouldUseSymbolLevels = 1 << 0,
588 };
589 Q_ENUM( SymbolFlag )
591 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
592 Q_FLAG( SymbolFlags )
593
600 {
601 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
602 };
603 Q_ENUM( SymbolPreviewFlag )
606 Q_FLAG( SymbolPreviewFlags )
607
617 enum class SymbolLayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
618 {
619 DisableFeatureClipping = 1 << 0,
620 };
621 Q_ENUM( SymbolLayerFlag )
624 Q_FLAG( SymbolLayerFlags )
625
635 enum class SymbolLayerUserFlag : int SIP_ENUM_BASETYPE( IntFlag )
636 {
637 DisableSelectionRecoloring = 1 << 0,
638 };
639 Q_ENUM( SymbolLayerUserFlag )
640
641
647 Q_FLAG( SymbolLayerUserFlags )
648
655 {
656 Collection,
657 Directory,
658 Layer,
659 Error,
660 Favorites,
661 Project,
662 Custom,
663 Fields,
664 Field,
665 };
666 Q_ENUM( BrowserItemType )
667
668
674 {
675 NotPopulated,
676 Populating,
677 Populated,
678 };
679 Q_ENUM( BrowserItemState )
680
681
687 {
688 NoCapabilities = 0,
689 SetCrs = 1 << 0,
690 Fertile = 1 << 1,
691 Fast = 1 << 2,
692 Collapse = 1 << 3,
693 Rename = 1 << 4,
694 Delete = 1 << 5,
695 ItemRepresentsFile = 1 << 6,
696 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
697 };
698 Q_ENUM( BrowserItemCapability )
702
711 {
712 NoCapabilities SIP_MONKEYPATCH_COMPAT_NAME( NoDataCapabilities ) = 0,
713 Files SIP_MONKEYPATCH_COMPAT_NAME( File ) = 1,
714 Directories SIP_MONKEYPATCH_COMPAT_NAME( Dir ) = 1 << 1,
715 Databases SIP_MONKEYPATCH_COMPAT_NAME( Database ) = 1 << 2,
716 NetworkSources SIP_MONKEYPATCH_COMPAT_NAME( Net ) = 1 << 3,
717 };
718 Q_ENUM( DataItemProviderCapability )
719
720
729
736 {
737 NoType,
738 Vector,
739 Raster,
740 Point,
741 Line,
742 Polygon,
743 TableLayer,
744 Database,
745 Table,
746 Plugin,
747 Mesh,
748 VectorTile,
749 PointCloud,
750 TiledScene,
751 };
752 Q_ENUM( BrowserLayerType )
753
754
760 {
761 Default,
762 NeverMonitor,
763 AlwaysMonitor,
764 };
765 Q_ENUM( BrowserDirectoryMonitoring )
766
767
771 enum class HttpMethod : int
772 {
773 Get = 0,
774 Post = 1
775 };
776 Q_ENUM( HttpMethod )
777
778
784 {
785 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
786 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
787 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
788 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
789 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
790 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
791 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
792 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
793 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
794 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
795 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
796 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
797 };
798 Q_ENUM( VectorExportResult )
799
800
805 {
806 FieldAliases = 1 << 0,
807 FieldComments = 1 << 2,
808 };
809 Q_ENUM( VectorFileWriterCapability )
810
811
817
823 {
824 SubsetStringFilter = 1 << 1,
825 GeometryColumn = 1 << 2,
826 PrimaryKeys = 1 << 3,
827 UnstableFeatureIds = 1 << 4
828 };
829 Q_ENUM( SqlLayerDefinitionCapability )
833
839 enum class SqlKeywordCategory : int
840 {
841 Keyword,
842 Constant,
843 Function,
844 Geospatial,
845 Operator,
846 Math,
847 Aggregate,
848 String,
849 Identifier
850 };
851 Q_ENUM( SqlKeywordCategory )
852
853
857 enum class DriveType : int
858 {
859 Unknown,
860 Invalid,
861 Removable,
862 Fixed,
863 Remote,
864 CdRom,
865 RamDisk,
866 Cloud,
867 };
868 Q_ENUM( DriveType )
869
870
875 {
876 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
877 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
878 };
879 Q_ENUM( ActionStart )
880
881
886 enum class UnplacedLabelVisibility : int
887 {
888 FollowEngineSetting,
889 NeverShow,
890 };
891 Q_ENUM( UnplacedLabelVisibility )
892
893
898 enum class LabelOverlapHandling : int
899 {
900 PreventOverlap,
901 AllowOverlapIfRequired,
902 AllowOverlapAtNoCost,
903 };
904 Q_ENUM( LabelOverlapHandling )
905
906
914 {
915 AroundPoint,
916 OverPoint,
917 Line,
918 Curved,
919 Horizontal,
920 Free,
921 OrderedPositionsAroundPoint,
922 PerimeterCurved,
923 OutsidePolygons,
924 };
925 Q_ENUM( LabelPlacement )
926
927
935 {
936 TopLeft,
937 TopSlightlyLeft,
938 TopMiddle,
939 TopSlightlyRight,
940 TopRight,
941 MiddleLeft,
942 MiddleRight,
943 BottomLeft,
944 BottomSlightlyLeft,
945 BottomMiddle,
946 BottomSlightlyRight,
947 BottomRight,
948 };
949 Q_ENUM( LabelPredefinedPointPosition )
950
951
960 {
961 FromPoint,
962 FromSymbolBounds,
963 };
964 Q_ENUM( LabelOffsetType )
965
966
974 {
975 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
976 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
977 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
978 Left SIP_MONKEYPATCH_COMPAT_NAME( QuadrantLeft ),
979 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
980 Right SIP_MONKEYPATCH_COMPAT_NAME( QuadrantRight ),
981 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
982 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
983 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
984 };
985 Q_ENUM( LabelQuadrantPosition )
986
987
994 {
995 OnLine = 1,
996 AboveLine = 2,
997 BelowLine = 4,
998 MapOrientation = 8,
999 };
1000 Q_ENUM( LabelLinePlacementFlag )
1001
1002
1010 Q_FLAG( LabelLinePlacementFlags )
1011
1019 {
1020 AllowPlacementOutsideOfPolygon = 1 << 0,
1021 AllowPlacementInsideOfPolygon = 1 << 1,
1022 };
1023 Q_ENUM( LabelPolygonPlacementFlag )
1024
1025
1033
1042 {
1043 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
1044 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
1045 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
1046 };
1047 Q_ENUM( UpsideDownLabelHandling )
1048
1049
1057 {
1058 Left SIP_MONKEYPATCH_COMPAT_NAME( MultiLeft ) = 0,
1059 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
1060 Right SIP_MONKEYPATCH_COMPAT_NAME( MultiRight ),
1061 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
1062 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
1063 };
1064 Q_ENUM( LabelMultiLineAlignment )
1065
1066
1073 {
1074 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
1075 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1076 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1077 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1078 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1079 VectorTile,
1080 TiledScene,
1081 };
1082 Q_ENUM( FileFilterType )
1083
1084
1089 enum class SublayerQueryFlag : int SIP_ENUM_BASETYPE( IntFlag )
1090 {
1091 FastScan = 1 << 0,
1092 ResolveGeometryType = 1 << 1,
1093 CountFeatures = 1 << 2,
1094 IncludeSystemTables = 1 << 3,
1095 };
1098 Q_ENUM( SublayerQueryFlag )
1099 Q_FLAG( SublayerQueryFlags )
1100
1101
1106 enum class SublayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
1107 {
1108 SystemTable = 1 << 0,
1109 };
1111 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1112 Q_ENUM( SublayerFlag )
1113 Q_FLAG( SublayerFlags )
1114
1115
1121 {
1122 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1123 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1124 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1125 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1126 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1127 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1128 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1129 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1130 };
1131 Q_ENUM( RasterPipeInterfaceRole )
1132
1133
1138 {
1140 ResampleFilter,
1142 Provider
1143 };
1144 Q_ENUM( RasterResamplingStage )
1145
1146
1151 enum class RasterRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
1152 {
1153 InternalLayerOpacityHandling = 1 << 0,
1154 };
1155
1162
1163 Q_ENUM( RasterRendererFlag )
1164 Q_FLAG( RasterRendererFlags )
1165
1166
1172 {
1173 UsesMultipleBands = 1 << 0,
1174 };
1175 Q_ENUM( RasterRendererCapability )
1176
1177
1184
1191 {
1192 Generic = 0,
1193 PixelCount = 1,
1194 Name = 2,
1195 Min = 3,
1196 Max = 4,
1197 MinMax = 5,
1198 Red = 6,
1199 Green = 7,
1200 Blue = 8,
1201 Alpha = 9,
1202 RedMin = 10,
1203 GreenMin = 11,
1204 BlueMin = 12,
1205 AlphaMin = 13,
1206 RedMax = 14,
1207 GreenMax = 15,
1208 BlueMax = 16,
1209 AlphaMax = 17,
1210 MaxCount
1211 };
1212 Q_ENUM( RasterAttributeTableFieldUsage )
1213
1214
1220 {
1221 Thematic = 0,
1222 Athematic = 1
1223 };
1224 Q_ENUM( RasterAttributeTableType )
1225
1226
1233 {
1234 Raw = 0,
1235 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1236 };
1237 Q_ENUM( RasterExportType )
1238
1239
1246 {
1247 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
1248 SourceProviderError = 1,
1249 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1250 CreateDatasourceError = 3,
1251 WriteError = 4,
1252 NoDataConflict = 5,
1253 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1254 };
1255 Q_ENUM( RasterFileWriterResult )
1256
1257
1262 enum class MeshEditingErrorType : int
1263 {
1264 NoError,
1265 InvalidFace,
1266 TooManyVerticesInFace,
1267 FlatFace,
1268 UniqueSharedVertex,
1269 InvalidVertex,
1270 ManifoldFace,
1271 };
1272 Q_ENUM( MeshEditingErrorType )
1273
1274
1279 enum class FilePathType : int
1280 {
1281 Absolute,
1282 Relative,
1283 };
1284 Q_ENUM( FilePathType )
1285
1286
1291 enum class SublayerPromptMode : int
1292 {
1293 AlwaysAsk,
1294 AskExcludingRasterBands,
1295 NeverAskSkip,
1296 NeverAskLoadAll,
1297 };
1298 Q_ENUM( SublayerPromptMode )
1299
1300
1307 enum class FieldConfigurationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1308 {
1309 NoFlag = 0,
1310 NotSearchable = 1 << 1,
1311 HideFromWms = 1 << 2,
1312 HideFromWfs = 1 << 3,
1313 };
1314 Q_ENUM( FieldConfigurationFlag )
1315
1316
1324 Q_FLAG( FieldConfigurationFlags )
1325
1331 enum class FieldMetadataProperty : int
1332 {
1333 GeometryCrs = 0x1000,
1334 GeometryWkbType = 0x1001,
1335 CustomProperty = 0x100000,
1336 };
1337 Q_ENUM( FieldMetadataProperty )
1338
1339
1344 enum class SelectionRenderingMode : int
1345 {
1346 Default,
1347 CustomColor,
1348 CustomSymbol,
1349 };
1350 Q_ENUM( SelectionRenderingMode )
1351
1352
1358 {
1359 SetSelection,
1360 AddToSelection,
1361 IntersectSelection,
1362 RemoveFromSelection,
1363 };
1364 Q_ENUM( SelectBehavior )
1365
1366
1372 {
1373 Intersect,
1374 Within,
1375 };
1376 Q_ENUM( SelectGeometryRelationship )
1377
1378
1383 enum class SelectionFlag : int SIP_ENUM_BASETYPE( IntFlag )
1384 {
1385 SingleFeatureSelection = 1 << 0,
1386 ToggleSelection = 1 << 1,
1387 };
1388
1394 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1395
1396 Q_ENUM( SelectionFlag )
1397 Q_FLAG( SelectionFlags )
1398
1399
1405 {
1406 Success = 0,
1407 EmptyGeometry = 1,
1408 EditFailed = 2,
1409 FetchFeatureFailed = 3,
1410 InvalidLayer = 4,
1411 };
1412 Q_ENUM( VectorEditResult )
1413
1414
1420 {
1421 SemiTransparentCircle,
1422 Cross,
1423 NoMarker,
1424 };
1425 Q_ENUM( VertexMarkerType )
1426
1427
1431 enum class ContentStatus : int
1432 {
1433 NotStarted,
1434 Running,
1435 Finished,
1436 Failed,
1437 Canceled,
1438 };
1439 Q_ENUM( ContentStatus )
1440
1441
1446 enum class GpsConnectionType : int
1447 {
1448 Automatic,
1449 Internal,
1450 Serial,
1451 Gpsd,
1452 };
1453 Q_ENUM( GpsConnectionType )
1454
1455
1460 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
1461 {
1462 Disconnected,
1463 Connecting,
1464 Connected,
1465 };
1466 Q_ENUM( DeviceConnectionStatus )
1467
1468
1476 {
1477 NoData,
1478 NoFix,
1479 Fix2D,
1480 Fix3D
1481 };
1483
1484
1491 {
1492 Unknown,
1493 Gps,
1494 Glonass,
1495 Galileo,
1496 BeiDou,
1497 Qzss,
1498 Navic,
1499 Sbas,
1500 };
1502
1509 {
1510 Unknown = -1,
1511 Invalid,
1512 GPS,
1513 DGPS,
1514 PPS,
1515 RTK,
1516 FloatRTK,
1517 Estimated,
1518 Manual,
1519 Simulation,
1520 };
1521 Q_ENUM( GpsQualityIndicator )
1522
1523
1528 enum class GpsInformationComponent : int SIP_ENUM_BASETYPE( IntFlag )
1529 {
1530 Location = 1 << 0,
1531 Altitude = 1 << 1,
1532 GroundSpeed = 1 << 2,
1533 Bearing = 1 << 3,
1534 TotalTrackLength = 1 << 4,
1535 TrackDistanceFromStart = 1 << 5,
1536 Pdop = 1 << 6,
1537 Hdop = 1 << 7,
1538 Vdop = 1 << 8,
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,
1550 };
1551
1558 Q_ENUM( GpsInformationComponent )
1559 Q_FLAG( GpsInformationComponents )
1560
1561
1566 enum class BabelFormatCapability : int SIP_ENUM_BASETYPE( IntFlag )
1567 {
1568 Import = 1 << 0,
1569 Export = 1 << 1,
1570 Waypoints = 1 << 2,
1571 Routes = 1 << 3,
1572 Tracks = 1 << 4,
1573 };
1576 Q_ENUM( BabelFormatCapability )
1577 Q_FLAG( BabelFormatCapabilities )
1578
1579
1585 enum class BabelCommandFlag : int SIP_ENUM_BASETYPE( IntFlag )
1586 {
1587 QuoteFilePaths = 1 << 0,
1588 };
1591 Q_ENUM( BabelCommandFlag )
1592 Q_FLAG( BabelCommandFlags )
1593
1594
1599 enum class GpsFeatureType : int
1600 {
1601 Waypoint,
1602 Route,
1603 Track,
1604 };
1605 Q_ENUM( GpsFeatureType )
1606
1607
1615 {
1616 Success = 0,
1617 NothingHappened = 1000,
1618 InvalidBaseGeometry,
1619 InvalidInputGeometryType,
1620 SelectionIsEmpty,
1621 SelectionIsGreaterThanOne,
1622 GeometryEngineError,
1623 LayerNotEditable,
1624 // Add part issues
1625 AddPartSelectedGeometryNotFound,
1626 AddPartNotMultiGeometry,
1627 // Add ring issues
1628 AddRingNotClosed,
1629 AddRingNotValid,
1630 AddRingCrossesExistingRings,
1631 AddRingNotInExistingFeature,
1632 // Split features
1633 SplitCannotSplitPoint,
1634 GeometryTypeHasChanged,
1635 };
1636 Q_ENUM( GeometryOperationResult )
1637
1638
1644 {
1645 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles ) = 1 << 0,
1646 };
1649 Q_ENUM( GeometryValidityFlag )
1650 Q_FLAG( GeometryValidityFlags )
1651
1652
1657 {
1658 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
1659 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
1660 };
1661 Q_ENUM( GeometryValidationEngine )
1662
1663
1669 {
1670 Left SIP_MONKEYPATCH_COMPAT_NAME( SideLeft ) = 0,
1671 Right SIP_MONKEYPATCH_COMPAT_NAME( SideRight ),
1672 };
1673 Q_ENUM( BufferSide )
1674
1675
1681 {
1682 Round SIP_MONKEYPATCH_COMPAT_NAME( CapRound ) = 1,
1683 Flat SIP_MONKEYPATCH_COMPAT_NAME( CapFlat ),
1684 Square SIP_MONKEYPATCH_COMPAT_NAME( CapSquare ),
1685 };
1686 Q_ENUM( EndCapStyle )
1687
1688
1694 {
1695 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
1696 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
1697 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
1698 };
1699 Q_ENUM( JoinStyle )
1700
1701
1706 enum class CoverageValidityResult : int
1707 {
1708 Invalid = 0,
1709 Valid = 1,
1710 Error = 2,
1711 };
1712 Q_ENUM( CoverageValidityResult )
1713
1714
1719 enum class MakeValidMethod : int
1720 {
1721 Linework = 0,
1722 Structure = 1,
1723 };
1724 Q_ENUM( MakeValidMethod )
1725
1726
1734 {
1735 NoFlags = 0,
1736 NoGeometry = 1,
1737 SubsetOfAttributes = 2,
1738 ExactIntersect = 4,
1739 IgnoreStaticNodesDuringExpressionCompilation = 8,
1740 EmbeddedSymbols = 16,
1741 };
1742 Q_ENUM( FeatureRequestFlag )
1743
1744
1752 Q_FLAG( FeatureRequestFlags )
1753
1762 {
1763 NoFilter SIP_MONKEYPATCH_COMPAT_NAME( FilterNone ),
1764 Fid SIP_MONKEYPATCH_COMPAT_NAME( FilterFid ),
1765 Expression SIP_MONKEYPATCH_COMPAT_NAME( FilterExpression ),
1766 Fids SIP_MONKEYPATCH_COMPAT_NAME( FilterFids )
1767 };
1768 Q_ENUM( FeatureRequestFilterType )
1769
1770
1778 {
1779 NoCheck SIP_MONKEYPATCH_COMPAT_NAME( GeometryNoCheck ) = 0,
1780 SkipInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometrySkipInvalid ) = 1,
1781 AbortOnInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometryAbortOnInvalid ) = 2,
1782 };
1783 Q_ENUM( InvalidGeometryCheck )
1784
1785
1790 enum class SpatialFilterType : int
1791 {
1792 NoFilter,
1793 BoundingBox,
1794 DistanceWithin,
1795 };
1796 Q_ENUM( SpatialFilterType )
1797
1798
1803 enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1804 {
1805 IncludeMetadataFile = 1 << 0,
1806 IncludeStyleFile = 1 << 1,
1807 };
1810 Q_ENUM( FileOperationFlag )
1811 Q_FLAG( FileOperationFlags )
1812
1813
1818 enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
1819 {
1820 UsersCannotToggleEditing = 1 << 0,
1821 IsBasemapLayer = 1 << 1,
1822 };
1825 Q_ENUM( MapLayerProperty )
1826 Q_FLAG( MapLayerProperties )
1827
1828
1833 enum class AutoRefreshMode : int
1834 {
1835 Disabled = 0,
1836 ReloadData = 1,
1837 RedrawOnly = 2,
1838 };
1839 Q_ENUM( AutoRefreshMode )
1840
1841
1846 enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
1847 {
1848 IsBasemapSource = 1 << 1,
1849 FastExtent2D = 1 << 2,
1850 FastExtent3D = 1 << 3,
1851 };
1854 Q_ENUM( DataProviderFlag )
1855 Q_FLAG( DataProviderFlags )
1856
1857
1864 enum class CrsType : int
1865 {
1866 Unknown,
1867 Geodetic,
1868 Geocentric,
1869 Geographic2d,
1870 Geographic3d,
1871 Vertical,
1872 Projected,
1873 Compound,
1874 Temporal,
1875 Engineering,
1876 Bound,
1877 Other,
1878 DerivedProjected,
1879 };
1880 Q_ENUM( CrsType )
1881
1882
1889 enum class CrsAxisDirection : int
1890 {
1891 North,
1892 NorthNorthEast,
1893 NorthEast,
1894 EastNorthEast,
1895 East,
1896 EastSouthEast,
1897 SouthEast,
1898 SouthSouthEast,
1899 South,
1900 SouthSouthWest,
1901 SouthWest,
1902 WestSouthWest,
1903 West,
1904 WestNorthWest,
1905 NorthWest,
1906 NorthNorthWest,
1907 GeocentricX,
1908 GeocentricY,
1909 GeocentricZ,
1910 Up,
1911 Down,
1912 Forward,
1913 Aft,
1914 Port,
1915 Starboard,
1916 Clockwise,
1917 CounterClockwise,
1918 ColumnPositive,
1919 ColumnNegative,
1920 RowPositive,
1921 RowNegative,
1922 DisplayRight,
1923 DisplayLeft,
1924 DisplayUp,
1925 DisplayDown,
1926 Future,
1927 Past,
1928 Towards,
1929 AwayFrom,
1930 Unspecified,
1931 };
1932 Q_ENUM( CrsAxisDirection )
1933
1934
1939 enum class CoordinateOrder : int
1940 {
1941 Default,
1942 XY,
1943 YX,
1944 };
1945 Q_ENUM( CoordinateOrder )
1946
1947
1955 {
1956 ShortString,
1957 MediumString,
1958 FullString,
1959 };
1960 Q_ENUM( CrsIdentifierType )
1961
1962
1970 {
1971 Wkt1Gdal SIP_MONKEYPATCH_COMPAT_NAME( WKT1_GDAL ),
1972 Wkt1Esri SIP_MONKEYPATCH_COMPAT_NAME( WKT1_ESRI ),
1973 Wkt2_2015 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015 ),
1974 Wkt2_2015Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015_SIMPLIFIED ),
1975 Wkt2_2019 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019 ),
1976 Wkt2_2019Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019_SIMPLIFIED ),
1977 Preferred SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED ) = Wkt2_2019,
1978 PreferredSimplified SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_SIMPLIFIED ) = Wkt2_2019Simplified,
1979 PreferredGdal SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_GDAL ) = Wkt2_2019,
1980 };
1981 Q_ENUM( CrsWktVariant )
1982
1983
1988 enum class Axis : int
1989 {
1990 X,
1991 Y,
1992 Z
1993 };
1994 Q_ENUM( Axis )
1995
1996
2001 enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
2002 {
2003 ScaleDependentBoundingBox = 1 << 0,
2004 };
2007 Q_ENUM( AnnotationItemFlag )
2008 Q_FLAG( AnnotationItemFlags )
2009
2010
2015 enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
2016 {
2017 FlagNoCreationTools = 1 << 0,
2018 };
2021 Q_ENUM( AnnotationItemGuiFlag )
2022 Q_FLAG( AnnotationItemGuiFlags )
2023
2024
2029 enum class AnnotationItemNodeType : int
2030 {
2031 VertexHandle,
2032 };
2033 Q_ENUM( AnnotationItemNodeType )
2034
2035
2041 {
2042 Success,
2043 Invalid,
2044 ItemCleared,
2045 };
2046 Q_ENUM( AnnotationItemEditOperationResult )
2047
2048
2056 {
2057 Disabled SIP_MONKEYPATCH_COMPAT_NAME( NavigationOff ),
2058 Animated,
2059 FixedRange,
2060 Movie,
2061 };
2062 Q_ENUM( TemporalNavigationMode )
2063
2064
2072 {
2073 Forward,
2074 Reverse,
2075 Idle,
2076 };
2077 Q_ENUM( AnimationState )
2078
2079
2084 enum class PlaybackOperation : int
2085 {
2086 SkipToStart,
2087 PreviousFrame,
2088 PlayReverse,
2089 Pause,
2090 PlayForward,
2091 NextFrame,
2092 SkipToEnd,
2093 };
2094 Q_ENUM( PlaybackOperation )
2095
2096
2102 {
2103 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2104 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
2105 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
2106 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
2107 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
2108 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ),
2109 };
2110 Q_ENUM( VectorTemporalMode )
2111
2112
2118 {
2119 IncludeBeginExcludeEnd = 0,
2120 IncludeBeginIncludeEnd,
2121 };
2122 Q_ENUM( VectorTemporalLimitMode )
2123
2124
2130 {
2131 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
2132 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
2133 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2134 };
2135 Q_ENUM( VectorDataProviderTemporalMode )
2136
2137
2143 {
2144 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2145 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
2146 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ) = 2,
2147 FixedRangePerBand = 3,
2148 };
2149 Q_ENUM( RasterTemporalMode )
2150
2151
2157 {
2158 MatchUsingWholeRange,
2159 MatchExactUsingStartOfRange,
2160 MatchExactUsingEndOfRange,
2161 FindClosestMatchToStartOfRange,
2162 FindClosestMatchToEndOfRange
2163 };
2164 Q_ENUM( TemporalIntervalMatchMethod )
2165
2166
2172 {
2173 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
2174 };
2175 Q_ENUM( RasterTemporalCapabilityFlag )
2176
2177
2184
2191 {
2192 Forward SIP_MONKEYPATCH_COMPAT_NAME( ForwardTransform ),
2193 Reverse SIP_MONKEYPATCH_COMPAT_NAME( ReverseTransform )
2194 };
2195 Q_ENUM( TransformDirection )
2196
2197
2203 {
2204 BallparkTransformsAreAppropriate = 1 << 0,
2205 IgnoreImpossibleTransformations = 1 << 1,
2206 };
2207 Q_ENUM( CoordinateTransformationFlag )
2208
2209
2216
2223 {
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,
2242 };
2245 Q_ENUM( MapSettingsFlag )
2246 Q_FLAG( MapSettingsFlags )
2247
2248
2254 {
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,
2275 };
2278 Q_ENUM( RenderContextFlag )
2279 Q_FLAG( RenderContextFlags )
2280
2281
2286 enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2287 {
2288 RenderPartialOutputs = 1 << 0,
2289 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2290 };
2291 Q_ENUM( MapLayerRendererFlag )
2292
2293
2299 Q_FLAG( MapLayerRendererFlags )
2300
2301 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
2302 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
2303
2309 {
2310 AlwaysOutlines SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysOutlines ),
2311 AlwaysText SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysText ),
2312 };
2313 Q_ENUM( TextRenderFormat )
2314
2315
2323 {
2324 UseAllLabels = 1 << 1,
2325 UsePartialCandidates = 1 << 2,
2326 // TODO QGIS 4.0: remove
2327 RenderOutlineLabels = 1 << 3,
2328 DrawLabelRectOnly = 1 << 4,
2329 DrawCandidates = 1 << 5,
2330 DrawUnplacedLabels = 1 << 6,
2331 CollectUnplacedLabels = 1 << 7,
2332 DrawLabelMetrics = 1 << 8,
2333 };
2334 Q_ENUM( LabelingFlag )
2335
2336
2344 Q_FLAG( LabelingFlags )
2345
2354 {
2355 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
2356 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
2357 };
2358 Q_ENUM( LabelPlacementEngineVersion )
2359
2360
2368 {
2369 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
2370 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
2371 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
2372 };
2373 Q_ENUM( TextOrientation )
2374
2375
2383 {
2384 Rectangle SIP_MONKEYPATCH_COMPAT_NAME( Rect ),
2385 Point,
2386 Labeling SIP_MONKEYPATCH_COMPAT_NAME( Label ),
2387 RectangleCapHeightBased,
2388 RectangleAscentBased,
2389 };
2390 Q_ENUM( TextLayoutMode )
2391
2392
2400 {
2401 Text,
2402 Buffer,
2403 Background,
2404 Shadow,
2405 };
2406 Q_ENUM( TextComponent )
2407
2408
2416 {
2417 Left SIP_MONKEYPATCH_COMPAT_NAME( AlignLeft ),
2418 Center SIP_MONKEYPATCH_COMPAT_NAME( AlignCenter ),
2419 Right SIP_MONKEYPATCH_COMPAT_NAME( AlignRight ),
2420 Justify SIP_MONKEYPATCH_COMPAT_NAME( AlignJustify ),
2421 };
2422 Q_ENUM( TextHorizontalAlignment )
2423
2424
2435 {
2436 Top SIP_MONKEYPATCH_COMPAT_NAME( AlignTop ),
2437 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
2438 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
2439 };
2440 Q_ENUM( TextVerticalAlignment )
2441
2442
2451 {
2452 Normal,
2453 SuperScript,
2454 SubScript,
2455 };
2456 Q_ENUM( TextCharacterVerticalAlignment )
2457
2458
2464 {
2465 Generic,
2466 ShadowOffset,
2467 BlurSize,
2468 GlowSpread,
2469 };
2470 Q_ENUM( RenderSubcomponentProperty )
2471
2472
2477 {
2478 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
2479 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
2480 };
2481 Q_ENUM( VertexType )
2482
2483
2491 {
2492 Square,
2493 Diamond,
2494 Pentagon,
2495 Hexagon,
2496 Triangle,
2497 EquilateralTriangle,
2498 Star,
2499 Arrow,
2500 Circle,
2501 Cross,
2502 CrossFill,
2503 Cross2,
2504 Line,
2505 ArrowHead,
2506 ArrowHeadFilled,
2507 SemiCircle,
2508 ThirdCircle,
2509 QuarterCircle,
2510 QuarterSquare,
2511 HalfSquare,
2512 DiagonalHalfSquare,
2513 RightHalfTriangle,
2514 LeftHalfTriangle,
2515 Octagon,
2516 SquareWithCorners,
2517 AsteriskFill,
2518 HalfArc,
2519 ThirdArc,
2520 QuarterArc,
2521 ParallelogramRight,
2522 ParallelogramLeft,
2523 Trapezoid,
2524 Shield,
2525 DiamondStar,
2526 Heart,
2527 Decagon,
2528 RoundedSquare,
2529 };
2530 Q_ENUM( MarkerShape )
2531
2532
2540 {
2541 Interval = 1 << 0,
2542 Vertex = 1 << 1,
2543 LastVertex = 1 << 2,
2544 FirstVertex = 1 << 3,
2545 CentralPoint = 1 << 4,
2546 CurvePoint = 1 << 5,
2547 SegmentCenter = 1 << 6,
2548 InnerVertices = 1 << 7,
2549 };
2550 Q_ENUM( MarkerLinePlacement )
2552 Q_FLAG( MarkerLinePlacements )
2553
2562 {
2563 SimpleTwoColor,
2564 ColorRamp,
2565 };
2566 Q_ENUM( GradientColorSource )
2567
2568
2576 {
2577 Linear,
2578 Radial,
2579 Conical,
2580 };
2581 Q_ENUM( GradientType )
2582
2583
2591 {
2592 Feature,
2593 Viewport,
2594 };
2595 Q_ENUM( SymbolCoordinateReference )
2596
2597
2606 {
2607 Pad,
2608 Reflect,
2609 Repeat,
2610 };
2611 Q_ENUM( GradientSpread )
2612
2613
2621 {
2622 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
2623 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
2624 };
2625 Q_ENUM( PointCountMethod )
2626
2627
2632 enum class MarkerClipMode : int
2633 {
2634 NoClipping,
2635 Shape,
2636 CentroidWithin,
2637 CompletelyWithin,
2638 };
2639 Q_ENUM( MarkerClipMode )
2640
2641
2646 enum class LineClipMode : int
2647 {
2648 ClipPainterOnly,
2649 ClipToIntersection,
2650 NoClipping,
2651 };
2652 Q_ENUM( LineClipMode )
2653
2654
2660 {
2661 NoRule,
2662 FullDash,
2663 HalfDash,
2664 FullGap,
2665 HalfGap,
2666 };
2667 Q_ENUM( DashPatternLineEndingRule )
2668
2669
2675 {
2676 ScaleBothDashAndGap,
2677 ScaleDashOnly,
2678 ScaleGapOnly,
2679 };
2680 Q_ENUM( DashPatternSizeAdjustment )
2681
2682
2690 {
2691 Color SIP_MONKEYPATCH_COMPAT_NAME( GraduatedColor ),
2692 Size SIP_MONKEYPATCH_COMPAT_NAME( GraduatedSize ),
2693 };
2694 Q_ENUM( GraduatedMethod )
2695
2696
2702 {
2703 NoLabels,
2704 EveryLabel,
2705 FirstLabel,
2706 LastLabel,
2707 FirstAndLastLabels,
2708 };
2709 Q_ENUM( PlotAxisSuffixPlacement )
2710
2711
2715 enum class DpiMode
2716 {
2717 All = 7,
2718 Off = 0,
2719 QGIS = 1,
2720 UMN = 2,
2721 GeoServer = 4,
2722 };
2723 Q_ENUM( DpiMode )
2724
2725
2730 {
2731 Undefined = 0,
2732 StandardDpi = 1,
2733 HighDpi = 2,
2734 };
2735 Q_ENUM( TilePixelRatio )
2736
2737 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
2738
2739
2747 {
2748 MixedCase = 0,
2749 AllUppercase = 1,
2750 AllLowercase = 2,
2751 ForceFirstLetterToCapital = 4,
2752 SmallCaps = 5,
2753 TitleCase = 1004,
2754 UpperCamelCase = 1005,
2755 AllSmallCaps = 1006,
2756 };
2757 Q_ENUM( Capitalization )
2758
2759
2764 enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2765 {
2766 WrapLines = 1 << 0,
2767 };
2768 Q_ENUM( TextRendererFlag )
2770 Q_FLAG( TextRendererFlags )
2771
2778 {
2779 MapBox,
2780 Esri,
2781 };
2783
2790 {
2791 Clockwise,
2792 CounterClockwise,
2793 NoOrientation,
2794 };
2795 Q_ENUM( AngularDirection )
2796
2797
2802 enum class RendererUsage : int
2803 {
2804 View,
2805 Export,
2806 Unknown,
2807 };
2808 Q_ENUM( RendererUsage )
2809
2810
2815 enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
2816 {
2817 Sync3DTo2D = 1 << 0,
2818 Sync2DTo3D = 1 << 1,
2819 };
2820 Q_ENUM( ViewSyncModeFlag )
2822
2829 {
2830 Always,
2831 WhenOutsideVisibleExtent,
2832 Never,
2833 };
2834 Q_ENUM( MapRecenteringMode )
2835
2836
2841 enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
2842 {
2843 LocalProfile = 1 << 0,
2844// Project = 1 << 1, //!< QGIS Project (not yet implemented)
2845 };
2846 Q_ENUM( HistoryProviderBackend )
2848 Q_FLAG( HistoryProviderBackends )
2849
2858 {
2859 MapLayer SIP_MONKEYPATCH_COMPAT_NAME( TypeMapLayer ) = -2,
2860 VectorAnyGeometry SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorAnyGeometry ) = -1,
2861 VectorPoint SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPoint ) = 0,
2862 VectorLine SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorLine ) = 1,
2863 VectorPolygon SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPolygon ) = 2,
2864 Raster SIP_MONKEYPATCH_COMPAT_NAME( TypeRaster ) = 3,
2865 File SIP_MONKEYPATCH_COMPAT_NAME( TypeFile ) = 4,
2866 Vector SIP_MONKEYPATCH_COMPAT_NAME( TypeVector ) = 5,
2867 Mesh SIP_MONKEYPATCH_COMPAT_NAME( TypeMesh ) = 6,
2868 Plugin SIP_MONKEYPATCH_COMPAT_NAME( TypePlugin ) = 7,
2869 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( TypePointCloud ) = 8,
2870 Annotation SIP_MONKEYPATCH_COMPAT_NAME( TypeAnnotation ) = 9,
2871 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorTile ) = 10
2872 };
2873 Q_ENUM( ProcessingSourceType )
2874
2875
2876
2884 {
2885 DeemphasiseSearchResults SIP_MONKEYPATCH_COMPAT_NAME( FlagDeemphasiseSearchResults ) = 1 << 1,
2886 CompatibleWithVirtualRaster SIP_MONKEYPATCH_COMPAT_NAME( FlagCompatibleWithVirtualRaster ) = 1 << 2,
2887 };
2889
2898 Q_FLAG( ProcessingProviderFlags )
2899
2900
2908 {
2909 HideFromToolbox SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromToolbox ) = 1 << 1,
2910 HideFromModeler SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromModeler ) = 1 << 2,
2911 SupportsBatch SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsBatch ) = 1 << 3,
2912 CanCancel SIP_MONKEYPATCH_COMPAT_NAME( FlagCanCancel ) = 1 << 4,
2913 RequiresMatchingCrs SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresMatchingCrs ) = 1 << 5,
2914 NoThreading SIP_MONKEYPATCH_COMPAT_NAME( FlagNoThreading ) = 1 << 6,
2915 DisplayNameIsLiteral SIP_MONKEYPATCH_COMPAT_NAME( FlagDisplayNameIsLiteral ) = 1 << 7,
2916 SupportsInPlaceEdits SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsInPlaceEdits ) = 1 << 8,
2917 KnownIssues SIP_MONKEYPATCH_COMPAT_NAME( FlagKnownIssues ) = 1 << 9,
2918 CustomException SIP_MONKEYPATCH_COMPAT_NAME( FlagCustomException ) = 1 << 10,
2919 PruneModelBranchesBasedOnAlgorithmResults SIP_MONKEYPATCH_COMPAT_NAME( FlagPruneModelBranchesBasedOnAlgorithmResults ) = 1 << 11,
2920 SkipGenericModelLogging SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGenericModelLogging ) = 1 << 12,
2921 NotAvailableInStandaloneTool SIP_MONKEYPATCH_COMPAT_NAME( FlagNotAvailableInStandaloneTool ) = 1 << 13,
2922 RequiresProject SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresProject ) = 1 << 14,
2923 Deprecated SIP_MONKEYPATCH_COMPAT_NAME( FlagDeprecated ) = HideFromToolbox | HideFromModeler,
2924 };
2926
2935 Q_FLAG( ProcessingAlgorithmFlags )
2936
2937
2946 {
2947 NotAvailable,
2948 Available,
2949 };
2950 Q_ENUM( ProcessingPropertyAvailability )
2951
2952
2960 {
2961 DefaultLevel = 0,
2962 Verbose,
2963 ModelDebug,
2964 };
2965 Q_ENUM( ProcessingLogLevel )
2966
2967
2975 {
2976 OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck ) = 1 << 0,
2977 CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature ) = 1 << 1,
2978 };
2979 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
2980
2981
2990
2999 {
3000 SkipGeometryValidityChecks SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGeometryValidityChecks ) = 1 << 1,
3001 };
3002 Q_ENUM( ProcessingFeatureSourceFlag )
3003
3004
3013
3025 {
3026 ExposeToModeler = 1
3027 };
3028 Q_ENUM( ProcessingParameterTypeFlag )
3029
3030
3042
3051 {
3052 Advanced SIP_MONKEYPATCH_COMPAT_NAME( FlagAdvanced ) = 1 << 1,
3053 Hidden SIP_MONKEYPATCH_COMPAT_NAME( FlagHidden ) = 1 << 2,
3054 Optional SIP_MONKEYPATCH_COMPAT_NAME( FlagOptional ) = 1 << 3,
3055 IsModelOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagIsModelOutput ) = 1 << 4,
3056 };
3057 Q_ENUM( ProcessingParameterFlag )
3058
3059
3067 Q_FLAG( ProcessingParameterFlags )
3068
3077 {
3078 File = 0,
3079 Folder,
3080 };
3081 Q_ENUM( ProcessingFileParameterBehavior )
3082
3083
3091 {
3092 Integer,
3093 Double,
3094 };
3095 Q_ENUM( ProcessingNumberParameterType )
3096
3097
3105 {
3106 Any = -1,
3107 Numeric = 0,
3108 String = 1,
3109 DateTime = 2,
3110 Binary = 3,
3111 Boolean = 4,
3112 };
3113 Q_ENUM( ProcessingFieldParameterDataType )
3114
3115
3123 {
3124 DateTime,
3125 Date,
3126 Time,
3127 };
3128 Q_ENUM( ProcessingDateTimeParameterDataType )
3129
3130
3136 {
3137 ModelParameter,
3138 ChildOutput,
3139 StaticValue,
3140 Expression,
3141 ExpressionText,
3142 ModelOutput,
3143 };
3144 Q_ENUM( ProcessingModelChildParameterSource )
3145
3146
3154 {
3155 Vertices,
3156 StructureLines,
3157 BreakLines
3158 };
3159 Q_ENUM( ProcessingTinInputLayerType )
3160
3161
3167 {
3168 Wkt SIP_MONKEYPATCH_COMPAT_NAME( FormatWkt ),
3169 Proj SIP_MONKEYPATCH_COMPAT_NAME( FormatProj ),
3170 };
3171 Q_ENUM( CrsDefinitionFormat )
3172
3173
3181 enum class FieldDomainSplitPolicy : int
3182 {
3183 DefaultValue,
3184 Duplicate,
3185 GeometryRatio,
3186 UnsetField,
3187 };
3188 Q_ENUM( FieldDomainSplitPolicy )
3189
3190
3198 enum class FieldDomainMergePolicy : int
3199 {
3200 DefaultValue,
3201 Sum,
3202 GeometryWeighted,
3203 };
3204 Q_ENUM( FieldDomainMergePolicy )
3205
3206
3211 enum class FieldDomainType : int
3212 {
3213 Coded,
3214 Range,
3215 Glob,
3216 };
3217 Q_ENUM( FieldDomainType )
3218
3219
3224 enum class TransactionMode : int
3225 {
3226 Disabled = 0,
3227 AutomaticGroups = 1,
3228 BufferedGroups = 2,
3229 };
3230 Q_ENUM( TransactionMode )
3231
3232
3237 enum class AltitudeClamping : int
3238 {
3239 Absolute,
3240 Relative,
3241 Terrain,
3242 };
3243 Q_ENUM( AltitudeClamping )
3244
3245
3250 enum class AltitudeBinding : int
3251 {
3252 Vertex,
3253 Centroid,
3254 };
3255 Q_ENUM( AltitudeBinding )
3256
3257
3262 enum class RangeLimits : int
3263 {
3264 IncludeBoth = 0,
3265 IncludeLowerExcludeUpper,
3266 ExcludeLowerIncludeUpper,
3267 ExcludeBoth,
3268 };
3269 Q_ENUM( RangeLimits )
3270
3271
3276 enum class RasterElevationMode : int
3277 {
3278 FixedElevationRange = 0,
3279 RepresentsElevationSurface = 1,
3280 FixedRangePerBand = 2,
3281 DynamicRangePerBand = 3,
3282 };
3283 Q_ENUM( RasterElevationMode )
3284
3285
3290 enum class MeshElevationMode : int
3291 {
3292 FixedElevationRange = 0,
3293 FromVertices = 1
3294 };
3295 Q_ENUM( MeshElevationMode )
3296
3297
3303 {
3304 NoConstraint,
3305 Perpendicular,
3306 Parallel
3307 };
3308 Q_ENUM( BetweenLineConstraint )
3309
3310
3315 enum class LineExtensionSide : int
3316 {
3317 BeforeVertex,
3318 AfterVertex,
3319 NoVertex,
3320 };
3321 Q_ENUM( LineExtensionSide )
3322
3323
3324
3328 enum class CadConstraintType : int
3329 {
3330 Generic,
3331 Angle,
3332 Distance,
3333 XCoordinate,
3334 YCoordinate,
3335 ZValue,
3336 MValue,
3337 };
3338 Q_ENUM( CadConstraintType )
3339
3340
3341
3346 enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
3347 {
3348 EvaluateDefaultValuesOnProviderSide = 1 << 0,
3349 TrustStoredLayerStatistics = 1 << 1,
3350 RememberLayerEditStatusBetweenSessions = 1 << 2,
3351 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
3352 };
3353 Q_ENUM( ProjectFlag )
3354 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
3355 Q_FLAG( ProjectFlags )
3356
3362 enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
3363 {
3364 ShowContextMenu = 1 << 0,
3365 };
3366 Q_ENUM( PlotToolFlag )
3367 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
3368 Q_FLAG( PlotToolFlags )
3369
3370
3378 enum class Point3DShape : int
3379 {
3380 Cylinder,
3381 Sphere,
3382 Cone,
3383 Cube,
3384 Torus,
3385 Plane,
3386 ExtrudedText,
3387 Model,
3388 Billboard,
3389 };
3390 Q_ENUM( Point3DShape )
3391
3392
3397 enum class LightSourceType : int
3398 {
3399 Point,
3400 Directional,
3401 };
3402 Q_ENUM( LightSourceType )
3403
3404
3409 enum class NavigationMode : int
3410 {
3411 TerrainBased,
3412 Walk
3413 };
3414 Q_ENUM( NavigationMode )
3415
3416
3421 enum class VerticalAxisInversion : int
3422 {
3423 Never,
3424 WhenDragging,
3425 Always,
3426 };
3427 Q_ENUM( VerticalAxisInversion )
3428
3429
3435 {
3436 Line,
3437 FillBelow,
3438 FillAbove,
3439 };
3441
3447 enum class VectorProfileType : int
3448 {
3449 IndividualFeatures,
3450 ContinuousSurface,
3451 };
3453
3459 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
3460 {
3461 RespectsMaximumErrorMapUnit = 1 << 0,
3462 RespectsDistanceRange = 1 << 1,
3463 RespectsElevationRange = 1 << 2,
3464 };
3465 Q_ENUM( ProfileGeneratorFlag )
3467 Q_FLAG( ProfileGeneratorFlags )
3468
3474 enum class ProfileExportType : int
3475 {
3476 Features3D,
3477 Profile2D,
3478 DistanceVsElevationTable,
3479 };
3481
3488 {
3489 Square,
3490 Circle,
3491 };
3492 Q_ENUM( PointCloudSymbol )
3493
3494
3500 {
3501 Default,
3502 BottomToTop,
3503 TopToBottom,
3504 };
3505 Q_ENUM( PointCloudDrawOrder )
3506
3507
3515 {
3516 AllowIntersections,
3517 AvoidIntersectionsCurrentLayer,
3518 AvoidIntersectionsLayers,
3519 };
3520 Q_ENUM( AvoidIntersectionsMode )
3521
3522
3530 {
3531 Qgz,
3532 Qgs,
3533 };
3534 Q_ENUM( ProjectFileFormat )
3535
3536
3544 {
3545 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers ) = 1 << 0,
3546 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts ) = 1 << 1,
3547 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata ) = 1 << 2,
3548 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
3549 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
3550 DontLoadProjectStyles = 1 << 5,
3551 ForceReadOnlyLayers = 1 << 6,
3552 };
3553 Q_ENUM( ProjectReadFlag )
3554
3555
3563 Q_FLAG( ProjectReadFlags )
3564
3573 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
3574 {
3575 ProjectStyles = 1 << 0,
3576 };
3577 Q_ENUM( ProjectCapability )
3578
3579
3585 Q_FLAG( ProjectCapabilities )
3586
3593 {
3594 Vector,
3595 Raster,
3596 RasterDem,
3597 GeoJson,
3598 Image,
3599 Video,
3600 Unknown,
3601 };
3602 Q_ENUM( MapBoxGlStyleSourceType )
3603
3604
3612 {
3613 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
3614 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
3615 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
3616 GlobeServer,
3617 GPServer,
3618 GeocodeServer,
3619 Unknown,
3620 };
3621 Q_ENUM( ArcGisRestServiceType )
3622
3623
3631 {
3632 Normal,
3633 Generated,
3634 };
3635 Q_ENUM( RelationshipType )
3636
3637
3645 {
3646 Association,
3647 Composition,
3648 };
3649 Q_ENUM( RelationshipStrength )
3650
3651
3657 {
3658 OneToOne,
3659 OneToMany,
3660 ManyToOne,
3661 ManyToMany,
3662 };
3663 Q_ENUM( RelationshipCardinality )
3664
3665
3670 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
3671 {
3672 MultipleFieldKeys = 1 << 0,
3673 ForwardPathLabel = 1 << 1,
3674 BackwardPathLabel = 1 << 2,
3675 };
3676 Q_ENUM( RelationshipCapability )
3677
3678
3684 Q_FLAG( RelationshipCapabilities )
3685
3691 enum class CoordinateDisplayType : int
3692 {
3693 MapCrs,
3694 MapGeographic,
3695 CustomCrs,
3696 };
3697 Q_ENUM( CoordinateDisplayType )
3698
3699
3704 enum class SettingsOrigin : int
3705 {
3706 Any,
3707 Global,
3708 Local,
3709 };
3710 Q_ENUM( SettingsOrigin )
3711
3712
3717 enum class ScriptLanguage : int
3718 {
3719 Css,
3720 QgisExpression,
3721 Html,
3722 JavaScript,
3723 Json,
3724 Python,
3725 R,
3726 Sql,
3727 Batch,
3728 Bash,
3729 Unknown,
3730 };
3731 Q_ENUM( ScriptLanguage )
3732
3733
3741 {
3742 Reformat = 1 << 0,
3743 CheckSyntax = 1 << 1,
3744 ToggleComment = 1 << 2,
3745 };
3746 Q_ENUM( ScriptLanguageCapability )
3747
3748
3755
3762 {
3763 AboveInsertionPoint,
3764 TopOfTree,
3765 OptimalInInsertionGroup,
3766 };
3767 Q_ENUM( LayerTreeInsertionMethod )
3768
3769
3774 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
3775 {
3776 SkipVisibilityCheck = 1 << 0,
3777 };
3778 Q_ENUM( LayerTreeFilterFlag )
3779
3780
3786 Q_FLAG( LayerTreeFilterFlags )
3787
3788
3796 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
3797 {
3798 ShowRuleDetails = 1 << 0,
3799 };
3800 Q_ENUM( LegendJsonRenderFlag )
3802 Q_FLAG( LegendJsonRenderFlags )
3803
3811 enum class ActionType : int
3812 {
3813 Invalid,
3814 MapLayerAction,
3815 AttributeAction
3816 };
3817 Q_ENUM( ActionType )
3818
3819
3826 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
3827 {
3828 Layer = 1 << 0,
3829 SingleFeature = 1 << 1,
3830 MultipleFeatures = 1 << 2,
3831 AllActions = Layer | SingleFeature | MultipleFeatures
3832 };
3833 Q_ENUM( MapLayerActionTarget )
3834
3835
3843 Q_FLAG( MapLayerActionTargets )
3844
3852 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
3853 {
3854 EnabledOnlyWhenEditable = 1 << 1,
3855 };
3856 Q_ENUM( MapLayerActionFlag )
3857
3858
3866 Q_FLAG( MapLayerActionFlags )
3867
3876 {
3877 Generic,
3878 GenericPython,
3879 Mac,
3880 Windows,
3881 Unix,
3882 OpenUrl,
3883 SubmitUrlEncoded,
3884 SubmitUrlMultipart,
3885 };
3886 Q_ENUM( AttributeActionType )
3887
3888
3894 {
3895 Created,
3896 Published,
3897 Revised,
3898 Superseded,
3899 };
3900 Q_ENUM( MetadataDateType )
3901
3902
3912 {
3913 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
3914 GrayIndex = 1,
3915 PaletteIndex = 2,
3916 RedBand = 3,
3917 GreenBand = 4,
3918 BlueBand = 5,
3919 AlphaBand = 6,
3920 HueBand = 7,
3921 SaturationBand = 8,
3922 LightnessBand = 9,
3923 CyanBand = 10,
3924 MagentaBand = 11,
3925 YellowBand = 12,
3926 BlackBand = 13,
3927 YCbCr_YBand = 14,
3928 YCbCr_CbBand = 15,
3929 YCbCr_CrBand = 16,
3930 ContinuousPalette = 17
3931 };
3932 Q_ENUM( RasterColorInterpretation )
3933
3934
3942 {
3943 GrayOrUndefined,
3944 Palette,
3945 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
3946 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
3947 };
3948 Q_ENUM( RasterLayerType )
3949
3950
3958 {
3959 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
3960 SingleBandGray,
3961 SingleBandPseudoColor,
3962 PalettedColor,
3963 PalettedSingleBandGray,
3964 PalettedSingleBandPseudoColor,
3965 PalettedMultiBandColor,
3966 MultiBandSingleBandGray,
3967 MultiBandSingleBandPseudoColor,
3968 MultiBandColor,
3969 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
3970 };
3971 Q_ENUM( RasterDrawingStyle )
3972
3973
3980 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
3981 {
3982 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
3983 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
3984 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
3985 };
3986 Q_ENUM( RasterPyramidFormat )
3987
3988
3996 {
3997 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
3998 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
3999 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
4000 };
4001 Q_ENUM( RasterBuildPyramidOption )
4002
4003
4011 {
4012 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
4013 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
4014 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
4015 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
4016 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
4017 };
4018 Q_ENUM( RasterIdentifyFormat )
4019
4020
4026 {
4027 HighestElevation,
4028 NewerElevation,
4029 };
4030 Q_ENUM( ElevationMapCombineMethod )
4031
4032
4041 {
4042 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
4043 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
4044 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
4045 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
4046 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
4047 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
4048 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
4049 Burn SIP_MONKEYPATCH_COMPAT_NAME( BlendBurn ),
4050 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
4051 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
4052 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
4053 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
4054 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
4055 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
4056 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
4057 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
4058 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
4059 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
4060 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
4061 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
4062 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
4063 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
4064 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
4065 Xor SIP_MONKEYPATCH_COMPAT_NAME( BlendXor ),
4066 };
4067 Q_ENUM( BlendMode )
4068
4069
4077 {
4078 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
4079 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
4080 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
4081 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
4082 };
4083 Q_ENUM( SystemOfMeasurement )
4084
4085
4092 {
4093 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
4094 Pixels,
4095 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
4096 };
4097 Q_ENUM( MapToolUnit )
4098
4099
4107 {
4108 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
4109 Area SIP_MONKEYPATCH_COMPAT_NAME( TypeArea ),
4110 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
4111 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
4112 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
4113 };
4114 Q_ENUM( UnitType )
4115
4116
4124 {
4125 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
4126 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
4127 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
4128 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
4129 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
4130 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
4131 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
4132 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
4133 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
4134 Inches,
4135 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
4136 };
4137 Q_ENUM( DistanceUnit )
4138
4139
4147 {
4148 Standard,
4149 Geographic,
4150 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
4151 };
4152 Q_ENUM( DistanceUnitType )
4153
4154
4162 {
4163 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
4164 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
4165 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
4166 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
4167 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
4168 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
4169 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
4170 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
4171 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
4172 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
4173 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
4174 SquareInches,
4175 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
4176 };
4177 Q_ENUM( AreaUnit )
4178
4179
4187 {
4188 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
4189 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
4190 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
4191 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
4192 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
4193 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
4194 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
4195 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
4196 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
4197 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
4198 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
4199 };
4200 Q_ENUM( VolumeUnit )
4201
4202
4210 {
4211 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
4212 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
4213 Gon SIP_MONKEYPATCH_COMPAT_NAME( AngleGon ),
4214 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
4215 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
4216 Turn SIP_MONKEYPATCH_COMPAT_NAME( AngleTurn ),
4217 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
4218 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
4219 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
4220 };
4221 Q_ENUM( AngleUnit )
4222
4223
4231 {
4232 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
4233 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
4234 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
4235 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
4236 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
4237 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
4238 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
4239 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
4240 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
4241 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
4242 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
4243 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
4244 };
4245 Q_ENUM( TemporalUnit )
4246
4247
4255 {
4256 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
4257 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
4258 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
4259 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
4260 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
4261 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
4262 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
4263 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
4264 };
4265 Q_ENUM( RenderUnit )
4266
4267
4275 {
4276 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
4277 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
4278 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
4279 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
4280 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
4281 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
4282 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
4283 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
4284 };
4285 Q_ENUM( LayoutUnit )
4286
4287
4295 {
4296 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
4297 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
4298 };
4299 Q_ENUM( LayoutUnitType )
4300
4301
4306 enum class InputControllerType : int
4307 {
4308 Map2D,
4309 Map3D
4310 };
4312
4319 {
4320 NotSet,
4321 Unknown,
4322 OrdinaryTable,
4323 Index,
4324 Sequence,
4325 View,
4326 MaterializedView,
4327 CompositeType,
4328 ToastTable,
4329 ForeignTable,
4330 PartitionedTable,
4331 };
4332 Q_ENUM( PostgresRelKind )
4333
4334
4340 {
4341 SetFieldComment = 1 << 0,
4342 SetFieldAlias = 1 << 1,
4343 };
4344 Q_ENUM( DatabaseProviderConnectionCapability2 )
4347
4354 {
4355 SaveToDatabase = 1 << 1,
4356 LoadFromDatabase = 1 << 2,
4357 DeleteFromDatabase = 1 << 3
4358 };
4362
4363
4369 {
4370 LastProfile,
4371 DefaultProfile,
4372 AskUser,
4373 };
4374 Q_ENUM( UserProfileSelectionPolicy )
4375
4376
4384 {
4385 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
4386 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
4387 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
4388 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
4389 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
4390 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
4391 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
4392 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
4393 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
4394 };
4395 Q_ENUM( AttributeEditorType )
4396
4397
4403 {
4404 GroupBox,
4405 Tab,
4406 Row,
4407 };
4408 Q_ENUM( AttributeEditorContainerType )
4409
4410
4418 {
4419 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
4420 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
4421 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
4422 };
4423 Q_ENUM( AttributeFormLayout )
4424
4425
4433 {
4434 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
4435 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
4436 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
4437 };
4438 Q_ENUM( AttributeFormSuppression )
4439
4440
4448 {
4449 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
4450 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
4451 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
4452 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
4453 };
4454 Q_ENUM( AttributeFormPythonInitCodeSource )
4455
4456
4462 {
4463 Qgis,
4464 PointCloud,
4465 RasterCalculator,
4466 };
4467 Q_ENUM( ExpressionType )
4468
4469
4477 {
4478 NoSymbology = 0,
4479 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
4480 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
4481 };
4482 Q_ENUM( FeatureSymbologyExport )
4483
4484
4489 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
4490 {
4491 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
4492 };
4493 Q_ENUM( VectorTileProviderFlag )
4494
4495
4501 Q_FLAG( VectorTileProviderFlags )
4502
4508 {
4509 ReadLayerMetadata = 1 << 1,
4510 };
4511 Q_ENUM( VectorTileProviderCapability )
4512
4513
4520
4527 {
4528 Available,
4529 NotAvailable,
4530 AvailableNoChildren,
4531 UseLowerZoomLevelTile,
4532 };
4533 Q_ENUM( TileAvailability )
4534
4535
4541 {
4542 ReadLayerMetadata = 1 << 1,
4543 };
4544 Q_ENUM( TiledSceneProviderCapability )
4545
4546
4553
4560 {
4561 Region,
4562 OrientedBox,
4563 Sphere,
4564 };
4565 Q_ENUM( TiledSceneBoundingVolumeType )
4566
4567
4576 {
4577 Replacement,
4578 Additive,
4579 };
4580 Q_ENUM( TileRefinementProcess )
4581
4582
4588 {
4589 NoChildren,
4590 Available,
4591 NeedFetching,
4592 };
4593 Q_ENUM( TileChildrenAvailability )
4594
4595
4600 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
4601 {
4602 NoHierarchyFetch = 1 << 0,
4603 };
4604 Q_ENUM( TiledSceneRequestFlag )
4605
4606
4612 Q_FLAG( TiledSceneRequestFlags )
4613
4619 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
4620 {
4621 RequiresTextures = 1 << 0,
4622 ForceRasterRender = 1 << 1,
4623 RendersTriangles = 1 << 2,
4624 RendersLines = 1 << 3,
4625 };
4626 Q_ENUM( TiledSceneRendererFlag )
4627
4628
4634 Q_FLAG( TiledSceneRendererFlags )
4635
4641 enum class GdalResampleAlgorithm : int
4642 {
4643 RA_NearestNeighbour = 0,
4644 RA_Bilinear = 1,
4645 RA_Cubic = 2,
4646 RA_CubicSpline = 3,
4647 RA_Lanczos = 4,
4648 RA_Average = 5,
4649 RA_Mode = 6,
4650 RA_Max = 8,
4651 RA_Min = 9,
4652 RA_Median = 10,
4653 RA_Q1 = 11,
4654 RA_Q3 = 12,
4655 };
4656 Q_ENUM( GdalResampleAlgorithm )
4657
4658
4659
4664 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
4665 {
4666 Count = 1,
4667 Sum = 2,
4668 Mean = 4,
4669 Median = 8,
4670 StDev = 16,
4671 Min = 32,
4672 Max = 64,
4673 Range = 128,
4674 Minority = 256,
4675 Majority = 512,
4676 Variety = 1024,
4677 Variance = 2048,
4678 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
4679 Default = Count | Sum | Mean,
4680 };
4681 Q_ENUM( ZonalStatistic )
4682
4683
4689 Q_FLAG( ZonalStatistics )
4690
4696 enum class ZonalStatisticResult : int
4697 {
4698 Success = 0,
4699 LayerTypeWrong = 1,
4700 LayerInvalid,
4701 RasterInvalid,
4702 RasterBandInvalid,
4703 FailedToCreateField = 8,
4704 Canceled = 9
4705 };
4706 Q_ENUM( ZonalStatisticResult )
4707
4708
4715 {
4716 Count,
4717 CountDistinct,
4718 CountMissing,
4719 Min,
4720 Max,
4721 Sum,
4722 Mean,
4723 Median,
4724 StDev,
4725 StDevSample,
4726 Range,
4727 Minority,
4728 Majority,
4729 FirstQuartile,
4730 ThirdQuartile,
4731 InterQuartileRange,
4732 StringMinimumLength,
4733 StringMaximumLength,
4734 StringConcatenate,
4735 GeometryCollect,
4736 ArrayAggregate,
4737 StringConcatenateUnique
4738 };
4739 Q_ENUM( Aggregate )
4740
4741
4747 {
4748 Count = 1 << 0,
4749 CountMissing = 1 << 15,
4750 Sum = 1 << 1,
4751 Mean = 1 << 2,
4752 Median = 1 << 3,
4753 StDev = 1 << 4,
4754 StDevSample = 1 << 5,
4755 Min = 1 << 6,
4756 Max = 1 << 7,
4757 Range = 1 << 8,
4758 Minority = 1 << 9,
4759 Majority = 1 << 10,
4760 Variety = 1 << 11,
4761 FirstQuartile = 1 << 12,
4762 ThirdQuartile = 1 << 13,
4763 InterQuartileRange = 1 << 14,
4764 First = 1 << 16,
4765 Last = 1 << 17,
4766 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
4767 };
4768 Q_ENUM( Statistic )
4769
4770
4776 Q_FLAG( Statistics )
4777
4784 {
4785 Count = 1,
4786 CountDistinct = 2,
4787 CountMissing = 4,
4788 Min = 8,
4789 Max = 16,
4790 Range = 32,
4791 All = Count | CountDistinct | CountMissing | Min | Max | Range,
4792 };
4793 Q_ENUM( DateTimeStatistic )
4794
4795
4801 Q_FLAG( DateTimeStatistics )
4802
4809 {
4810 Count = 1,
4811 CountDistinct = 2,
4812 CountMissing = 4,
4813 Min = 8,
4814 Max = 16,
4815 MinimumLength = 32,
4816 MaximumLength = 64,
4817 MeanLength = 128,
4818 Minority = 256,
4819 Majority = 512,
4820 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
4821 };
4822 Q_ENUM( StringStatistic )
4823
4824
4830 Q_FLAG( StringStatistics )
4831
4838 {
4839 NoStatistic = 0,
4840 Min = 1,
4841 Max = 1 << 1,
4842 Range = 1 << 2,
4843 Sum = 1 << 3,
4844 Mean = 1 << 4,
4845 StdDev = 1 << 5,
4846 SumOfSquares = 1 << 6,
4847 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
4848 };
4849 Q_ENUM( RasterBandStatistic )
4850
4851
4857 Q_FLAG( RasterBandStatistics )
4858
4864 enum class SensorThingsEntity : int
4865 {
4866 Invalid,
4867 Thing,
4868 Location,
4869 HistoricalLocation,
4870 Datastream,
4871 Sensor,
4872 ObservedProperty,
4873 Observation,
4874 FeatureOfInterest,
4875 };
4876 Q_ENUM( SensorThingsEntity )
4877
4878
4881 static const double DEFAULT_SEARCH_RADIUS_MM;
4882
4884 static const float DEFAULT_MAPTOPIXEL_THRESHOLD;
4885
4891 static const QColor DEFAULT_HIGHLIGHT_COLOR;
4892
4896 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
4897
4901 static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
4902
4908 static const double SCALE_PRECISION;
4909
4914 static const double DEFAULT_Z_COORDINATE;
4915
4921 static const double DEFAULT_M_COORDINATE;
4922
4927 static const double UI_SCALE_FACTOR;
4928
4932 static const double DEFAULT_SNAP_TOLERANCE;
4933
4937 static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS;
4938
4944 static QString defaultProjectScales();
4945
4951 static int geosVersionInt();
4952
4958 static int geosVersionMajor();
4959
4965 static int geosVersionMinor();
4966
4972 static int geosVersionPatch();
4973
4979 static QString geosVersion();
4980};
4981
4984
5053
5054
5055// hack to workaround warnings when casting void pointers
5056// retrieved from QLibrary::resolve to function pointers.
5057// It's assumed that this works on all systems supporting
5058// QLibrary
5059#define cast_to_fptr(f) f
5060
5061
5069// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
5070template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
5071{
5072 public:
5073
5078 explicit QgsSignalBlocker( Object *object )
5079 : mObject( object )
5080 , mPreviousState( object->blockSignals( true ) )
5081 {}
5082
5084 {
5085 mObject->blockSignals( mPreviousState );
5086 }
5087
5089 Object *operator->() { return mObject; }
5090
5091 private:
5092
5093 Object *mObject = nullptr;
5094 bool mPreviousState;
5095
5096};
5097
5110// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
5111template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
5112{
5113 return QgsSignalBlocker<Object>( object );
5114}
5115
5117CORE_EXPORT uint qHash( const QVariant &variant );
5118
5124inline QString qgsDoubleToString( double a, int precision = 17 )
5125{
5126 QString str;
5127 if ( precision )
5128 {
5129 if ( precision < 0 )
5130 {
5131 const double roundFactor = std::pow( 10, -precision );
5132 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
5133 }
5134 else
5135 {
5136 str = QString::number( a, 'f', precision );
5137 if ( str.contains( QLatin1Char( '.' ) ) )
5138 {
5139 // remove ending 0s
5140 int idx = str.length() - 1;
5141 while ( str.at( idx ) == '0' && idx > 1 )
5142 {
5143 idx--;
5144 }
5145 if ( idx < str.length() - 1 )
5146 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
5147 }
5148 }
5149 }
5150 else
5151 {
5152 str = QString::number( a, 'f', precision );
5153 }
5154 // avoid printing -0
5155 // see https://bugreports.qt.io/browse/QTBUG-71439
5156 if ( str == QLatin1String( "-0" ) )
5157 {
5158 return QLatin1String( "0" );
5159 }
5160 return str;
5161}
5162
5169inline bool qgsNanCompatibleEquals( double a, double b )
5170{
5171 const bool aIsNan = std::isnan( a );
5172 const bool bIsNan = std::isnan( b );
5173 if ( aIsNan || bIsNan )
5174 return aIsNan && bIsNan;
5175
5176 return a == b;
5177}
5178
5179#ifndef SIP_RUN
5180
5188template<typename T>
5189inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
5190{
5191 const bool aIsNan = std::isnan( a );
5192 const bool bIsNan = std::isnan( b );
5193 if ( aIsNan || bIsNan )
5194 return aIsNan && bIsNan;
5195
5196 const T diff = a - b;
5197 return diff >= -epsilon && diff <= epsilon;
5198}
5199#endif
5200
5207inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
5208{
5209 return qgsNumberNear<double>( a, b, epsilon );
5210}
5211
5218inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
5219{
5220 return qgsNumberNear<float>( a, b, epsilon );
5221}
5222
5224inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
5225{
5226 const bool aIsNan = std::isnan( a );
5227 const bool bIsNan = std::isnan( b );
5228 if ( aIsNan || bIsNan )
5229 return aIsNan && bIsNan;
5230
5231 // The most simple would be to print numbers as %.xe and compare as strings
5232 // but that is probably too costly
5233 // Then the fastest would be to set some bits directly, but little/big endian
5234 // has to be considered (maybe TODO)
5235 // Is there a better way?
5236 int aexp, bexp;
5237 const double ar = std::frexp( a, &aexp );
5238 const double br = std::frexp( b, &bexp );
5239
5240 return aexp == bexp &&
5241 std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
5242}
5243
5248inline double qgsRound( double number, int places )
5249{
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;
5253}
5254
5255#ifndef SIP_RUN
5256
5263template<class Key, class Value>
5264QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
5265{
5266 QString result;
5267 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
5268 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
5269
5270 result.chop( separator.size() );
5271 return result;
5272}
5273
5280template<class Key, class Value>
5281QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
5282{
5283 QString result;
5284 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
5285 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
5286
5287 result.chop( separator.size() );
5288 return result;
5289}
5290
5297template<class T>
5298QString qgsSetJoin( const QSet<T> &set, const QString &separator )
5299{
5300 QString result;
5301 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
5302 result += QString( "%1%2" ).arg( *it ).arg( separator );
5303
5304 result.chop( separator.size() );
5305 return result;
5306}
5307
5309
5319namespace qgis
5320{
5321
5334 template<typename To, typename From> inline To down_cast( From *f )
5335 {
5336 static_assert(
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 );
5342 }
5343
5344 template<class T>
5345 QSet<T> listToSet( const QList<T> &list )
5346 {
5347 return QSet<T>( list.begin(), list.end() );
5348 }
5349
5350 template<class T>
5351 QList<T> setToList( const QSet<T> &set )
5352 {
5353 return QList<T>( set.begin(), set.end() );
5354 }
5355}
5356
5358#endif
5359
5364template<class T> const QList<T> qgsEnumList() SIP_SKIP
5365{
5366 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5367 Q_ASSERT( metaEnum.isValid() );
5368 QList<T> enumList;
5369 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
5370 {
5371 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
5372 }
5373 return enumList;
5374}
5375
5381template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
5382{
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 )
5387 {
5388 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
5389 }
5390 return enumMap;
5391}
5392
5398template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
5399{
5400 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5401 Q_ASSERT( metaEnum.isValid() );
5402 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
5403 if ( returnOk )
5404 {
5405 *returnOk = key ? true : false;
5406 }
5407 return QString::fromUtf8( key );
5408}
5409
5417template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
5418{
5419 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5420 Q_ASSERT( metaEnum.isValid() );
5421 bool ok = false;
5422 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
5423 if ( returnOk )
5424 {
5425 *returnOk = ok;
5426 }
5427 if ( ok )
5428 {
5429 return v;
5430 }
5431 else
5432 {
5433 // if conversion has failed, try with conversion from int value
5434 if ( tryValueAsKey )
5435 {
5436 bool canConvert = false;
5437 const int intValue = key.toInt( &canConvert );
5438 if ( canConvert && metaEnum.valueToKey( intValue ) )
5439 {
5440 if ( returnOk )
5441 {
5442 *returnOk = true;
5443 }
5444 return static_cast<T>( intValue );
5445 }
5446 }
5447 }
5448 return defaultValue;
5449}
5450
5456template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
5457{
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 );
5462 // check that the int value does correspond to a flag
5463 // see https://stackoverflow.com/a/68495949/1548052
5464 const int intValueCheck = metaEnum.keysToValue( ba );
5465 bool ok = intValue == intValueCheck;
5466 if ( returnOk )
5467 *returnOk = ok;
5468 return ok ? QString::fromUtf8( ba ) : QString();
5469}
5470
5478template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
5479{
5480 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5481 Q_ASSERT( metaEnum.isValid() );
5482 bool ok = false;
5483 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
5484 if ( returnOk )
5485 {
5486 *returnOk = ok;
5487 }
5488 if ( ok )
5489 {
5490 return v;
5491 }
5492 else
5493 {
5494 // if conversion has failed, try with conversion from int value
5495 if ( tryValueAsKey )
5496 {
5497 bool canConvert = false;
5498 const int intValue = keys.toInt( &canConvert );
5499 if ( canConvert )
5500 {
5501 const QByteArray keys = metaEnum.valueToKeys( intValue );
5502 const int intValueCheck = metaEnum.keysToValue( keys );
5503 if ( intValue == intValueCheck )
5504 {
5505 if ( returnOk )
5506 {
5507 *returnOk = true;
5508 }
5509 return T( intValue );
5510 }
5511 }
5512 }
5513 }
5514 return defaultValue;
5515}
5516
5517
5526CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
5527
5536CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
5537
5547CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
5548
5558CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
5559
5568CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
5569
5576CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
5577
5578#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
5579
5586inline bool operator> ( const QVariant &v1, const QVariant &v2 )
5587{
5588 return qgsVariantGreaterThan( v1, v2 );
5589}
5590
5600inline bool operator< ( const QVariant &v1, const QVariant &v2 )
5601{
5602 return qgsVariantLessThan( v1, v2 );
5603}
5604#endif
5605
5606
5607#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
5608
5612template<> CORE_EXPORT bool qMapLessThanKey<QVariantList>( const QVariantList &key1, const QVariantList &key2 ) SIP_SKIP;
5613#endif
5614
5615CORE_EXPORT QString qgsVsiPrefix( const QString &path );
5616
5622void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
5623
5628void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
5629
5630#ifndef SIP_RUN
5631
5632#ifdef _MSC_VER
5633#define CONSTLATIN1STRING inline const QLatin1String
5634#else
5635#define CONSTLATIN1STRING constexpr QLatin1String
5636#endif
5637
5639class ScopedIntIncrementor
5640{
5641 public:
5642
5643 ScopedIntIncrementor( int *variable )
5644 : mVariable( variable )
5645 {
5646 ( *mVariable )++;
5647 }
5648
5649 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
5650 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
5651
5652 void release()
5653 {
5654 if ( mVariable )
5655 ( *mVariable )--;
5656
5657 mVariable = nullptr;
5658 }
5659
5660 ~ScopedIntIncrementor()
5661 {
5662 release();
5663 }
5664
5665 private:
5666 int *mVariable = nullptr;
5667};
5669
5675{
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]] )"""
5678 );
5679}
5680
5683{
5684 return QLatin1String( "+proj=longlat +datum=WGS84 +no_defs" );
5685}
5686
5689{
5690 return QLatin1String( "EPSG:4326" );
5691}
5692
5695{
5696 return QLatin1String( "NONE" );
5697}
5698
5700
5702const int PREVIEW_JOB_DELAY_MS = 250;
5703
5705const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
5706
5708
5709#endif
5710
5712const long GEOSRID = 4326;
5713
5715const long GEOCRS_ID = 3452;
5716
5718const long GEO_EPSG_CRS_ID = 4326;
5719
5724const int USER_CRS_START_ID = 100000;
5725
5726//
5727// Constants for point symbols
5728//
5729
5731const double DEFAULT_POINT_SIZE = 2.0;
5732const double DEFAULT_LINE_WIDTH = 0.26;
5733
5735const double DEFAULT_SEGMENT_EPSILON = 1e-8;
5736
5737typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
5738
5747typedef unsigned long long qgssize;
5748
5749#ifndef SIP_RUN
5750#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
5751
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
5759
5760#elif defined(_MSC_VER)
5761
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))
5772
5773#else
5774
5775#define Q_NOWARN_DEPRECATED_PUSH
5776#define Q_NOWARN_DEPRECATED_POP
5777#define Q_NOWARN_UNREACHABLE_PUSH
5778#define Q_NOWARN_UNREACHABLE_POP
5779
5780#endif
5781#endif
5782
5783#ifndef QGISEXTERN
5784#ifdef Q_OS_WIN
5785# define QGISEXTERN extern "C" __declspec( dllexport )
5786#else
5787# if defined(__GNUC__) || defined(__clang__)
5788# define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
5789# else
5790# define QGISEXTERN extern "C"
5791# endif
5792#endif
5793#endif
5794#endif
5795
5796// see https://infektor.net/posts/2017-01-19-using-cpp17-attributes-today.html#using-the-nodiscard-attribute
5797#if __cplusplus >= 201703L
5798#define NODISCARD [[nodiscard]]
5799#elif defined(__clang__)
5800#define NODISCARD [[nodiscard]]
5801#elif defined(_MSC_VER)
5802#define NODISCARD // no support
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]]
5808#else
5809#define NODISCARD Q_REQUIRED_RESULT
5810#endif
5811#else
5812#define NODISCARD Q_REQUIRED_RESULT
5813#endif
5814
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)
5820#define MAYBE_UNUSED // no support
5821#elif defined(__has_cpp_attribute)
5822#if __has_cpp_attribute(gnu::unused)
5823#define MAYBE_UNUSED [[gnu::unused]]
5824#else
5825#define MAYBE_UNUSED
5826#endif
5827#else
5828#define MAYBE_UNUSED
5829#endif
5830
5831#ifndef FINAL
5832#define FINAL final
5833#endif
5834
5835#ifndef SIP_RUN
5836#ifdef _MSC_VER
5837#define BUILTIN_UNREACHABLE \
5838 __assume(false);
5839#elif defined(__GNUC__) && !defined(__clang__)
5840// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
5841// like:
5842// switch( mVariableThatCanOnlyBeXorY )
5843// {
5844// case X:
5845// return "foo";
5846// case Y:
5847// return "foo";
5848// }
5849// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
5850#define BUILTIN_UNREACHABLE \
5851 __builtin_unreachable();
5852#else
5853#define BUILTIN_UNREACHABLE
5854#endif
5855#endif // SIP_RUN
5856
5857#ifdef SIP_RUN
5858
5863QString CORE_EXPORT geoWkt();
5864
5866QString CORE_EXPORT geoProj4();
5867
5869QString CORE_EXPORT geoEpsgCrsAuthId();
5870
5872QString CORE_EXPORT geoNone();
5873
5874#endif
The Qgis class provides global constants for use throughout the application.
Definition: qgis.h:54
DistanceUnitType
Types of distance units.
Definition: qgis.h:4147
GnssConstellation
GNSS constellation.
Definition: qgis.h:1491
SettingsOption
Settings options.
Definition: qgis.h:515
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition: qgis.h:3460
ProcessingSourceType
Processing data source types.
Definition: qgis.h:2858
GpsQualityIndicator
GPS signal quality indicator.
Definition: qgis.h:1509
DataItemProviderCapability
Capabilities for data item providers.
Definition: qgis.h:711
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition: qgis.h:3077
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
Definition: qgis.h:2298
ProjectReadFlag
Flags which control project read behavior.
Definition: qgis.h:3544
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
Definition: qgis.h:1590
MapToolUnit
Type of unit of tolerance value from settings.
Definition: qgis.h:4092
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition: qgis.h:2702
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
Definition: qgis.h:1557
PointCloudSymbol
Rendering symbols for point cloud points.
Definition: qgis.h:3488
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
Definition: qgis.h:574
GeometryValidityFlag
Geometry validity check flags.
Definition: qgis.h:1644
ExpressionType
Expression types.
Definition: qgis.h:4462
MapLayerActionFlag
Map layer action flags.
Definition: qgis.h:3853
MapLayerProperty
Generic map layer properties.
Definition: qgis.h:1819
BufferSide
Side of line to buffer.
Definition: qgis.h:1669
RasterResamplingStage
Stage at which raster resampling occurs.
Definition: qgis.h:1138
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
Definition: qgis.h:3842
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
Definition: qgis.h:4508
AltitudeClamping
Altitude clamping.
Definition: qgis.h:3238
VectorTileProviderFlag
Flags for vector tile data providers.
Definition: qgis.h:4490
VectorTemporalMode
Vector layer temporal feature modes.
Definition: qgis.h:2102
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
Definition: qgis.h:1107
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
Definition: qgis.h:3584
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition: qgis.h:994
CoordinateDisplayType
Formats for displaying coordinates.
Definition: qgis.h:3692
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
Definition: qgis.h:3025
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition: qgis.h:2675
GpsFixStatus
GPS fix status.
Definition: qgis.h:1476
AnnotationItemNodeType
Annotation item node types.
Definition: qgis.h:2030
static const char * QGIS_DEV_VERSION
The development version.
Definition: qgis.h:82
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition: qgis.h:805
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
Definition: qgis.h:2244
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
Definition: qgis.h:1955
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
Definition: qgis.h:1161
AngularDirection
Angular directions.
Definition: qgis.h:2790
DriveType
Drive types.
Definition: qgis.h:858
UnitType
Unit types.
Definition: qgis.h:4107
ContentStatus
Status for fetched or stored content.
Definition: qgis.h:1432
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
Definition: qgis.h:1394
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition: qgis.h:540
LayoutUnit
Layout measurement units.
Definition: qgis.h:4275
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition: qgis.h:3645
Q_ENUM(GnssConstellation)
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition: qgis.h:2540
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Definition: qgis.h:3562
Point3DShape
3D point shape types.
Definition: qgis.h:3379
GeometryOperationResult
Success or failure of a geometry operation.
Definition: qgis.h:1615
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
Definition: qgis.h:4829
BrowserItemState
Browser item states.
Definition: qgis.h:674
AttributeEditorContainerType
Attribute editor container types.
Definition: qgis.h:4403
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
Definition: qgis.h:4551
FeatureRequestFilterType
Types of feature request filters.
Definition: qgis.h:1762
MarkerClipMode
Marker clipping modes.
Definition: qgis.h:2633
AnnotationItemFlag
Flags for annotation items.
Definition: qgis.h:2002
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition: qgis.h:2464
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Definition: qgis.h:3154
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Definition: qgis.h:1853
Statistic
Available generic statistics.
Definition: qgis.h:4747
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition: qgis.h:560
AngleUnit
Units of angles.
Definition: qgis.h:4210
CaptureTechnique
Capture technique.
Definition: qgis.h:294
SpatialIndexPresence
Enumeration of spatial index presence states.
Definition: qgis.h:349
BrowserItemCapability
Browser item capabilities.
Definition: qgis.h:687
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition: qgis.h:4433
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition: qgis.h:3785
LayerTreeInsertionMethod
Layer tree insertion methods.
Definition: qgis.h:3762
LineClipMode
Line clipping modes.
Definition: qgis.h:2647
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
Definition: qgis.h:1648
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition: qgis.h:760
SettingsTreeNodeType
Type of tree node.
Definition: qgis.h:445
TilePixelRatio
DpiMode enum.
Definition: qgis.h:2730
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition: qgis.h:4340
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition: qgis.h:960
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
Definition: qgis.h:3466
GradientColorSource
Gradient color sources.
Definition: qgis.h:2562
FileFilterType
Type of file filters.
Definition: qgis.h:1073
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition: qgis.h:914
RasterLayerType
Raster layer types.
Definition: qgis.h:3942
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
Definition: qgis.h:313
RasterPyramidFormat
Raster pyramid formats.
Definition: qgis.h:3981
VectorExportResult
Vector layer export result codes.
Definition: qgis.h:784
DistanceUnit
Units of distance.
Definition: qgis.h:4124
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition: qgis.h:2172
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition: qgis.h:618
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition: qgis.h:2606
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
Definition: qgis.h:2020
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition: qgis.h:1019
ScaleMethod
Scale methods.
Definition: qgis.h:415
SldExportOption
SLD export options.
Definition: qgis.h:487
FilePathType
File path types.
Definition: qgis.h:1280
CadConstraintType
Advanced digitizing constraint type.
Definition: qgis.h:3329
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition: qgis.h:4448
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition: qgis.h:2621
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
Definition: qgis.h:502
LayerTreeFilterFlag
Layer tree filter flags.
Definition: qgis.h:3775
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition: qgis.h:4418
FeatureRequestFlag
Flags for controlling feature requests.
Definition: qgis.h:1734
VertexType
Types of vertex.
Definition: qgis.h:2477
DataProviderFlag
Generic data provider flags.
Definition: qgis.h:1847
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg)
Definition: qgis.h:4642
GeometryValidationEngine
Available engines for validating geometries.
Definition: qgis.h:1657
TransactionMode
Transaction mode.
Definition: qgis.h:3225
Q_ENUM(ScaleToTileZoomLevelMethod)
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition: qgis.h:4026
RasterDrawingStyle
Raster drawing styles.
Definition: qgis.h:3958
GpsInformationComponent
GPS information component.
Definition: qgis.h:1529
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition: qgis.h:2816
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition: qgis.h:2884
FileOperationFlag
File operation flags.
Definition: qgis.h:1804
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
Definition: qgis.h:727
ProjectCapability
Flags which control project capabilities.
Definition: qgis.h:3574
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
Definition: qgis.h:1575
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Definition: qgis.h:623
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
Definition: qgis.h:3876
TemporalNavigationMode
Temporal navigation modes.
Definition: qgis.h:2056
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition: qgis.h:3105
AreaUnit
Units of area.
Definition: qgis.h:4162
StringStatistic
Available string statistics.
Definition: qgis.h:4809
FieldDomainMergePolicy
Merge policy for field domains.
Definition: qgis.h:3199
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
Definition: qgis.h:4665
MessageLevel
Level for messages This will be used both for message log and message bar in application.
Definition: qgis.h:99
SqlKeywordCategory
SqlKeywordCategory enum represents the categories of the SQL keywords used by the SQL query editor.
Definition: qgis.h:840
QFlags< SnappingType > SnappingTypes
Snapping types.
Definition: qgis.h:551
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition: qgis.h:2690
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
Definition: qgis.h:1009
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
Definition: qgis.h:4560
TextLayoutMode
Text layout modes.
Definition: qgis.h:2383
PropertyType
Property types.
Definition: qgis.h:473
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition: qgis.h:2277
LayerFilter
Filter for layers.
Definition: qgis.h:133
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
Definition: qgis.h:1111
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition: qgis.h:1152
CrsType
Coordinate reference system types.
Definition: qgis.h:1865
SensorThingsEntity
OGC SensorThings API entity types.
Definition: qgis.h:4865
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition: qgis.h:1263
FieldDomainSplitPolicy
Split policy for field domains.
Definition: qgis.h:3182
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition: qgis.h:3612
RasterFileWriterResult
Raster file export results.
Definition: qgis.h:1246
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition: qgis.h:2041
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
Definition: qgis.h:2946
MapRecenteringMode
Modes for recentering map canvases.
Definition: qgis.h:2829
ActionType
Action types.
Definition: qgis.h:3812
ActionStart
Enum to determine when an operation would begin.
Definition: qgis.h:875
PlaybackOperation
Media playback operations.
Definition: qgis.h:2085
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
Definition: qgis.h:646
QFlags< TextRendererFlag > TextRendererFlags
Definition: qgis.h:2769
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition: qgis.h:4354
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition: qgis.h:3515
MarkerShape
Marker shapes.
Definition: qgis.h:2491
LegendJsonRenderFlag
Legend JSON export flags.
Definition: qgis.h:3797
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition: qgis.h:4041
RasterElevationMode
Raster layer elevation modes.
Definition: qgis.h:3277
Capitalization
String capitalization options.
Definition: qgis.h:2747
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition: qgis.h:2157
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition: qgis.h:1031
LabelQuadrantPosition
Label quadrant positions.
Definition: qgis.h:974
QFlags< PlotToolFlag > PlotToolFlags
Definition: qgis.h:3367
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition: qgis.h:2778
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition: qgis.h:1090
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
Definition: qgis.h:815
TextOrientation
Text orientations.
Definition: qgis.h:2368
PythonMacroMode
Authorisation to run Python Macros.
Definition: qgis.h:321
TemporalUnit
Temporal units.
Definition: qgis.h:4231
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
Definition: qgis.h:1182
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
Definition: qgis.h:605
UnplacedLabelVisibility
Unplaced label visibility.
Definition: qgis.h:887
CrsDefinitionFormat
CRS definition formats.
Definition: qgis.h:3167
SpatialFilterType
Feature request spatial filter types.
Definition: qgis.h:1791
QFlags< ProcessingParameterTypeFlag > ProcessingParameterTypeFlags
Flags which dictate the behavior of Processing parameter types.
Definition: qgis.h:3040
TileAvailability
Possible availability states for a tile within a tile matrix.
Definition: qgis.h:4527
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition: qgis.h:3347
BrowserItemType
Browser item types.
Definition: qgis.h:655
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
Definition: qgis.h:1751
SettingsType
Types of settings entries.
Definition: qgis.h:426
QFlags< SettingsOption > SettingsOptions
Definition: qgis.h:520
RasterTemporalMode
Raster layer temporal modes.
Definition: qgis.h:2143
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition: qgis.h:1220
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition: qgis.h:2323
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition: qgis.h:255
RelationshipType
Relationship types.
Definition: qgis.h:3631
ScriptLanguageCapability
Script language capabilities.
Definition: qgis.h:3741
JoinStyle
Join styles for buffers.
Definition: qgis.h:1694
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition: qgis.h:3500
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
Definition: qgis.h:4856
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition: qgis.h:2451
UserProfileSelectionPolicy
User profile selection policy.
Definition: qgis.h:4369
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Definition: qgis.h:1809
DpiMode
DpiMode enum.
Definition: qgis.h:2716
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition: qgis.h:736
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition: qgis.h:2934
AltitudeBinding
Altitude binding.
Definition: qgis.h:3251
Q_ENUM(ProcessingProviderFlag)
TiledSceneRendererFlag
Flags which control how tiled scene 2D renderers behave.
Definition: qgis.h:4620
MapLayerActionTarget
Map layer action targets.
Definition: qgis.h:3827
ZonalStatisticResult
Zonal statistics result codes.
Definition: qgis.h:4697
ScriptLanguage
Scripting languages.
Definition: qgis.h:3718
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
Definition: qgis.h:700
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
Definition: qgis.h:368
TiledSceneProviderCapability
Tiled scene data provider capabilities.
Definition: qgis.h:4541
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition: qgis.h:1057
RasterBandStatistic
Available raster band statistics.
Definition: qgis.h:4838
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
Definition: qgis.h:4518
QFlags< ZonalStatistic > ZonalStatistics
Statistics to be calculated during a zonal statistics operation.
Definition: qgis.h:4688
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition: qgis.h:2130
TextRenderFormat
Options for rendering text.
Definition: qgis.h:2309
DataType
Raster data types.
Definition: qgis.h:269
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
Definition: qgis.h:2821
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition: qgis.h:1097
SystemOfMeasurement
Systems of unit measurement.
Definition: qgis.h:4077
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
Definition: qgis.h:1191
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition: qgis.h:3422
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
Definition: qgis.h:2214
RelationshipCapability
Relationship capabilities.
Definition: qgis.h:3671
RasterBuildPyramidOption
Raster pyramid building options.
Definition: qgis.h:3996
NavigationMode
The navigation mode used by 3D cameras.
Definition: qgis.h:3410
TileChildrenAvailability
Possible availability states for a tile's children.
Definition: qgis.h:4588
LayerType
Types of layers that can be added to a map.
Definition: qgis.h:114
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
Definition: qgis.h:2006
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
Definition: qgis.h:4775
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition: qgis.h:3363
RenderUnit
Rendering size units.
Definition: qgis.h:4255
CoordinateOrder
Order of coordinates.
Definition: qgis.h:1940
SelectionFlag
Flags which control feature selection behavior.
Definition: qgis.h:1384
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
Definition: qgis.h:462
EndCapStyle
End cap styles for buffers.
Definition: qgis.h:1681
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
Definition: qgis.h:4611
QFlags< MapLayerActionFlag > MapLayerActionFlags
Map layer action flags.
Definition: qgis.h:3865
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
Definition: qgis.h:1824
BabelCommandFlag
Babel command flags, which control how commands and arguments are generated for executing GPSBabel pr...
Definition: qgis.h:1586
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
Definition: qgis.h:2343
FieldDomainType
Types of field domain.
Definition: qgis.h:3212
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition: qgis.h:2287
RenderContextFlag
Flags which affect rendering operations.
Definition: qgis.h:2254
RasterPipeInterfaceRole
Raster pipe interface roles.
Definition: qgis.h:1121
CoverageValidityResult
Coverage validity results.
Definition: qgis.h:1707
Aggregate
Available aggregates to calculate.
Definition: qgis.h:4715
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
Definition: qgis.h:600
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
Definition: qgis.h:2016
MapBoxGlStyleSourceType
Available MapBox GL style source types.
Definition: qgis.h:3593
LayoutUnitType
Types of layout units.
Definition: qgis.h:4295
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
Definition: qgis.h:381
DashPatternLineEndingRule
Dash pattern line ending rules.
Definition: qgis.h:2660
FieldMetadataProperty
Standard field metadata values.
Definition: qgis.h:1332
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition: qgis.h:4601
RasterRendererCapability
Raster renderer capabilities.
Definition: qgis.h:1172
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition: qgis.h:1420
HistoryProviderBackend
History provider backends.
Definition: qgis.h:2842
RasterExportType
Raster file export types.
Definition: qgis.h:1233
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition: qgis.h:1292
TextVerticalAlignment
Text vertical alignment.
Definition: qgis.h:2435
RelationshipCardinality
Relationship cardinality.
Definition: qgis.h:3657
GradientType
Gradient types.
Definition: qgis.h:2576
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
Definition: qgis.h:3753
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition: qgis.h:3448
GpsFeatureType
GPS feature types.
Definition: qgis.h:1600
VectorLayerTypeFlag
Vector layer type flags.
Definition: qgis.h:308
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition: qgis.h:1720
RangeLimits
Describes how the limits of a range are handled.
Definition: qgis.h:3263
QFlags< ProjectFlag > ProjectFlags
Definition: qgis.h:3354
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition: qgis.h:2118
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition: qgis.h:3066
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
Definition: qgis.h:823
VectorEditResult
Specifies the result of a vector layer edit operation.
Definition: qgis.h:1405
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
Definition: qgis.h:393
Axis
Cartesian axes.
Definition: qgis.h:1989
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
Definition: qgis.h:3683
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition: qgis.h:565
VolumeUnit
Units of volume.
Definition: qgis.h:4187
AttributeEditorType
Attribute editor types.
Definition: qgis.h:4384
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
Definition: qgis.h:3801
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
Definition: qgis.h:4360
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
Definition: qgis.h:636
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition: qgis.h:1778
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition: qgis.h:591
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition: qgis.h:2988
ProfileExportType
Types of export for elevation profiles.
Definition: qgis.h:3475
MeshElevationMode
Mesh layer elevation modes.
Definition: qgis.h:3291
ProjectFileFormat
Flags which control project read behavior.
Definition: qgis.h:3530
SnappingMode
SnappingMode defines on which layer the snapping is performed.
Definition: qgis.h:528
SymbolType
Symbol types.
Definition: qgis.h:401
RasterColorInterpretation
Raster color interpretation.
Definition: qgis.h:3912
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition: qgis.h:3435
LabelPlacementEngineVersion
Labeling placement engine version.
Definition: qgis.h:2354
Q_ENUM(ProcessingAlgorithmFlag)
RendererUsage
Usage of the renderer.
Definition: qgis.h:2803
SettingsTreeNodeOption
Options for named list nodes.
Definition: qgis.h:457
BabelFormatCapability
Babel GPS format capabilities.
Definition: qgis.h:1567
PostgresRelKind
Postgres database relkind options.
Definition: qgis.h:4319
GpsConnectionType
GPS connection types.
Definition: qgis.h:1447
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
Definition: qgis.h:4345
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
Definition: qgis.h:2975
BetweenLineConstraint
Between line constraints which can be enabled.
Definition: qgis.h:3303
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
Definition: qgis.h:4500
MetadataDateType
Date types for metadata.
Definition: qgis.h:3894
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
Definition: qgis.h:2182
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
Definition: qgis.h:2999
RasterIdentifyFormat
Raster identify formats.
Definition: qgis.h:4011
TextHorizontalAlignment
Text horizontal alignment.
Definition: qgis.h:2416
SymbolFlag
Flags controlling behavior of symbols.
Definition: qgis.h:586
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition: qgis.h:3316
HttpMethod
Different methods of HTTP requests.
Definition: qgis.h:772
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition: qgis.h:182
QFlags< SldExportOption > SldExportOptions
Definition: qgis.h:493
SymbolCoordinateReference
Symbol coordinate reference modes.
Definition: qgis.h:2591
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition: qgis.h:2897
TileRefinementProcess
Tiled scene tile refinement processes.
Definition: qgis.h:4576
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
Definition: qgis.h:4800
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition: qgis.h:1345
InputControllerType
Input controller types.
Definition: qgis.h:4307
TextRendererFlag
Flags which control the behavior of rendering text.
Definition: qgis.h:2765
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition: qgis.h:1372
CrsAxisDirection
Coordinate reference system axis directions.
Definition: qgis.h:1890
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition: qgis.h:3136
QFlags< MarkerLinePlacement > MarkerLinePlacements
Definition: qgis.h:2551
CrsWktVariant
Coordinate reference system WKT formatting variants.
Definition: qgis.h:1970
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
Definition: qgis.h:4633
AutoRefreshMode
Map layer automatic refresh modes.
Definition: qgis.h:1834
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition: qgis.h:2908
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition: qgis.h:1308
SettingsOrigin
The setting origin describes where a setting is stored.
Definition: qgis.h:3705
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
Definition: qgis.h:3051
LabelOverlapHandling
Label overlap handling.
Definition: qgis.h:899
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition: qgis.h:4477
QFlags< LayerFilter > LayerFilters
Definition: qgis.h:151
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition: qgis.h:3123
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition: qgis.h:2203
TextComponent
Text components.
Definition: qgis.h:2400
DateTimeStatistic
Available date/time statistics.
Definition: qgis.h:4784
AnimationState
Animation states.
Definition: qgis.h:2072
TransformDirection
Indicates the direction (forward or inverse) of a transform.
Definition: qgis.h:2191
LightSourceType
Light source types for 3D scenes.
Definition: qgis.h:3398
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
Definition: qgis.h:3011
QFlags< HistoryProviderBackend > HistoryProviderBackends
Definition: qgis.h:2847
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition: qgis.h:935
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition: qgis.h:1323
UpsideDownLabelHandling
Handling techniques for upside down labels.
Definition: qgis.h:1042
DeviceConnectionStatus
GPS connection status.
Definition: qgis.h:1461
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition: qgis.h:3091
MapSettingsFlag
Flags which adjust the way maps are rendered.
Definition: qgis.h:2223
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
Definition: qgis.h:831
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
Definition: qgis.h:2960
SelectBehavior
Specifies how a selection should be applied.
Definition: qgis.h:1358
Utility class that encapsulates an action based on vector attributes.
Definition: qgsaction.h:37
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).
Class for doing transforms between two map coordinate systems.
Abstract base class for curved geometry type.
Definition: qgscurve.h:35
Base class for all items in the model.
Definition: qgsdataitem.h:46
Abstract base class for spatial data provider implementations.
Calculator for summary statistics and aggregates for a list of datetimes.
Contains configuration settings for an editor form.
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.
Definition: qgsgeometry.h:162
Encapsulates information relating to a GPS position fix.
Stores global configuration for labeling engine.
Contains constants and enums relating to labeling.
Definition: qgslabeling.h:32
Item that represents a layer that can be opened with one of the providers.
Definition: qgslayeritem.h:31
The QgsMapLayerProxyModel class provides an easy to use model to display the list of layers in widget...
Base class for all map layer types.
Definition: qgsmaplayer.h:75
The QgsMapSettings class contains configuration for rendering of the map.
Registry for temporary fetched files.
Contains miscellaneous painting utility functions.
Definition: qgspainting.h:32
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.
A parameter for processing algorithms that need a list of input vector layers to construct a TIN.
Makes metadata of processing parameters available.
Abstract base class for processing providers.
Contains enumerations and other constants for use in processing algorithms and parameters.
Definition: qgsprocessing.h:41
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition: qgsproject.h:107
A store for object properties.
Definition: qgsproperty.h:228
Holds data provider key, description, and associated shared library file or function pointer informat...
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.
Definition: qgsrasterpipe.h:50
Raster namespace.
Definition: qgsraster.h:32
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.
Definition: qgis.h:5071
Object * operator->()
Returns pointer to blocked QObject.
Definition: qgis.h:5089
~QgsSignalBlocker()
Definition: qgis.h:5083
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition: qgis.h:5078
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.
Definition: qgssymbol.h:94
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.
Definition: qgstextformat.h:41
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.
Definition: qgstolerance.h:33
Helper functions for various unit types.
Definition: qgsunittypes.h:39
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.
Definition: qgswkbtypes.h:42
FeatureCountState
Enumeration of feature count states.
Definition: qgis.h:336
@ 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
#define str(x)
Definition: qgis.cpp:38
CONSTLATIN1STRING geoNone()
Constant that holds the string representation for "No ellips/No CRS".
Definition: qgis.h:5694
const double DEFAULT_LINE_WIDTH
Definition: qgis.h:5732
CORE_EXPORT uint qHash(const QVariant &variant)
Hash for QVariant.
Definition: qgis.cpp:198
bool operator>(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is greater than the second.
Definition: qgis.h:5586
CORE_EXPORT QString qgsVsiPrefix(const QString &path)
Definition: qgis.cpp:193
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...
Definition: qgis.cpp:247
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.
Definition: qgis.h:5417
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition: qgis.h:5124
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.
Definition: qgis.h:5281
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition: qgis.h:5398
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition: qgis.h:5456
const long GEO_EPSG_CRS_ID
Magic number for a geographic coord sys in EpsgCrsId ID format.
Definition: qgis.h:5718
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.
Definition: qgis.h:5264
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.
Definition: qgis.h:5478
CORE_EXPORT bool qgsVariantGreaterThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is greater than the second.
Definition: qgis.cpp:188
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...
Definition: qgis.h:5747
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition: qgis.h:5381
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference)
Definition: qgis.h:5218
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.
Definition: qgis.h:5298
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...
Definition: qgis.cpp:72
const QList< T > qgsEnumList()
Returns a list all enum entries.
Definition: qgis.h:5364
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition: qgis.h:5248
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
Definition: qgis.h:5207
CONSTLATIN1STRING geoProj4()
PROJ4 string that represents a geographic coord sys.
Definition: qgis.h:5682
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition: qgis.h:5169
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition: qgis.h:5111
void CORE_EXPORT * qgsMalloc(size_t size)
Allocates size bytes and returns a pointer to the allocated memory.
Definition: qgis.cpp:93
const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition: qgis.h:5735
QMap< QString, QString > QgsStringMap
Definition: qgis.h:5737
#define CONSTLATIN1STRING
Definition: qgis.h:5635
CONSTLATIN1STRING geoWkt()
Wkt string that represents a geographic coord sys.
Definition: qgis.h:5674
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition: qgis.h:5224
const int USER_CRS_START_ID
Magick number that determines whether a projection crsid is a system (srs.db) or user (~/....
Definition: qgis.h:5724
void CORE_EXPORT qgsFree(void *ptr)
Frees the memory space pointed to by ptr.
Definition: qgis.cpp:115
bool qgsNumberNear(T a, T b, T epsilon=std::numeric_limits< T >::epsilon() *4)
Compare two numbers of type T (but allow some difference)
Definition: qgis.h:5189
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...
Definition: qgis.cpp:86
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...
Definition: qgis.cpp:79
CORE_EXPORT bool qgsVariantLessThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is less than the second.
Definition: qgis.cpp:120
const long GEOSRID
Magic number for a geographic coord sys in POSTGIS SRID.
Definition: qgis.h:5712
#define QHASH_FOR_CLASS_ENUM(T)
Definition: qgis.h:43
bool operator<(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is less than the second.
Definition: qgis.h:5600
CONSTLATIN1STRING geoEpsgCrsAuthId()
Geographic coord sys from EPSG authority.
Definition: qgis.h:5688
const long GEOCRS_ID
Magic number for a geographic coord sys in QGIS srs.db tbl_srs.srs_id.
Definition: qgis.h:5715
const double DEFAULT_POINT_SIZE
Magic number that determines the default point size for point symbols.
Definition: qgis.h:5731
#define SIP_ENUM_BASETYPE(type)
Definition: qgis_sip.h:278
#define SIP_SKIP
Definition: qgis_sip.h:126
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
Definition: qgis_sip.h:271
#define SIP_MONKEYPATCH_FLAGS_UNNEST(OUTSIDE_CLASS, FORMERNAME)
Definition: qgis_sip.h:272
#define SIP_MONKEYPATCH_SCOPEENUM
Definition: qgis_sip.h:270
#define SIP_MONKEYPATCH_COMPAT_NAME(FORMERNAME)
Definition: qgis_sip.h:273
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)
int precision
Utility class for identifying a unique vertex within a geometry.
Definition: qgsvertexid.h:30