QGIS API Documentation 3.41.0-Master (3440c17df1d)
Loading...
Searching...
No Matches
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
100 {
101 ClearStorage = 1 << 0,
102
103 ReadConfiguration = 1 << 1,
104 UpdateConfiguration = 1 << 2,
105 DeleteConfiguration = 1 << 3,
106 CreateConfiguration = 1 << 4,
107
108 ReadCertificateIdentity = 1 << 5,
109 UpdateCertificateIdentity = 1 << 6,
110 DeleteCertificateIdentity = 1 << 7,
111 CreateCertificateIdentity = 1 << 8,
112
113 ReadSslCertificateCustomConfig = 1 << 9,
114 UpdateSslCertificateCustomConfig = 1 << 10,
115 DeleteSslCertificateCustomConfig = 1 << 11,
116 CreateSslCertificateCustomConfig = 1 << 12,
117
118 ReadCertificateAuthority = 1 << 13,
119 UpdateCertificateAuthority = 1 << 14,
120 DeleteCertificateAuthority = 1 << 15,
121 CreateCertificateAuthority = 1 << 16,
122
123 ReadCertificateTrustPolicy = 1 << 17,
124 UpdateCertificateTrustPolicy = 1 << 18,
125 DeleteCertificateTrustPolicy = 1 << 19,
126 CreateCertificateTrustPolicy = 1 << 20,
127
128 ReadMasterPassword = 1 << 21,
129 UpdateMasterPassword = 1 << 22,
130 DeleteMasterPassword = 1 << 23,
131 CreateMasterPassword = 1 << 24,
132
133 ReadSetting = 1 << 25,
134 UpdateSetting = 1 << 26,
135 DeleteSetting = 1 << 27,
136 CreateSetting = 1 << 28,
137
138 };
139 Q_ENUM( AuthConfigurationStorageCapability )
140
141
147
148
154 {
155 Info = 0,
156 Warning = 1,
157 Critical = 2,
158 Success = 3,
159 NoLevel = 4,
160 };
161 Q_ENUM( MessageLevel )
162
163
169 {
170 Vector SIP_MONKEYPATCH_COMPAT_NAME( VectorLayer ),
171 Raster SIP_MONKEYPATCH_COMPAT_NAME( RasterLayer ),
172 Plugin SIP_MONKEYPATCH_COMPAT_NAME( PluginLayer ),
173 Mesh SIP_MONKEYPATCH_COMPAT_NAME( MeshLayer ),
174 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( VectorTileLayer ),
175 Annotation SIP_MONKEYPATCH_COMPAT_NAME( AnnotationLayer ),
176 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( PointCloudLayer ),
177 Group SIP_MONKEYPATCH_COMPAT_NAME( GroupLayer ),
178 TiledScene,
179 };
180 Q_ENUM( LayerType )
181
182
188 {
189 RasterLayer = 1,
190 NoGeometry = 2,
191 PointLayer = 4,
192 LineLayer = 8,
193 PolygonLayer = 16,
194 HasGeometry = PointLayer | LineLayer | PolygonLayer,
195 VectorLayer = NoGeometry | HasGeometry,
196 PluginLayer = 32,
197 WritableLayer = 64,
198 MeshLayer = 128,
199 VectorTileLayer = 256,
200 PointCloudLayer = 512,
201 AnnotationLayer = 1024,
202 TiledSceneLayer = 2048,
203 All = RasterLayer | VectorLayer | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer,
204 SpatialLayer = RasterLayer | HasGeometry | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer
205 };
206 Q_DECLARE_FLAGS( LayerFilters, LayerFilter )
207 Q_FLAG( LayerFilters )
208
209
214 enum class LoadStyleFlag : int SIP_ENUM_BASETYPE( IntFlag )
215 {
216 IgnoreMissingStyleErrors = 1 << 0,
217 };
218 Q_ENUM( LoadStyleFlag )
219
220
225 Q_DECLARE_FLAGS( LoadStyleFlags, LoadStyleFlag )
226 Q_FLAG( LoadStyleFlags )
227
256 {
257 Unknown = 0,
258 Point = 1,
259 LineString = 2,
260 Polygon = 3,
261 Triangle = 17,
262 MultiPoint = 4,
263 MultiLineString = 5,
264 MultiPolygon = 6,
265 GeometryCollection = 7,
266 CircularString = 8,
267 CompoundCurve = 9,
268 CurvePolygon = 10,
269 MultiCurve = 11,
270 MultiSurface = 12,
271 PolyhedralSurface = 15,
272 TIN = 16,
273 NoGeometry = 100,
274 PointZ = 1001,
275 LineStringZ = 1002,
276 PolygonZ = 1003,
277 TriangleZ = 1017,
278 MultiPointZ = 1004,
279 MultiLineStringZ = 1005,
280 MultiPolygonZ = 1006,
281 GeometryCollectionZ = 1007,
282 CircularStringZ = 1008,
283 CompoundCurveZ = 1009,
284 CurvePolygonZ = 1010,
285 MultiCurveZ = 1011,
286 MultiSurfaceZ = 1012,
287 PolyhedralSurfaceZ = 1015,
288 TINZ = 1016,
289 PointM = 2001,
290 LineStringM = 2002,
291 PolygonM = 2003,
292 TriangleM = 2017,
293 MultiPointM = 2004,
294 MultiLineStringM = 2005,
295 MultiPolygonM = 2006,
296 GeometryCollectionM = 2007,
297 CircularStringM = 2008,
298 CompoundCurveM = 2009,
299 CurvePolygonM = 2010,
300 MultiCurveM = 2011,
301 MultiSurfaceM = 2012,
302 PolyhedralSurfaceM = 2015,
303 TINM = 2016,
304 PointZM = 3001,
305 LineStringZM = 3002,
306 PolygonZM = 3003,
307 MultiPointZM = 3004,
308 MultiLineStringZM = 3005,
309 MultiPolygonZM = 3006,
310 GeometryCollectionZM = 3007,
311 CircularStringZM = 3008,
312 CompoundCurveZM = 3009,
313 CurvePolygonZM = 3010,
314 MultiCurveZM = 3011,
315 MultiSurfaceZM = 3012,
316 PolyhedralSurfaceZM = 3015,
317 TINZM = 3016,
318 TriangleZM = 3017,
319 Point25D = 0x80000001,
320 LineString25D,
321 Polygon25D,
322 MultiPoint25D,
323 MultiLineString25D,
324 MultiPolygon25D
325 };
326 Q_ENUM( WkbType )
327
328
337 {
338 Point SIP_MONKEYPATCH_COMPAT_NAME( PointGeometry ),
339 Line SIP_MONKEYPATCH_COMPAT_NAME( LineGeometry ),
340 Polygon SIP_MONKEYPATCH_COMPAT_NAME( PolygonGeometry ),
341 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownGeometry ),
342 Null SIP_MONKEYPATCH_COMPAT_NAME( NullGeometry ),
343 };
344 Q_ENUM( GeometryType )
345
346
351 {
352 UnknownDataType = 0,
353 Byte = 1,
354 Int8 = 14,
355 UInt16 = 2,
356 Int16 = 3,
357 UInt32 = 4,
358 Int32 = 5,
359 Float32 = 6,
360 Float64 = 7,
361 CInt16 = 8,
362 CInt32 = 9,
363 CFloat32 = 10,
364 CFloat64 = 11,
365 ARGB32 = 12,
366 ARGB32_Premultiplied = 13
367 };
368 Q_ENUM( DataType )
369
370
375 enum class CaptureTechnique : int
376 {
377 StraightSegments,
378 CircularString,
379 Streaming,
380 Shape,
381 };
382 Q_ENUM( CaptureTechnique )
383
384
389 enum class VectorLayerTypeFlag : int SIP_ENUM_BASETYPE( IntFlag )
390 {
391 SqlQuery = 1 << 0
392 };
393 Q_ENUM( VectorLayerTypeFlag )
396 Q_FLAG( VectorLayerTypeFlags )
397
402 enum class PythonEmbeddedMode SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, PythonMacroMode ) : int
403 {
404 Never = 0,
405 Ask = 1,
406 SessionOnly = 2,
407 Always = 3,
408 NotForThisSession,
409 };
410 Q_ENUM( PythonEmbeddedMode )
411
412
416 enum class PythonEmbeddedType : int
417 {
418 Macro = 0,
419 ExpressionFunction = 1,
420 };
421 Q_ENUM( PythonEmbeddedType )
422
423
431 {
432 TrustDataSource SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustDataSource ) = 1 << 0,
433 SkipFeatureCount = 1 << 1,
434 LoadDefaultStyle SIP_MONKEYPATCH_COMPAT_NAME( FlagLoadDefaultStyle ) = 1 << 2,
435 SkipGetExtent = 1 << 3,
436 SkipFullScan = 1 << 4,
437 ForceReadOnly = 1 << 5,
438 SkipCredentialsRequest = 1 << 6,
439 ParallelThreadLoading = 1 << 7,
440 };
441 Q_ENUM( DataProviderReadFlag )
442
443
451 Q_FLAG( DataProviderReadFlags )
452
453 // TODO QGIS 4 -- remove NoCapabilities and rely on VectorProviderCapabilities() instead
454
463 {
464 NoCapabilities = 0,
465 AddFeatures = 1,
466 DeleteFeatures = 1 << 1,
467 ChangeAttributeValues = 1 << 2,
468 AddAttributes = 1 << 3,
469 DeleteAttributes = 1 << 4,
470 CreateSpatialIndex = 1 << 6,
471 SelectAtId = 1 << 7,
472 ChangeGeometries = 1 << 8,
473 SelectEncoding = 1 << 13,
474 CreateAttributeIndex = 1 << 12,
475 SimplifyGeometries = 1 << 14,
476 SimplifyGeometriesWithTopologicalValidation = 1 << 15,
477 TransactionSupport = 1 << 16,
478 CircularGeometries = 1 << 17,
479 ChangeFeatures = 1 << 18,
480 RenameAttributes = 1 << 19,
481 FastTruncate = 1 << 20,
482 ReadLayerMetadata = 1 << 21,
483 WriteLayerMetadata = 1 << 22,
484 CancelSupport = 1 << 23,
485 CreateRenderer = 1 << 24,
486 CreateLabeling = 1 << 25,
487 ReloadData = 1 << 26,
488 FeatureSymbology = 1 << 27,
489 EditingCapabilities = AddFeatures | DeleteFeatures | ChangeAttributeValues | ChangeGeometries | AddAttributes | DeleteAttributes | RenameAttributes,
490 };
491 Q_ENUM( VectorProviderCapability )
492
493
502
509 {
510 Uncounted = -2,
511 UnknownCount = -1,
512 };
513 Q_ENUM( FeatureCountState )
514
515
522 {
523 Unknown SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexUnknown ) = 0,
524 NotPresent SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexNotPresent ) = 1,
525 Present SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexPresent ) = 2,
526 };
527 Q_ENUM( SpatialIndexPresence )
528
529
541 {
542 NoFeaturesAvailable = 0,
543 FeaturesAvailable,
544 FeaturesMaybeAvailable
545 };
546 Q_ENUM( FeatureAvailability )
547
548
554 {
555 EditAlias = 1 << 0,
556 EditComment = 1 << 1,
557 };
558
559 Q_ENUM( VectorDataProviderAttributeEditCapability )
560
561
568
574 {
575 Marker,
576 Line,
577 Fill,
578 Hybrid
579 };
580 Q_ENUM( SymbolType )
581
582
588 {
589 ScaleArea,
590 ScaleDiameter
591 };
592 Q_ENUM( ScaleMethod )
593
594
599 {
600 Custom,
601 Variant,
602 String,
603 StringList,
604 VariantMap,
605 Bool,
606 Integer,
607 Double,
608 EnumFlag,
609 Color
610 };
611 Q_ENUM( SettingsType )
612
613
618 {
619 Root,
620 Standard,
621 NamedList,
622 };
623 Q_ENUM( SettingsTreeNodeType )
624
625
629 enum class SettingsTreeNodeOption : int SIP_ENUM_BASETYPE( IntFlag )
630 {
631 NamedListSelectedItemSetting = 1 << 0,
632 };
633
634 Q_ENUM( SettingsTreeNodeOption )
637
646 {
647 Invalid SIP_MONKEYPATCH_COMPAT_NAME( InvalidProperty ),
648 Static SIP_MONKEYPATCH_COMPAT_NAME( StaticProperty ),
649 Field SIP_MONKEYPATCH_COMPAT_NAME( FieldBasedProperty ),
650 Expression SIP_MONKEYPATCH_COMPAT_NAME( ExpressionBasedProperty ),
651 };
652 Q_ENUM( PropertyType )
653
654
659 enum class SldExportOption : int SIP_ENUM_BASETYPE( IntFlag )
660 {
661 NoOptions = 0,
662 Svg = 1 << 0,
663 Png = 1 << 1,
664 };
665 Q_ENUM( SldExportOption )
667 Q_FLAG( SldExportOptions )
668
674 enum class SldExportVendorExtension : int SIP_ENUM_BASETYPE( IntFlag )
675 {
676 NoVendorExtension = 0,
677 GeoServerVendorExtension = 1 << 1,
678 DeegreeVendorExtension = 1 << 2,
679 };
680 Q_ENUM( SldExportVendorExtension )
681
682
683
687 enum class SettingsOption : int SIP_ENUM_BASETYPE( IntFlag )
688 {
689 SaveFormerValue = 1 << 1,
690 SaveEnumFlagAsInt = 1 << 2,
691 };
692 Q_ENUM( SettingsOption )
693 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
694 Q_FLAG( SettingsOptions )
695
701 {
702 ActiveLayer = 1,
703 AllLayers = 2,
704 AdvancedConfiguration = 3,
705 };
706 Q_ENUM( SnappingMode )
707
708
713 {
714 NoSnap SIP_MONKEYPATCH_COMPAT_NAME( NoSnapFlag ) = 0,
715 Vertex SIP_MONKEYPATCH_COMPAT_NAME( VertexFlag ) = 1 << 0,
716 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentFlag ) = 1 << 1,
717 Area SIP_MONKEYPATCH_COMPAT_NAME( AreaFlag ) = 1 << 2,
718 Centroid SIP_MONKEYPATCH_COMPAT_NAME( CentroidFlag ) = 1 << 3,
719 MiddleOfSegment SIP_MONKEYPATCH_COMPAT_NAME( MiddleOfSegmentFlag ) = 1 << 4,
720 LineEndpoint SIP_MONKEYPATCH_COMPAT_NAME( LineEndpointFlag ) = 1 << 5,
721 };
722 Q_ENUM( SnappingType )
725 Q_FLAG( SnappingTypes )
726
733 {
734 DynamicRotation = 1 << 1,
735 IsSymbolLayerSubSymbol = 1 << 2,
736 ForceVectorRendering = 1 << 3,
737 ExcludeSymbolBuffers = 1 << 4,
738 };
739 Q_ENUM( SymbolRenderHint )
742 Q_FLAG( SymbolRenderHints )
743
749 enum class SymbolRotationMode : int
750 {
751 RespectMapRotation,
752 IgnoreMapRotation,
753 };
754 Q_ENUM( SymbolRotationMode )
755
756
761 enum class FeatureRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
762 {
763 AffectsLabeling = 1 << 0,
764 };
765 Q_ENUM( FeatureRendererFlag )
766
767
773 Q_FLAG( FeatureRendererFlags )
774
780 enum class SymbolFlag : int SIP_ENUM_BASETYPE( IntFlag )
781 {
782 RendererShouldUseSymbolLevels = 1 << 0,
783 AffectsLabeling = 1 << 1,
784 };
785 Q_ENUM( SymbolFlag )
787 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
788 Q_FLAG( SymbolFlags )
789
796 {
797 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
798 };
799 Q_ENUM( SymbolPreviewFlag )
802 Q_FLAG( SymbolPreviewFlags )
803
813 enum class SymbolLayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
814 {
815 DisableFeatureClipping = 1 << 0,
816 CanCalculateMaskGeometryPerFeature = 1 << 1,
817 AffectsLabeling = 1 << 2,
818 };
819 Q_ENUM( SymbolLayerFlag )
822 Q_FLAG( SymbolLayerFlags )
823
833 enum class SymbolLayerUserFlag : int SIP_ENUM_BASETYPE( IntFlag )
834 {
835 DisableSelectionRecoloring = 1 << 0,
836 };
837 Q_ENUM( SymbolLayerUserFlag )
838
839
845 Q_FLAG( SymbolLayerUserFlags )
846
853 {
854 Collection,
855 Directory,
856 Layer,
857 Error,
858 Favorites,
859 Project,
860 Custom,
861 Fields,
862 Field,
863 };
864 Q_ENUM( BrowserItemType )
865
866
872 {
873 NotPopulated,
874 Populating,
875 Populated,
876 };
877 Q_ENUM( BrowserItemState )
878
879
885 {
886 NoCapabilities = 0,
887 SetCrs = 1 << 0,
888 Fertile = 1 << 1,
889 Fast = 1 << 2,
890 Collapse = 1 << 3,
891 Rename = 1 << 4,
892 Delete = 1 << 5,
893 ItemRepresentsFile = 1 << 6,
894 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
895 ReadOnly = 1 << 8,
896 };
897 Q_ENUM( BrowserItemCapability )
901
910 {
911 NoCapabilities SIP_MONKEYPATCH_COMPAT_NAME( NoDataCapabilities ) = 0,
912 Files SIP_MONKEYPATCH_COMPAT_NAME( File ) = 1,
913 Directories SIP_MONKEYPATCH_COMPAT_NAME( Dir ) = 1 << 1,
914 Databases SIP_MONKEYPATCH_COMPAT_NAME( Database ) = 1 << 2,
915 NetworkSources SIP_MONKEYPATCH_COMPAT_NAME( Net ) = 1 << 3,
916 };
917 Q_ENUM( DataItemProviderCapability )
918
919
928
935 {
936 NoType,
937 Vector,
938 Raster,
939 Point,
940 Line,
941 Polygon,
942 TableLayer,
943 Database,
944 Table,
945 Plugin,
946 Mesh,
947 VectorTile,
948 PointCloud,
949 TiledScene,
950 };
951 Q_ENUM( BrowserLayerType )
952
953
959 {
960 Default,
961 NeverMonitor,
962 AlwaysMonitor,
963 };
964 Q_ENUM( BrowserDirectoryMonitoring )
965
966
970 enum class HttpMethod : int
971 {
972 Get = 0,
973 Post = 1
974 };
975 Q_ENUM( HttpMethod )
976
977
983 {
984 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
985 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
986 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
987 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
988 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
989 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
990 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
991 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
992 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
993 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
994 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
995 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
996 };
997 Q_ENUM( VectorExportResult )
998
999
1004 {
1005 FieldAliases = 1 << 0,
1006 FieldComments = 1 << 2,
1007 };
1008 Q_ENUM( VectorFileWriterCapability )
1009
1010
1016
1022 {
1023 SubsetStringFilter = 1 << 1,
1024 GeometryColumn = 1 << 2,
1025 PrimaryKeys = 1 << 3,
1026 UnstableFeatureIds = 1 << 4
1027 };
1028 Q_ENUM( SqlLayerDefinitionCapability )
1032
1038 enum class SqlKeywordCategory : int
1039 {
1040 Keyword,
1041 Constant,
1042 Function,
1043 Geospatial,
1044 Operator,
1045 Math,
1046 Aggregate,
1047 String,
1048 Identifier
1049 };
1050 Q_ENUM( SqlKeywordCategory )
1051
1052
1056 enum class DriveType : int
1057 {
1058 Unknown,
1059 Invalid,
1060 Removable,
1061 Fixed,
1062 Remote,
1063 CdRom,
1064 RamDisk,
1065 Cloud,
1066 };
1067 Q_ENUM( DriveType )
1068
1069
1074 {
1075 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
1076 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
1077 };
1078 Q_ENUM( ActionStart )
1079
1080
1086 {
1087 FollowEngineSetting,
1088 NeverShow,
1089 };
1090 Q_ENUM( UnplacedLabelVisibility )
1091
1092
1097 enum class LabelOverlapHandling : int
1098 {
1099 PreventOverlap,
1100 AllowOverlapIfRequired,
1101 AllowOverlapAtNoCost,
1102 };
1103 Q_ENUM( LabelOverlapHandling )
1104
1105
1110 enum class LabelPrioritization : int
1111 {
1112 PreferCloser,
1113 PreferPositionOrdering,
1114 };
1115 Q_ENUM( LabelPrioritization )
1116
1117
1125 {
1126 AroundPoint,
1127 OverPoint,
1128 Line,
1129 Curved,
1130 Horizontal,
1131 Free,
1132 OrderedPositionsAroundPoint,
1133 PerimeterCurved,
1134 OutsidePolygons,
1135 };
1136 Q_ENUM( LabelPlacement )
1137
1138
1146 {
1147 TopLeft,
1148 TopSlightlyLeft,
1149 TopMiddle,
1150 TopSlightlyRight,
1151 TopRight,
1152 MiddleLeft,
1153 MiddleRight,
1154 BottomLeft,
1155 BottomSlightlyLeft,
1156 BottomMiddle,
1157 BottomSlightlyRight,
1158 BottomRight,
1159 OverPoint,
1160 };
1161 Q_ENUM( LabelPredefinedPointPosition )
1162
1163
1172 {
1173 FromPoint,
1174 FromSymbolBounds,
1175 };
1176 Q_ENUM( LabelOffsetType )
1177
1178
1186 {
1187 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
1188 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
1189 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
1190 Left SIP_MONKEYPATCH_COMPAT_NAME( QuadrantLeft ),
1191 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
1192 Right SIP_MONKEYPATCH_COMPAT_NAME( QuadrantRight ),
1193 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
1194 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
1195 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
1196 };
1197 Q_ENUM( LabelQuadrantPosition )
1198
1199
1206 {
1207 OnLine = 1,
1208 AboveLine = 2,
1209 BelowLine = 4,
1210 MapOrientation = 8,
1211 };
1212 Q_ENUM( LabelLinePlacementFlag )
1213
1214
1222 Q_FLAG( LabelLinePlacementFlags )
1223
1231 {
1232 AllowPlacementOutsideOfPolygon = 1 << 0,
1233 AllowPlacementInsideOfPolygon = 1 << 1,
1234 };
1235 Q_ENUM( LabelPolygonPlacementFlag )
1236
1237
1245
1254 {
1255 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
1256 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
1257 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
1258 };
1259 Q_ENUM( UpsideDownLabelHandling )
1260
1261
1269 {
1270 Left SIP_MONKEYPATCH_COMPAT_NAME( MultiLeft ) = 0,
1271 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
1272 Right SIP_MONKEYPATCH_COMPAT_NAME( MultiRight ),
1273 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
1274 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
1275 };
1276 Q_ENUM( LabelMultiLineAlignment )
1277
1278
1285 {
1286 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
1287 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1288 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1289 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1290 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1291 VectorTile,
1292 TiledScene,
1293 };
1294 Q_ENUM( FileFilterType )
1295
1296
1301 enum class SublayerQueryFlag : int SIP_ENUM_BASETYPE( IntFlag )
1302 {
1303 FastScan = 1 << 0,
1304 ResolveGeometryType = 1 << 1,
1305 CountFeatures = 1 << 2,
1306 IncludeSystemTables = 1 << 3,
1307 };
1310 Q_ENUM( SublayerQueryFlag )
1311 Q_FLAG( SublayerQueryFlags )
1312
1313
1318 enum class SublayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
1319 {
1320 SystemTable = 1 << 0,
1321 };
1323 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1324 Q_ENUM( SublayerFlag )
1325 Q_FLAG( SublayerFlags )
1326
1327
1335 {
1336 Linear SIP_MONKEYPATCH_COMPAT_NAME( Interpolated ) = 0,
1337 Discrete = 1,
1338 Exact = 2,
1339 };
1340 Q_ENUM( ShaderInterpolationMethod )
1341
1342
1350 {
1351 Continuous = 1,
1352 EqualInterval = 2,
1353 Quantile = 3,
1354 };
1355 Q_ENUM( ShaderClassificationMethod )
1356
1357
1363 {
1364 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1365 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1366 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1367 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1368 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1369 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1370 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1371 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1372 };
1373 Q_ENUM( RasterPipeInterfaceRole )
1374
1375
1380 {
1382 ResampleFilter,
1384 Provider
1385 };
1386 Q_ENUM( RasterResamplingStage )
1387
1388
1393 enum class RasterRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
1394 {
1395 InternalLayerOpacityHandling = 1 << 0,
1396 UseNoDataForOutOfRangePixels = 1 << 1,
1397 };
1398
1405
1406 Q_ENUM( RasterRendererFlag )
1407 Q_FLAG( RasterRendererFlags )
1408
1409
1415 {
1416 UsesMultipleBands = 1 << 0,
1417 };
1418 Q_ENUM( RasterRendererCapability )
1419
1420
1427
1434 {
1435 Generic = 0,
1436 PixelCount = 1,
1437 Name = 2,
1438 Min = 3,
1439 Max = 4,
1440 MinMax = 5,
1441 Red = 6,
1442 Green = 7,
1443 Blue = 8,
1444 Alpha = 9,
1445 RedMin = 10,
1446 GreenMin = 11,
1447 BlueMin = 12,
1448 AlphaMin = 13,
1449 RedMax = 14,
1450 GreenMax = 15,
1451 BlueMax = 16,
1452 AlphaMax = 17,
1453 MaxCount
1454 };
1455 Q_ENUM( RasterAttributeTableFieldUsage )
1456
1457
1463 {
1464 Thematic = 0,
1465 Athematic = 1
1466 };
1467 Q_ENUM( RasterAttributeTableType )
1468
1469
1476 {
1477 Raw = 0,
1478 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1479 };
1480 Q_ENUM( RasterExportType )
1481
1482
1489 {
1490 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
1491 SourceProviderError = 1,
1492 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1493 CreateDatasourceError = 3,
1494 WriteError = 4,
1495 NoDataConflict = 5,
1496 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1497 };
1498 Q_ENUM( RasterFileWriterResult )
1499
1500
1505 enum class MeshEditingErrorType : int
1506 {
1507 NoError,
1508 InvalidFace,
1509 TooManyVerticesInFace,
1510 FlatFace,
1511 UniqueSharedVertex,
1512 InvalidVertex,
1513 ManifoldFace,
1514 };
1515 Q_ENUM( MeshEditingErrorType )
1516
1517
1522 enum class FilePathType : int
1523 {
1524 Absolute,
1525 Relative,
1526 };
1527 Q_ENUM( FilePathType )
1528
1529
1534 enum class SublayerPromptMode : int
1535 {
1536 AlwaysAsk,
1537 AskExcludingRasterBands,
1538 NeverAskSkip,
1539 NeverAskLoadAll,
1540 };
1541 Q_ENUM( SublayerPromptMode )
1542
1543
1551 {
1552 Unknown SIP_MONKEYPATCH_COMPAT_NAME( OriginUnknown ),
1553 Provider SIP_MONKEYPATCH_COMPAT_NAME( OriginProvider ),
1554 Join SIP_MONKEYPATCH_COMPAT_NAME( OriginJoin ),
1555 Edit SIP_MONKEYPATCH_COMPAT_NAME( OriginEdit ),
1556 Expression SIP_MONKEYPATCH_COMPAT_NAME( OriginExpression )
1557 };
1558 Q_ENUM( FieldOrigin )
1559
1560
1567 enum class FieldConfigurationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1568 {
1569 NoFlag = 0,
1570 NotSearchable = 1 << 1,
1571 HideFromWms = 1 << 2,
1572 HideFromWfs = 1 << 3,
1573 };
1574 Q_ENUM( FieldConfigurationFlag )
1575
1576
1584 Q_FLAG( FieldConfigurationFlags )
1585
1591 enum class FieldMetadataProperty : int
1592 {
1593 GeometryCrs = 0x1000,
1594 GeometryWkbType = 0x1001,
1595 CustomProperty = 0x100000,
1596 };
1597 Q_ENUM( FieldMetadataProperty )
1598
1599
1604 enum class SelectionRenderingMode : int
1605 {
1606 Default,
1607 CustomColor,
1608 CustomSymbol,
1609 };
1610 Q_ENUM( SelectionRenderingMode )
1611
1612
1618 {
1619 SetSelection,
1620 AddToSelection,
1621 IntersectSelection,
1622 RemoveFromSelection,
1623 };
1624 Q_ENUM( SelectBehavior )
1625
1626
1632 {
1633 Intersect,
1634 Within,
1635 };
1636 Q_ENUM( SelectGeometryRelationship )
1637
1638
1643 enum class SelectionFlag : int SIP_ENUM_BASETYPE( IntFlag )
1644 {
1645 SingleFeatureSelection = 1 << 0,
1646 ToggleSelection = 1 << 1,
1647 };
1648
1654 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1655
1656 Q_ENUM( SelectionFlag )
1657 Q_FLAG( SelectionFlags )
1658
1659
1665 {
1666 Success = 0,
1667 EmptyGeometry = 1,
1668 EditFailed = 2,
1669 FetchFeatureFailed = 3,
1670 InvalidLayer = 4,
1671 };
1672 Q_ENUM( VectorEditResult )
1673
1674
1680 {
1681 SemiTransparentCircle,
1682 Cross,
1683 NoMarker,
1684 };
1685 Q_ENUM( VertexMarkerType )
1686
1687
1691 enum class ContentStatus : int
1692 {
1693 NotStarted,
1694 Running,
1695 Finished,
1696 Failed,
1697 Canceled,
1698 };
1699 Q_ENUM( ContentStatus )
1700
1701
1706 enum class GpsConnectionType : int
1707 {
1708 Automatic,
1709 Internal,
1710 Serial,
1711 Gpsd,
1712 };
1713 Q_ENUM( GpsConnectionType )
1714
1715
1720 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
1721 {
1722 Disconnected,
1723 Connecting,
1724 Connected,
1725 };
1726 Q_ENUM( DeviceConnectionStatus )
1727
1728
1736 {
1737 NoData,
1738 NoFix,
1739 Fix2D,
1740 Fix3D
1741 };
1743
1744
1751 {
1752 Unknown,
1753 Gps,
1754 Glonass,
1755 Galileo,
1756 BeiDou,
1757 Qzss,
1758 Navic,
1759 Sbas,
1760 };
1762
1769 {
1770 Unknown = -1,
1771 Invalid,
1772 GPS,
1773 DGPS,
1774 PPS,
1775 RTK,
1776 FloatRTK,
1777 Estimated,
1778 Manual,
1779 Simulation,
1780 };
1781 Q_ENUM( GpsQualityIndicator )
1782
1783
1788 enum class GpsNavigationStatus : int
1789 {
1790 NotValid,
1791 Safe,
1792 Caution,
1793 Unsafe,
1794 };
1796
1802 enum class GpsInformationComponent : int SIP_ENUM_BASETYPE( IntFlag )
1803 {
1804 Location = 1 << 0,
1805 Altitude = 1 << 1,
1806 GroundSpeed = 1 << 2,
1807 Bearing = 1 << 3,
1808 TotalTrackLength = 1 << 4,
1809 TrackDistanceFromStart = 1 << 5,
1810 Pdop = 1 << 6,
1811 Hdop = 1 << 7,
1812 Vdop = 1 << 8,
1813 HorizontalAccuracy = 1 << 9,
1814 VerticalAccuracy = 1 << 10,
1815 HvAccuracy = 1 << 11,
1816 SatellitesUsed = 1 << 12,
1817 Timestamp = 1 << 13,
1818 TrackStartTime = 1 << 14,
1819 TrackEndTime = 1 << 15,
1820 TrackDistanceSinceLastPoint = 1 << 16,
1821 TrackTimeSinceLastPoint = 1 << 17,
1822 GeoidalSeparation = 1 << 18,
1823 EllipsoidAltitude = 1 << 19,
1824 };
1825
1832 Q_ENUM( GpsInformationComponent )
1833 Q_FLAG( GpsInformationComponents )
1834
1835
1840 enum class BabelFormatCapability : int SIP_ENUM_BASETYPE( IntFlag )
1841 {
1842 Import = 1 << 0,
1843 Export = 1 << 1,
1844 Waypoints = 1 << 2,
1845 Routes = 1 << 3,
1846 Tracks = 1 << 4,
1847 };
1850 Q_ENUM( BabelFormatCapability )
1851 Q_FLAG( BabelFormatCapabilities )
1852
1853
1859 enum class BabelCommandFlag : int SIP_ENUM_BASETYPE( IntFlag )
1860 {
1861 QuoteFilePaths = 1 << 0,
1862 };
1865 Q_ENUM( BabelCommandFlag )
1866 Q_FLAG( BabelCommandFlags )
1867
1868
1873 enum class GpsFeatureType : int
1874 {
1875 Waypoint,
1876 Route,
1877 Track,
1878 };
1879 Q_ENUM( GpsFeatureType )
1880
1881
1889 {
1890 Success = 0,
1891 NothingHappened = 1000,
1892 InvalidBaseGeometry,
1893 InvalidInputGeometryType,
1894 SelectionIsEmpty,
1895 SelectionIsGreaterThanOne,
1896 GeometryEngineError,
1897 LayerNotEditable,
1898 // Add part issues
1899 AddPartSelectedGeometryNotFound,
1900 AddPartNotMultiGeometry,
1901 // Add ring issues
1902 AddRingNotClosed,
1903 AddRingNotValid,
1904 AddRingCrossesExistingRings,
1905 AddRingNotInExistingFeature,
1906 // Split features
1907 SplitCannotSplitPoint,
1908 GeometryTypeHasChanged,
1909 };
1910 Q_ENUM( GeometryOperationResult )
1911
1912
1918 {
1919 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles ) = 1 << 0,
1920 };
1923 Q_ENUM( GeometryValidityFlag )
1924 Q_FLAG( GeometryValidityFlags )
1925
1926
1931 {
1932 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
1933 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
1934 };
1935 Q_ENUM( GeometryValidationEngine )
1936
1937
1947 Q_ENUM( BufferSide )
1948
1949
1955 {
1956 Round SIP_MONKEYPATCH_COMPAT_NAME( CapRound ) = 1,
1957 Flat SIP_MONKEYPATCH_COMPAT_NAME( CapFlat ),
1958 Square SIP_MONKEYPATCH_COMPAT_NAME( CapSquare ),
1959 };
1960 Q_ENUM( EndCapStyle )
1961
1962
1968 {
1969 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
1970 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
1971 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
1972 };
1973 Q_ENUM( JoinStyle )
1974
1975
1980 enum class GeosCreationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1981 {
1982 RejectOnInvalidSubGeometry = 1 << 0,
1983 SkipEmptyInteriorRings = 1 << 1,
1984 };
1985 Q_ENUM( GeosCreationFlag )
1986
1987
1993 Q_FLAG( GeosCreationFlags )
1994
2000 enum class CoverageValidityResult : int
2001 {
2002 Invalid = 0,
2003 Valid = 1,
2004 Error = 2,
2005 };
2006 Q_ENUM( CoverageValidityResult )
2007
2008
2013 enum class MakeValidMethod : int
2014 {
2015 Linework = 0,
2016 Structure = 1,
2017 };
2018 Q_ENUM( MakeValidMethod )
2019
2020
2028 {
2029 NoFlags = 0,
2030 NoGeometry = 1,
2031 SubsetOfAttributes = 2,
2032 ExactIntersect = 4,
2033 IgnoreStaticNodesDuringExpressionCompilation = 8,
2034 EmbeddedSymbols = 16,
2035 };
2036 Q_ENUM( FeatureRequestFlag )
2037
2038
2046 Q_FLAG( FeatureRequestFlags )
2047
2056 {
2057 NoFilter SIP_MONKEYPATCH_COMPAT_NAME( FilterNone ),
2058 Fid SIP_MONKEYPATCH_COMPAT_NAME( FilterFid ),
2059 Expression SIP_MONKEYPATCH_COMPAT_NAME( FilterExpression ),
2060 Fids SIP_MONKEYPATCH_COMPAT_NAME( FilterFids )
2061 };
2062 Q_ENUM( FeatureRequestFilterType )
2063
2064
2072 {
2073 NoCheck SIP_MONKEYPATCH_COMPAT_NAME( GeometryNoCheck ) = 0,
2074 SkipInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometrySkipInvalid ) = 1,
2075 AbortOnInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometryAbortOnInvalid ) = 2,
2076 };
2077 Q_ENUM( InvalidGeometryCheck )
2078
2079
2084 enum class SpatialFilterType : int
2085 {
2086 NoFilter,
2087 BoundingBox,
2088 DistanceWithin,
2089 };
2090 Q_ENUM( SpatialFilterType )
2091
2092
2097 enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2098 {
2099 IncludeMetadataFile = 1 << 0,
2100 IncludeStyleFile = 1 << 1,
2101 };
2104 Q_ENUM( FileOperationFlag )
2105 Q_FLAG( FileOperationFlags )
2106
2107
2112 enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
2113 {
2114 UsersCannotToggleEditing = 1 << 0,
2115 IsBasemapLayer = 1 << 1,
2116 };
2119 Q_ENUM( MapLayerProperty )
2120 Q_FLAG( MapLayerProperties )
2121
2122
2127 enum class AutoRefreshMode : int
2128 {
2129 Disabled = 0,
2130 ReloadData = 1,
2131 RedrawOnly = 2,
2132 };
2133 Q_ENUM( AutoRefreshMode )
2134
2135
2140 enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
2141 {
2142 IsBasemapSource = 1 << 1,
2143 FastExtent2D = 1 << 2,
2144 FastExtent3D = 1 << 3,
2145 };
2148 Q_ENUM( DataProviderFlag )
2149 Q_FLAG( DataProviderFlags )
2150
2151
2158 enum class CrsType : int
2159 {
2160 Unknown,
2161 Geodetic,
2162 Geocentric,
2163 Geographic2d,
2164 Geographic3d,
2165 Vertical,
2166 Projected,
2167 Compound,
2168 Temporal,
2169 Engineering,
2170 Bound,
2171 Other,
2172 DerivedProjected,
2173 };
2174 Q_ENUM( CrsType )
2175
2176
2183 enum class CrsAxisDirection : int
2184 {
2185 North,
2186 NorthNorthEast,
2187 NorthEast,
2188 EastNorthEast,
2189 East,
2190 EastSouthEast,
2191 SouthEast,
2192 SouthSouthEast,
2193 South,
2194 SouthSouthWest,
2195 SouthWest,
2196 WestSouthWest,
2197 West,
2198 WestNorthWest,
2199 NorthWest,
2200 NorthNorthWest,
2201 GeocentricX,
2202 GeocentricY,
2203 GeocentricZ,
2204 Up,
2205 Down,
2206 Forward,
2207 Aft,
2208 Port,
2209 Starboard,
2210 Clockwise,
2211 CounterClockwise,
2212 ColumnPositive,
2213 ColumnNegative,
2214 RowPositive,
2215 RowNegative,
2216 DisplayRight,
2217 DisplayLeft,
2218 DisplayUp,
2219 DisplayDown,
2220 Future,
2221 Past,
2222 Towards,
2223 AwayFrom,
2224 Unspecified,
2225 };
2226 Q_ENUM( CrsAxisDirection )
2227
2228
2233 enum class CoordinateOrder : int
2234 {
2235 Default,
2236 XY,
2237 YX,
2238 };
2239 Q_ENUM( CoordinateOrder )
2240
2241
2249 {
2250 ShortString,
2251 MediumString,
2252 FullString,
2253 };
2254 Q_ENUM( CrsIdentifierType )
2255
2256
2264 {
2265 Wkt1Gdal SIP_MONKEYPATCH_COMPAT_NAME( WKT1_GDAL ),
2266 Wkt1Esri SIP_MONKEYPATCH_COMPAT_NAME( WKT1_ESRI ),
2267 Wkt2_2015 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015 ),
2268 Wkt2_2015Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015_SIMPLIFIED ),
2269 Wkt2_2019 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019 ),
2270 Wkt2_2019Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019_SIMPLIFIED ),
2271 Preferred SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED ) = Wkt2_2019,
2272 PreferredSimplified SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_SIMPLIFIED ) = Wkt2_2019Simplified,
2273 PreferredGdal SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_GDAL ) = Wkt2_2019,
2274 };
2275 Q_ENUM( CrsWktVariant )
2276
2277
2282 enum class Axis : int
2283 {
2284 X,
2285 Y,
2286 Z
2287 };
2288 Q_ENUM( Axis )
2289
2290
2295 enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
2296 {
2297 ScaleDependentBoundingBox = 1 << 0,
2298 SupportsReferenceScale = 1 << 1,
2299 SupportsCallouts = 1 << 2,
2300 };
2303 Q_ENUM( AnnotationItemFlag )
2304 Q_FLAG( AnnotationItemFlags )
2305
2306
2312 {
2313 SpatialBounds = 0,
2314 FixedSize,
2315 RelativeToMapFrame,
2316 };
2317 Q_ENUM( AnnotationPlacementMode )
2318
2319
2324 enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
2325 {
2326 FlagNoCreationTools = 1 << 0,
2327 };
2330 Q_ENUM( AnnotationItemGuiFlag )
2331 Q_FLAG( AnnotationItemGuiFlags )
2332
2333
2338 enum class AnnotationItemNodeType : int
2339 {
2340 VertexHandle,
2341 CalloutHandle,
2342 };
2343 Q_ENUM( AnnotationItemNodeType )
2344
2345
2351 {
2352 Success,
2353 Invalid,
2354 ItemCleared,
2355 };
2356 Q_ENUM( AnnotationItemEditOperationResult )
2357
2358
2366 {
2367 Disabled SIP_MONKEYPATCH_COMPAT_NAME( NavigationOff ),
2368 Animated,
2369 FixedRange,
2370 Movie,
2371 };
2372 Q_ENUM( TemporalNavigationMode )
2373
2374
2382 {
2383 Forward,
2384 Reverse,
2385 Idle,
2386 };
2387 Q_ENUM( AnimationState )
2388
2389
2394 enum class PlaybackOperation : int
2395 {
2396 SkipToStart,
2397 PreviousFrame,
2398 PlayReverse,
2399 Pause,
2400 PlayForward,
2401 NextFrame,
2402 SkipToEnd,
2403 };
2404 Q_ENUM( PlaybackOperation )
2405
2406
2412 {
2413 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2414 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
2415 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
2416 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
2417 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
2418 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ),
2419 };
2420 Q_ENUM( VectorTemporalMode )
2421
2422
2428 {
2429 IncludeBeginExcludeEnd = 0,
2430 IncludeBeginIncludeEnd,
2431 };
2432 Q_ENUM( VectorTemporalLimitMode )
2433
2434
2440 {
2441 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
2442 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
2443 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2444 };
2445 Q_ENUM( VectorDataProviderTemporalMode )
2446
2447
2453 {
2454 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2455 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
2456 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ) = 2,
2457 FixedRangePerBand = 3,
2458 RepresentsTemporalValues = 4,
2459 };
2460 Q_ENUM( RasterTemporalMode )
2461
2462
2468 {
2469 MatchUsingWholeRange,
2470 MatchExactUsingStartOfRange,
2471 MatchExactUsingEndOfRange,
2472 FindClosestMatchToStartOfRange,
2473 FindClosestMatchToEndOfRange
2474 };
2475 Q_ENUM( TemporalIntervalMatchMethod )
2476
2477
2483 {
2484 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
2485 };
2486 Q_ENUM( RasterTemporalCapabilityFlag )
2487
2488
2495
2502 {
2503 Forward SIP_MONKEYPATCH_COMPAT_NAME( ForwardTransform ),
2504 Reverse SIP_MONKEYPATCH_COMPAT_NAME( ReverseTransform )
2505 };
2506 Q_ENUM( TransformDirection )
2507
2508
2514 {
2515 BallparkTransformsAreAppropriate = 1 << 0,
2516 IgnoreImpossibleTransformations = 1 << 1,
2517 };
2518 Q_ENUM( CoordinateTransformationFlag )
2519
2520
2527
2534 {
2535 Antialiasing = 0x01,
2536 DrawEditingInfo = 0x02,
2537 ForceVectorOutput = 0x04,
2538 UseAdvancedEffects = 0x08,
2539 DrawLabeling = 0x10,
2540 UseRenderingOptimization = 0x20,
2541 DrawSelection = 0x40,
2542 DrawSymbolBounds = 0x80,
2543 RenderMapTile = 0x100,
2544 RenderPartialOutput = 0x200,
2545 RenderPreviewJob = 0x400,
2546 RenderBlocking = 0x800,
2547 LosslessImageRendering = 0x1000,
2548 Render3DMap = 0x2000,
2549 HighQualityImageTransforms = 0x4000,
2550 SkipSymbolRendering = 0x8000,
2551 ForceRasterMasks = 0x10000,
2552 RecordProfile = 0x20000,
2553 AlwaysUseGlobalMasks = 0x40000,
2554 };
2557 Q_ENUM( MapSettingsFlag )
2558 Q_FLAG( MapSettingsFlags )
2559
2560
2566 {
2567 DrawEditingInfo = 0x01,
2568 ForceVectorOutput = 0x02,
2569 UseAdvancedEffects = 0x04,
2570 UseRenderingOptimization = 0x08,
2571 DrawSelection = 0x10,
2572 DrawSymbolBounds = 0x20,
2573 RenderMapTile = 0x40,
2574 Antialiasing = 0x80,
2575 RenderPartialOutput = 0x100,
2576 RenderPreviewJob = 0x200,
2577 RenderBlocking = 0x400,
2578 RenderSymbolPreview = 0x800,
2579 LosslessImageRendering = 0x1000,
2580 ApplyScalingWorkaroundForTextRendering = 0x2000,
2581 Render3DMap = 0x4000,
2582 ApplyClipAfterReprojection = 0x8000,
2583 RenderingSubSymbol = 0x10000,
2584 HighQualityImageTransforms = 0x20000,
2585 SkipSymbolRendering = 0x40000,
2586 RecordProfile = 0x80000,
2587 AlwaysUseGlobalMasks = 0x100000,
2588 DisableSymbolClippingToExtent = 0x200000,
2589 };
2592 Q_ENUM( RenderContextFlag )
2593 Q_FLAG( RenderContextFlags )
2594
2595
2600 enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2601 {
2602 RenderPartialOutputs = 1 << 0,
2603 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2604 AffectsLabeling = 1 << 2,
2605 };
2606 Q_ENUM( MapLayerRendererFlag )
2607
2608
2614 Q_FLAG( MapLayerRendererFlags )
2615
2616 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
2617 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
2618
2624 {
2625 AlwaysOutlines SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysOutlines ),
2626 AlwaysText SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysText ),
2627 PreferText,
2628 };
2629 Q_ENUM( TextRenderFormat )
2630
2631
2639 {
2640 UseAllLabels = 1 << 1,
2641 UsePartialCandidates = 1 << 2,
2642 // TODO QGIS 4.0: remove
2643 RenderOutlineLabels = 1 << 3,
2644 DrawLabelRectOnly = 1 << 4,
2645 DrawCandidates = 1 << 5,
2646 DrawUnplacedLabels = 1 << 6,
2647 CollectUnplacedLabels = 1 << 7,
2648 DrawLabelMetrics = 1 << 8,
2649 };
2650 Q_ENUM( LabelingFlag )
2651
2652
2660 Q_FLAG( LabelingFlags )
2661
2670 {
2671 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
2672 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
2673 };
2674 Q_ENUM( LabelPlacementEngineVersion )
2675
2676
2684 {
2685 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
2686 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
2687 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
2688 };
2689 Q_ENUM( TextOrientation )
2690
2691
2699 {
2700 Rectangle SIP_MONKEYPATCH_COMPAT_NAME( Rect ),
2701 Point,
2702 Labeling SIP_MONKEYPATCH_COMPAT_NAME( Label ),
2703 RectangleCapHeightBased,
2704 RectangleAscentBased,
2705 };
2706 Q_ENUM( TextLayoutMode )
2707
2708
2716 {
2717 Text = 1 << 0,
2718 Buffer = 1 << 1,
2719 Background = 1 << 2,
2720 Shadow = 1 << 3,
2721 };
2722 Q_ENUM( TextComponent )
2723
2724
2729 Q_DECLARE_FLAGS( TextComponents, TextComponent )
2730 Q_FLAG( TextComponents )
2731
2740 {
2741 Left SIP_MONKEYPATCH_COMPAT_NAME( AlignLeft ),
2742 Center SIP_MONKEYPATCH_COMPAT_NAME( AlignCenter ),
2743 Right SIP_MONKEYPATCH_COMPAT_NAME( AlignRight ),
2744 Justify SIP_MONKEYPATCH_COMPAT_NAME( AlignJustify ),
2745 };
2746 Q_ENUM( TextHorizontalAlignment )
2747
2748
2759 {
2760 Top SIP_MONKEYPATCH_COMPAT_NAME( AlignTop ),
2761 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
2762 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
2763 };
2764 Q_ENUM( TextVerticalAlignment )
2765
2766
2775 {
2776 Normal,
2777 SuperScript,
2778 SubScript,
2779 };
2780 Q_ENUM( TextCharacterVerticalAlignment )
2781
2782
2790 {
2791 Distance = 0,
2792 SnapToGrid = 1,
2793 Visvalingam = 2,
2794 SnappedToGridGlobal = 3,
2795 };
2796 Q_ENUM( VectorSimplificationAlgorithm )
2797
2798
2806 {
2807 NoSimplification = 0,
2808 GeometrySimplification = 1,
2809 AntialiasingSimplification = 2,
2810 FullSimplification = 3,
2811 };
2812 Q_ENUM( VectorRenderingSimplificationFlag )
2813
2814
2823
2830 {
2831 Generic,
2832 ShadowOffset,
2833 BlurSize,
2834 GlowSpread,
2835 };
2836 Q_ENUM( RenderSubcomponentProperty )
2837
2838
2843 {
2844 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
2845 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
2846 };
2847 Q_ENUM( VertexType )
2848
2849
2857 {
2858 Square,
2859 Diamond,
2860 Pentagon,
2861 Hexagon,
2862 Triangle,
2863 EquilateralTriangle,
2864 Star,
2865 Arrow,
2866 Circle,
2867 Cross,
2868 CrossFill,
2869 Cross2,
2870 Line,
2871 ArrowHead,
2872 ArrowHeadFilled,
2873 SemiCircle,
2874 ThirdCircle,
2875 QuarterCircle,
2876 QuarterSquare,
2877 HalfSquare,
2878 DiagonalHalfSquare,
2879 RightHalfTriangle,
2880 LeftHalfTriangle,
2881 Octagon,
2882 SquareWithCorners,
2883 AsteriskFill,
2884 HalfArc,
2885 ThirdArc,
2886 QuarterArc,
2887 ParallelogramRight,
2888 ParallelogramLeft,
2889 Trapezoid,
2890 Shield,
2891 DiamondStar,
2892 Heart,
2893 Decagon,
2894 RoundedSquare,
2895 };
2896 Q_ENUM( MarkerShape )
2897
2898
2906 {
2907 Interval = 1 << 0,
2908 Vertex = 1 << 1,
2909 LastVertex = 1 << 2,
2910 FirstVertex = 1 << 3,
2911 CentralPoint = 1 << 4,
2912 CurvePoint = 1 << 5,
2913 SegmentCenter = 1 << 6,
2914 InnerVertices = 1 << 7,
2915 };
2916 Q_ENUM( MarkerLinePlacement )
2918 Q_FLAG( MarkerLinePlacements )
2919
2926 {
2927 IntervalCartesian2D = 1 << 0,
2928 IntervalZ = 1 << 1,
2929 IntervalM = 1 << 2,
2930 Vertex = 1 << 3,
2931 };
2932 Q_ENUM( LinearReferencingPlacement )
2933
2934
2940 {
2941 CartesianDistance2D,
2942 Z,
2943 M,
2944 };
2945 Q_ENUM( LinearReferencingLabelSource )
2946
2947
2955 {
2956 SimpleTwoColor,
2957 ColorRamp,
2958 };
2959 Q_ENUM( GradientColorSource )
2960
2961
2969 {
2970 Linear,
2971 Radial,
2972 Conical,
2973 };
2974 Q_ENUM( GradientType )
2975
2976
2984 {
2985 Feature,
2986 Viewport,
2987 };
2988 Q_ENUM( SymbolCoordinateReference )
2989
2990
2999 {
3000 Pad,
3001 Reflect,
3002 Repeat,
3003 };
3004 Q_ENUM( GradientSpread )
3005
3006
3014 {
3015 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
3016 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
3017 };
3018 Q_ENUM( PointCountMethod )
3019
3020
3025 enum class MarkerClipMode : int
3026 {
3027 NoClipping,
3028 Shape,
3029 CentroidWithin,
3030 CompletelyWithin,
3031 };
3032 Q_ENUM( MarkerClipMode )
3033
3034
3039 enum class LineClipMode : int
3040 {
3041 ClipPainterOnly,
3042 ClipToIntersection,
3043 NoClipping,
3044 };
3045 Q_ENUM( LineClipMode )
3046
3047
3053 {
3054 NoRule,
3055 FullDash,
3056 HalfDash,
3057 FullGap,
3058 HalfGap,
3059 };
3060 Q_ENUM( DashPatternLineEndingRule )
3061
3062
3068 {
3069 ScaleBothDashAndGap,
3070 ScaleDashOnly,
3071 ScaleGapOnly,
3072 };
3073 Q_ENUM( DashPatternSizeAdjustment )
3074
3075
3083 {
3084 Color SIP_MONKEYPATCH_COMPAT_NAME( GraduatedColor ),
3085 Size SIP_MONKEYPATCH_COMPAT_NAME( GraduatedSize ),
3086 };
3087 Q_ENUM( GraduatedMethod )
3088
3089
3095 {
3096 NoLabels,
3097 EveryLabel,
3098 FirstLabel,
3099 LastLabel,
3100 FirstAndLastLabels,
3101 };
3102 Q_ENUM( PlotAxisSuffixPlacement )
3103
3104
3108 enum class DpiMode
3109 {
3110 All = 7,
3111 Off = 0,
3112 QGIS = 1,
3113 UMN = 2,
3114 GeoServer = 4,
3115 };
3116 Q_ENUM( DpiMode )
3117
3118
3123 {
3124 Undefined = 0,
3125 StandardDpi = 1,
3126 HighDpi = 2,
3127 };
3128 Q_ENUM( TilePixelRatio )
3129
3130 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
3131
3132
3140 {
3141 MixedCase = 0,
3142 AllUppercase = 1,
3143 AllLowercase = 2,
3144 ForceFirstLetterToCapital = 4,
3145 SmallCaps = 5,
3146 TitleCase = 1004,
3147 UpperCamelCase = 1005,
3148 AllSmallCaps = 1006,
3149 };
3150 Q_ENUM( Capitalization )
3151
3152
3157 enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
3158 {
3159 WrapLines = 1 << 0,
3160 };
3161 Q_ENUM( TextRendererFlag )
3163 Q_FLAG( TextRendererFlags )
3164
3171 {
3172 MapBox,
3173 Esri,
3174 };
3176
3183 {
3184 Clockwise,
3185 CounterClockwise,
3186 NoOrientation,
3187 };
3188 Q_ENUM( AngularDirection )
3189
3190
3195 enum class RendererUsage : int
3196 {
3197 View,
3198 Export,
3199 Unknown,
3200 };
3201 Q_ENUM( RendererUsage )
3202
3203
3208 enum class MapCanvasFlag : int SIP_ENUM_BASETYPE( IntFlag )
3209 {
3210 ShowMainAnnotationLayer = 1 << 0,
3211 };
3212 Q_ENUM( MapCanvasFlag )
3213
3214
3219 Q_DECLARE_FLAGS( MapCanvasFlags, MapCanvasFlag )
3220 Q_FLAG( MapCanvasFlags )
3221
3227 enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
3228 {
3229 Sync3DTo2D = 1 << 0,
3230 Sync2DTo3D = 1 << 1,
3231 };
3232 Q_ENUM( ViewSyncModeFlag )
3234
3241 {
3242 Always,
3243 WhenOutsideVisibleExtent,
3244 Never,
3245 };
3246 Q_ENUM( MapRecenteringMode )
3247
3248
3253 enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
3254 {
3255 LocalProfile = 1 << 0,
3256// Project = 1 << 1, //!< QGIS Project (not yet implemented)
3257 };
3258 Q_ENUM( HistoryProviderBackend )
3260 Q_FLAG( HistoryProviderBackends )
3261
3270 {
3271 MapLayer SIP_MONKEYPATCH_COMPAT_NAME( TypeMapLayer ) = -2,
3272 VectorAnyGeometry SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorAnyGeometry ) = -1,
3273 VectorPoint SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPoint ) = 0,
3274 VectorLine SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorLine ) = 1,
3275 VectorPolygon SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPolygon ) = 2,
3276 Raster SIP_MONKEYPATCH_COMPAT_NAME( TypeRaster ) = 3,
3277 File SIP_MONKEYPATCH_COMPAT_NAME( TypeFile ) = 4,
3278 Vector SIP_MONKEYPATCH_COMPAT_NAME( TypeVector ) = 5,
3279 Mesh SIP_MONKEYPATCH_COMPAT_NAME( TypeMesh ) = 6,
3280 Plugin SIP_MONKEYPATCH_COMPAT_NAME( TypePlugin ) = 7,
3281 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( TypePointCloud ) = 8,
3282 Annotation SIP_MONKEYPATCH_COMPAT_NAME( TypeAnnotation ) = 9,
3283 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorTile ) = 10
3284 };
3285 Q_ENUM( ProcessingSourceType )
3286
3287
3288
3296 {
3297 DeemphasiseSearchResults SIP_MONKEYPATCH_COMPAT_NAME( FlagDeemphasiseSearchResults ) = 1 << 1,
3298 CompatibleWithVirtualRaster SIP_MONKEYPATCH_COMPAT_NAME( FlagCompatibleWithVirtualRaster ) = 1 << 2,
3299 };
3301
3310 Q_FLAG( ProcessingProviderFlags )
3311
3312
3320 {
3321 HideFromToolbox SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromToolbox ) = 1 << 1,
3322 HideFromModeler SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromModeler ) = 1 << 2,
3323 SupportsBatch SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsBatch ) = 1 << 3,
3324 CanCancel SIP_MONKEYPATCH_COMPAT_NAME( FlagCanCancel ) = 1 << 4,
3325 RequiresMatchingCrs SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresMatchingCrs ) = 1 << 5,
3326 NoThreading SIP_MONKEYPATCH_COMPAT_NAME( FlagNoThreading ) = 1 << 6,
3327 DisplayNameIsLiteral SIP_MONKEYPATCH_COMPAT_NAME( FlagDisplayNameIsLiteral ) = 1 << 7,
3328 SupportsInPlaceEdits SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsInPlaceEdits ) = 1 << 8,
3329 KnownIssues SIP_MONKEYPATCH_COMPAT_NAME( FlagKnownIssues ) = 1 << 9,
3330 CustomException SIP_MONKEYPATCH_COMPAT_NAME( FlagCustomException ) = 1 << 10,
3331 PruneModelBranchesBasedOnAlgorithmResults SIP_MONKEYPATCH_COMPAT_NAME( FlagPruneModelBranchesBasedOnAlgorithmResults ) = 1 << 11,
3332 SkipGenericModelLogging SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGenericModelLogging ) = 1 << 12,
3333 NotAvailableInStandaloneTool SIP_MONKEYPATCH_COMPAT_NAME( FlagNotAvailableInStandaloneTool ) = 1 << 13,
3334 RequiresProject SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresProject ) = 1 << 14,
3335 SecurityRisk = 1 << 15,
3336 Deprecated SIP_MONKEYPATCH_COMPAT_NAME( FlagDeprecated ) = HideFromToolbox | HideFromModeler,
3337 };
3339
3348 Q_FLAG( ProcessingAlgorithmFlags )
3349
3350
3356 {
3357 RegeneratesPrimaryKey = 1 << 0,
3358 RegeneratesPrimaryKeyInSomeScenarios = 1 << 1,
3359 };
3360 Q_ENUM( ProcessingAlgorithmDocumentationFlag )
3361
3362
3369
3379 {
3380 NotAvailable,
3381 Available,
3382 };
3383 Q_ENUM( ProcessingPropertyAvailability )
3384
3385
3393 {
3394 DefaultLevel = 0,
3395 Verbose,
3396 ModelDebug,
3397 };
3398 Q_ENUM( ProcessingLogLevel )
3399
3400
3408 {
3409 OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck ) = 1 << 0,
3410 CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature ) = 1 << 1,
3411 };
3412 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3413
3414
3423
3432 {
3433 SkipGeometryValidityChecks SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGeometryValidityChecks ) = 1 << 1,
3434 };
3435 Q_ENUM( ProcessingFeatureSourceFlag )
3436
3437
3446
3458 {
3459 ExposeToModeler = 1
3460 };
3461 Q_ENUM( ProcessingParameterTypeFlag )
3462
3463
3475
3484 {
3485 Advanced SIP_MONKEYPATCH_COMPAT_NAME( FlagAdvanced ) = 1 << 1,
3486 Hidden SIP_MONKEYPATCH_COMPAT_NAME( FlagHidden ) = 1 << 2,
3487 Optional SIP_MONKEYPATCH_COMPAT_NAME( FlagOptional ) = 1 << 3,
3488 IsModelOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagIsModelOutput ) = 1 << 4,
3489 };
3490 Q_ENUM( ProcessingParameterFlag )
3491
3492
3500 Q_FLAG( ProcessingParameterFlags )
3501
3510 {
3511 File = 0,
3512 Folder,
3513 };
3514 Q_ENUM( ProcessingFileParameterBehavior )
3515
3516
3524 {
3525 Integer,
3526 Double,
3527 };
3528 Q_ENUM( ProcessingNumberParameterType )
3529
3530
3538 {
3539 Any = -1,
3540 Numeric = 0,
3541 String = 1,
3542 DateTime = 2,
3543 Binary = 3,
3544 Boolean = 4,
3545 };
3546 Q_ENUM( ProcessingFieldParameterDataType )
3547
3548
3556 {
3557 DateTime,
3558 Date,
3559 Time,
3560 };
3561 Q_ENUM( ProcessingDateTimeParameterDataType )
3562
3563
3569 {
3570 ModelParameter,
3571 ChildOutput,
3572 StaticValue,
3573 Expression,
3574 ExpressionText,
3575 ModelOutput,
3576 };
3577 Q_ENUM( ProcessingModelChildParameterSource )
3578
3579
3585 {
3586 NotExecuted,
3587 Success,
3588 Failed,
3589 };
3590 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
3591
3592
3600 {
3601 Vertices,
3602 StructureLines,
3603 BreakLines
3604 };
3605 Q_ENUM( ProcessingTinInputLayerType )
3606
3607
3613 {
3614 Wkt SIP_MONKEYPATCH_COMPAT_NAME( FormatWkt ),
3615 Proj SIP_MONKEYPATCH_COMPAT_NAME( FormatProj ),
3616 };
3617 Q_ENUM( CrsDefinitionFormat )
3618
3619
3627 enum class FieldDomainSplitPolicy : int
3628 {
3629 DefaultValue,
3630 Duplicate,
3631 GeometryRatio,
3632 UnsetField,
3633 };
3634 Q_ENUM( FieldDomainSplitPolicy )
3635
3636
3644 enum class FieldDomainMergePolicy : int
3645 {
3646 DefaultValue,
3647 Sum,
3648 GeometryWeighted,
3649 };
3650 Q_ENUM( FieldDomainMergePolicy )
3651
3652
3659 enum class FieldDuplicatePolicy : int
3660 {
3661 DefaultValue,
3662 Duplicate,
3663 UnsetField,
3664 };
3665 Q_ENUM( FieldDuplicatePolicy )
3666
3667
3672 enum class FieldDomainType : int
3673 {
3674 Coded,
3675 Range,
3676 Glob,
3677 };
3678 Q_ENUM( FieldDomainType )
3679
3680
3685 enum class TransactionMode : int
3686 {
3687 Disabled = 0,
3688 AutomaticGroups = 1,
3689 BufferedGroups = 2,
3690 };
3691 Q_ENUM( TransactionMode )
3692
3693
3698 enum class AltitudeClamping : int
3699 {
3700 Absolute,
3701 Relative,
3702 Terrain,
3703 };
3704 Q_ENUM( AltitudeClamping )
3705
3706
3711 enum class AltitudeBinding : int
3712 {
3713 Vertex,
3714 Centroid,
3715 };
3716 Q_ENUM( AltitudeBinding )
3717
3718
3723 enum class RangeLimits : int
3724 {
3725 IncludeBoth = 0,
3726 IncludeLowerExcludeUpper,
3727 ExcludeLowerIncludeUpper,
3728 ExcludeBoth,
3729 };
3730 Q_ENUM( RangeLimits )
3731
3732
3737 enum class RasterElevationMode : int
3738 {
3739 FixedElevationRange = 0,
3740 RepresentsElevationSurface = 1,
3741 FixedRangePerBand = 2,
3742 DynamicRangePerBand = 3,
3743 };
3744 Q_ENUM( RasterElevationMode )
3745
3746
3751 enum class MeshElevationMode : int
3752 {
3753 FixedElevationRange = 0,
3754 FromVertices = 1,
3755 FixedRangePerGroup = 2,
3756 };
3757 Q_ENUM( MeshElevationMode )
3758
3759
3765 {
3766 NoConstraint,
3767 Perpendicular,
3768 Parallel
3769 };
3770 Q_ENUM( BetweenLineConstraint )
3771
3772
3777 enum class LineExtensionSide : int
3778 {
3779 BeforeVertex,
3780 AfterVertex,
3781 NoVertex,
3782 };
3783 Q_ENUM( LineExtensionSide )
3784
3785
3786
3790 enum class CadConstraintType : int
3791 {
3792 Generic,
3793 Angle,
3794 Distance,
3795 XCoordinate,
3796 YCoordinate,
3797 ZValue,
3798 MValue,
3799 };
3800 Q_ENUM( CadConstraintType )
3801
3802
3803
3808 enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
3809 {
3810 EvaluateDefaultValuesOnProviderSide = 1 << 0,
3811 TrustStoredLayerStatistics = 1 << 1,
3812 RememberLayerEditStatusBetweenSessions = 1 << 2,
3813 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
3814 };
3815 Q_ENUM( ProjectFlag )
3816 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
3817 Q_FLAG( ProjectFlags )
3818
3824 enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
3825 {
3826 ShowContextMenu = 1 << 0,
3827 };
3828 Q_ENUM( PlotToolFlag )
3829 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
3830 Q_FLAG( PlotToolFlags )
3831
3832
3840 enum class Point3DShape : int
3841 {
3842 Cylinder,
3843 Sphere,
3844 Cone,
3845 Cube,
3846 Torus,
3847 Plane,
3848 ExtrudedText,
3849 Model,
3850 Billboard,
3851 };
3852 Q_ENUM( Point3DShape )
3853
3854
3859 enum class LightSourceType : int
3860 {
3861 Point,
3862 Directional,
3863 };
3864 Q_ENUM( LightSourceType )
3865
3866
3871 enum class NavigationMode : int
3872 {
3873 TerrainBased,
3874 Walk
3875 };
3876 Q_ENUM( NavigationMode )
3877
3878
3883 enum class VerticalAxisInversion : int
3884 {
3885 Never,
3886 WhenDragging,
3887 Always,
3888 };
3889 Q_ENUM( VerticalAxisInversion )
3890
3891
3897 {
3898 Line,
3899 FillBelow,
3900 FillAbove,
3901 };
3903
3909 enum class VectorProfileType : int
3910 {
3911 IndividualFeatures,
3912 ContinuousSurface,
3913 };
3915
3921 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
3922 {
3923 RespectsMaximumErrorMapUnit = 1 << 0,
3924 RespectsDistanceRange = 1 << 1,
3925 RespectsElevationRange = 1 << 2,
3926 };
3927 Q_ENUM( ProfileGeneratorFlag )
3929 Q_FLAG( ProfileGeneratorFlags )
3930
3936 enum class ProfileExportType : int
3937 {
3938 Features3D,
3939 Profile2D,
3940 DistanceVsElevationTable,
3941 };
3943
3950 {
3951 Square,
3952 Circle,
3953 };
3954 Q_ENUM( PointCloudSymbol )
3955
3956
3962 {
3963 Default,
3964 BottomToTop,
3965 TopToBottom,
3966 };
3967 Q_ENUM( PointCloudDrawOrder )
3968
3969
3977 {
3978 AllowIntersections,
3979 AvoidIntersectionsCurrentLayer,
3980 AvoidIntersectionsLayers,
3981 };
3982 Q_ENUM( AvoidIntersectionsMode )
3983
3984
3992 {
3993 Qgz,
3994 Qgs,
3995 };
3996 Q_ENUM( ProjectFileFormat )
3997
3998
4006 {
4007 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers ) = 1 << 0,
4008 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts ) = 1 << 1,
4009 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata ) = 1 << 2,
4010 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
4011 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
4012 DontLoadProjectStyles = 1 << 5,
4013 ForceReadOnlyLayers = 1 << 6,
4014 DontUpgradeAnnotations = 1 << 7,
4015 };
4016 Q_ENUM( ProjectReadFlag )
4017
4018
4026 Q_FLAG( ProjectReadFlags )
4027
4036 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
4037 {
4038 ProjectStyles = 1 << 0,
4039 };
4040 Q_ENUM( ProjectCapability )
4041
4042
4048 Q_FLAG( ProjectCapabilities )
4049
4056 {
4057 Vector,
4058 Raster,
4059 RasterDem,
4060 GeoJson,
4061 Image,
4062 Video,
4063 Unknown,
4064 };
4065 Q_ENUM( MapBoxGlStyleSourceType )
4066
4067
4075 {
4076 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
4077 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
4078 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
4079 GlobeServer,
4080 GPServer,
4081 GeocodeServer,
4082 Unknown,
4083 };
4084 Q_ENUM( ArcGisRestServiceType )
4085
4086
4094 {
4095 Normal,
4096 Generated,
4097 };
4098 Q_ENUM( RelationshipType )
4099
4100
4108 {
4109 Association,
4110 Composition,
4111 };
4112 Q_ENUM( RelationshipStrength )
4113
4114
4120 {
4121 OneToOne,
4122 OneToMany,
4123 ManyToOne,
4124 ManyToMany,
4125 };
4126 Q_ENUM( RelationshipCardinality )
4127
4128
4133 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
4134 {
4135 MultipleFieldKeys = 1 << 0,
4136 ForwardPathLabel = 1 << 1,
4137 BackwardPathLabel = 1 << 2,
4138 };
4139 Q_ENUM( RelationshipCapability )
4140
4141
4147 Q_FLAG( RelationshipCapabilities )
4148
4154 enum class CoordinateDisplayType : int
4155 {
4156 MapCrs,
4157 MapGeographic,
4158 CustomCrs,
4159 };
4160 Q_ENUM( CoordinateDisplayType )
4161
4162
4167 enum class SettingsOrigin : int
4168 {
4169 Any,
4170 Global,
4171 Local,
4172 };
4173 Q_ENUM( SettingsOrigin )
4174
4175
4180 enum class ScriptLanguage : int
4181 {
4182 Css,
4183 QgisExpression,
4184 Html,
4185 JavaScript,
4186 Json,
4187 Python,
4188 R,
4189 Sql,
4190 Batch,
4191 Bash,
4192 Unknown,
4193 };
4194 Q_ENUM( ScriptLanguage )
4195
4196
4204 {
4205 Reformat = 1 << 0,
4206 CheckSyntax = 1 << 1,
4207 ToggleComment = 1 << 2,
4208 };
4209 Q_ENUM( ScriptLanguageCapability )
4210
4211
4218
4225 {
4226 AboveInsertionPoint,
4227 TopOfTree,
4228 OptimalInInsertionGroup,
4229 };
4230 Q_ENUM( LayerTreeInsertionMethod )
4231
4232
4237 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
4238 {
4239 SkipVisibilityCheck = 1 << 0,
4240 };
4241 Q_ENUM( LayerTreeFilterFlag )
4242
4243
4249 Q_FLAG( LayerTreeFilterFlags )
4250
4251
4259 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
4260 {
4261 ShowRuleDetails = 1 << 0,
4262 };
4263 Q_ENUM( LegendJsonRenderFlag )
4265 Q_FLAG( LegendJsonRenderFlags )
4266
4274 enum class ActionType : int
4275 {
4276 Invalid,
4277 MapLayerAction,
4278 AttributeAction
4279 };
4280 Q_ENUM( ActionType )
4281
4282
4289 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
4290 {
4291 Layer = 1 << 0,
4292 SingleFeature = 1 << 1,
4293 MultipleFeatures = 1 << 2,
4294 AllActions = Layer | SingleFeature | MultipleFeatures
4295 };
4296 Q_ENUM( MapLayerActionTarget )
4297
4298
4306 Q_FLAG( MapLayerActionTargets )
4307
4315 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
4316 {
4317 EnabledOnlyWhenEditable = 1 << 1,
4318 };
4319 Q_ENUM( MapLayerActionFlag )
4320
4321
4329 Q_FLAG( MapLayerActionFlags )
4330
4339 {
4340 Generic,
4341 GenericPython,
4342 Mac,
4343 Windows,
4344 Unix,
4345 OpenUrl,
4346 SubmitUrlEncoded,
4347 SubmitUrlMultipart,
4348 };
4349 Q_ENUM( AttributeActionType )
4350
4351
4357 {
4358 Created,
4359 Published,
4360 Revised,
4361 Superseded,
4362 };
4363 Q_ENUM( MetadataDateType )
4364
4365
4376 {
4377 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
4378 GrayIndex = 1,
4379 PaletteIndex = 2,
4380 RedBand = 3,
4381 GreenBand = 4,
4382 BlueBand = 5,
4383 AlphaBand = 6,
4384 HueBand = 7,
4385 SaturationBand = 8,
4386 LightnessBand = 9,
4387 CyanBand = 10,
4388 MagentaBand = 11,
4389 YellowBand = 12,
4390 BlackBand = 13,
4391 YCbCr_YBand = 14,
4392 YCbCr_CbBand = 15,
4393 YCbCr_CrBand = 16,
4394 ContinuousPalette = 17,
4395
4396 // Note: values between PanBand and SAR_P_Band match additions done in
4397 // GDAL 3.10, except that the numeric values of the constant don't match GDAL ones
4398
4399 PanBand = 18,
4400 CoastalBand = 19,
4401 RedEdgeBand = 20,
4402 NIRBand = 21,
4403 SWIRBand = 22,
4404 MWIRBand = 23,
4405 LWIRBand = 24,
4406 TIRBand = 25,
4407 OtherIRBand = 26,
4408 SAR_Ka_Band = 27,
4409 SAR_K_Band = 28,
4410 SAR_Ku_Band = 30,
4411 SAR_X_Band = 31,
4412 SAR_C_Band = 32,
4413 SAR_S_Band = 33,
4414 SAR_L_Band = 34,
4415 SAR_P_Band = 35,
4416 };
4417 Q_ENUM( RasterColorInterpretation )
4418
4419
4427 {
4428 GrayOrUndefined,
4429 Palette,
4430 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
4431 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
4432 };
4433 Q_ENUM( RasterLayerType )
4434
4435
4443 {
4444 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
4445 SingleBandGray,
4446 SingleBandPseudoColor,
4447 PalettedColor,
4448 PalettedSingleBandGray,
4449 PalettedSingleBandPseudoColor,
4450 PalettedMultiBandColor,
4451 MultiBandSingleBandGray,
4452 MultiBandSingleBandPseudoColor,
4453 MultiBandColor,
4454 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
4455 };
4456 Q_ENUM( RasterDrawingStyle )
4457
4458
4465 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
4466 {
4467 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
4468 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
4469 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
4470 };
4471 Q_ENUM( RasterPyramidFormat )
4472
4473
4481 {
4482 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
4483 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
4484 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
4485 };
4486 Q_ENUM( RasterBuildPyramidOption )
4487
4488
4496 {
4497 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
4498 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
4499 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
4500 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
4501 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
4502 };
4503 Q_ENUM( RasterIdentifyFormat )
4504
4505 // TODO QGIS 4 -- remove NoCapabilities and rely on RasterInterfaceCapabilities() instead
4506 // remove deprecated members
4507 // Remove "Identify" member, and replace with combinations of IdentifyValue/IdentifyText/etc
4508
4509
4517 {
4518 NoCapabilities = 0,
4519 Size = 1 << 1,
4520 Create = 1 << 2,
4521 Remove = 1 << 3,
4522 BuildPyramids = 1 << 4,
4523 Identify = 1 << 5,
4524 IdentifyValue = 1 << 6,
4525 IdentifyText = 1 << 7,
4526 IdentifyHtml = 1 << 8,
4527 IdentifyFeature = 1 << 9,
4528 Prefetch = 1 << 10,
4529 };
4530 Q_ENUM( RasterInterfaceCapability )
4531
4532
4539
4540 // TODO QGIS 4 -- remove NoProviderCapabilities and rely on RasterProviderCapabilities() instead
4541
4550 {
4551 NoProviderCapabilities = 0,
4552 ReadLayerMetadata = 1 << 1,
4553 WriteLayerMetadata = 1 << 2,
4554 ProviderHintBenefitsFromResampling = 1 << 3,
4555 ProviderHintCanPerformProviderResampling = 1 << 4,
4556 ReloadData = 1 << 5,
4557 DpiDependentData = 1 << 6,
4558 NativeRasterAttributeTable = 1 << 7,
4559 BuildPyramids = 1 << 8,
4560 };
4561 Q_ENUM( RasterProviderCapability )
4562
4563
4572
4579 {
4580 HighestElevation,
4581 NewerElevation,
4582 };
4583 Q_ENUM( ElevationMapCombineMethod )
4584
4585
4594 {
4595 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
4596 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
4597 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
4598 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
4599 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
4600 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
4601 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
4602 Burn SIP_MONKEYPATCH_COMPAT_NAME( BlendBurn ),
4603 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
4604 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
4605 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
4606 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
4607 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
4608 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
4609 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
4610 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
4611 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
4612 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
4613 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
4614 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
4615 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
4616 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
4617 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
4618 Xor SIP_MONKEYPATCH_COMPAT_NAME( BlendXor ),
4619 };
4620 Q_ENUM( BlendMode )
4621
4622
4630 {
4631 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
4632 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
4633 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
4634 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
4635 };
4636 Q_ENUM( SystemOfMeasurement )
4637
4638
4645 {
4646 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
4647 Pixels,
4648 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
4649 };
4650 Q_ENUM( MapToolUnit )
4651
4652
4660 {
4661 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
4662 Area SIP_MONKEYPATCH_COMPAT_NAME( TypeArea ),
4663 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
4664 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
4665 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
4666 };
4667 Q_ENUM( UnitType )
4668
4669
4677 {
4678 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
4679 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
4680 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
4681 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
4682 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
4683 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
4684 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
4685 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
4686 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
4687 Inches,
4688 ChainsInternational,
4689 ChainsBritishBenoit1895A,
4690 ChainsBritishBenoit1895B,
4691 ChainsBritishSears1922Truncated,
4692 ChainsBritishSears1922,
4693 ChainsClarkes,
4694 ChainsUSSurvey,
4695 FeetBritish1865,
4696 FeetBritish1936,
4697 FeetBritishBenoit1895A,
4698 FeetBritishBenoit1895B,
4699 FeetBritishSears1922Truncated,
4700 FeetBritishSears1922,
4701 FeetClarkes,
4702 FeetGoldCoast,
4703 FeetIndian,
4704 FeetIndian1937,
4705 FeetIndian1962,
4706 FeetIndian1975,
4707 FeetUSSurvey,
4708 LinksInternational,
4709 LinksBritishBenoit1895A,
4710 LinksBritishBenoit1895B,
4711 LinksBritishSears1922Truncated,
4712 LinksBritishSears1922,
4713 LinksClarkes,
4714 LinksUSSurvey,
4715 YardsBritishBenoit1895A,
4716 YardsBritishBenoit1895B,
4717 YardsBritishSears1922Truncated,
4718 YardsBritishSears1922,
4719 YardsClarkes,
4720 YardsIndian,
4721 YardsIndian1937,
4722 YardsIndian1962,
4723 YardsIndian1975,
4724 MilesUSSurvey,
4725 Fathoms,
4726 MetersGermanLegal,
4727 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
4728 };
4729 Q_ENUM( DistanceUnit )
4730
4731
4739 {
4740 Standard,
4741 Geographic,
4742 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
4743 };
4744 Q_ENUM( DistanceUnitType )
4745
4746
4754 {
4755 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
4756 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
4757 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
4758 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
4759 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
4760 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
4761 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
4762 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
4763 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
4764 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
4765 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
4766 SquareInches,
4767 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
4768 };
4769 Q_ENUM( AreaUnit )
4770
4771
4779 {
4780 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
4781 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
4782 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
4783 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
4784 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
4785 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
4786 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
4787 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
4788 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
4789 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
4790 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
4791 };
4792 Q_ENUM( VolumeUnit )
4793
4794
4802 {
4803 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
4804 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
4805 Gon SIP_MONKEYPATCH_COMPAT_NAME( AngleGon ),
4806 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
4807 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
4808 Turn SIP_MONKEYPATCH_COMPAT_NAME( AngleTurn ),
4809 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
4810 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
4811 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
4812 };
4813 Q_ENUM( AngleUnit )
4814
4815
4823 {
4824 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
4825 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
4826 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
4827 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
4828 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
4829 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
4830 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
4831 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
4832 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
4833 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
4834 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
4835 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
4836 };
4837 Q_ENUM( TemporalUnit )
4838
4839
4847 {
4848 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
4849 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
4850 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
4851 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
4852 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
4853 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
4854 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
4855 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
4856 };
4857 Q_ENUM( RenderUnit )
4858
4859
4867 {
4868 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
4869 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
4870 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
4871 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
4872 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
4873 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
4874 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
4875 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
4876 };
4877 Q_ENUM( LayoutUnit )
4878
4879
4887 {
4888 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
4889 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
4890 };
4891 Q_ENUM( LayoutUnitType )
4892
4893
4901 {
4902 SVG SIP_MONKEYPATCH_COMPAT_NAME( FormatSVG ) = 0,
4903 Raster SIP_MONKEYPATCH_COMPAT_NAME( FormatRaster ),
4904 Unknown SIP_MONKEYPATCH_COMPAT_NAME( FormatUnknown ),
4905 };
4906 Q_ENUM( PictureFormat )
4907
4908
4913 enum class ScaleCalculationMethod : int
4914 {
4915 HorizontalTop = 0,
4916 HorizontalMiddle,
4917 HorizontalBottom,
4918 HorizontalAverage,
4919 };
4920 Q_ENUM( ScaleCalculationMethod )
4921
4922
4930 {
4931 Left SIP_MONKEYPATCH_COMPAT_NAME( AlignLeft ) = 0,
4932 Middle SIP_MONKEYPATCH_COMPAT_NAME( AlignMiddle ),
4933 Right SIP_MONKEYPATCH_COMPAT_NAME( AlignRight ),
4934 };
4935 Q_ENUM( ScaleBarAlignment )
4936
4937
4945 {
4946 Fixed SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFixed ) = 0,
4947 FitWidth SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFitWidth ) = 1
4948 };
4949 Q_ENUM( ScaleBarSegmentSizeMode )
4950
4951
4959 {
4960 AboveSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelAboveSegment ) = 0,
4961 BelowSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelBelowSegment ),
4962 };
4963 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
4964
4965
4973 {
4974 CenteredEdge SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredEdge ) = 0,
4975 CenteredSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredSegment ),
4976 };
4977 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
4978
4979
4984 enum class InputControllerType : int
4985 {
4986 Map2D,
4987 Map3D
4988 };
4990
4997 {
4998 NotSet,
4999 Unknown,
5000 OrdinaryTable,
5001 Index,
5002 Sequence,
5003 View,
5004 MaterializedView,
5005 CompositeType,
5006 ToastTable,
5007 ForeignTable,
5008 PartitionedTable,
5009 };
5010 Q_ENUM( PostgresRelKind )
5011
5012
5018 {
5019 SetFieldComment = 1 << 0,
5020 SetFieldAlias = 1 << 1,
5021 };
5022 Q_ENUM( DatabaseProviderConnectionCapability2 )
5025
5032 {
5033 SaveToDatabase = 1 << 1,
5034 LoadFromDatabase = 1 << 2,
5035 DeleteFromDatabase = 1 << 3
5036 };
5040
5041
5047 {
5048 LastProfile,
5049 DefaultProfile,
5050 AskUser,
5051 };
5052 Q_ENUM( UserProfileSelectionPolicy )
5053
5054
5062 {
5063 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
5064 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
5065 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
5066 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
5067 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
5068 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
5069 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
5070 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
5071 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
5072 };
5073 Q_ENUM( AttributeEditorType )
5074
5075
5081 {
5082 GroupBox,
5083 Tab,
5084 Row,
5085 };
5086 Q_ENUM( AttributeEditorContainerType )
5087
5088
5096 {
5097 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
5098 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
5099 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
5100 };
5101 Q_ENUM( AttributeFormLayout )
5102
5103
5111 {
5112 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
5113 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
5114 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
5115 };
5116 Q_ENUM( AttributeFormSuppression )
5117
5118
5126 {
5127 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
5128 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
5129 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
5130 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
5131 };
5132 Q_ENUM( AttributeFormPythonInitCodeSource )
5133
5134
5140 {
5141 Qgis,
5142 PointCloud,
5143 RasterCalculator,
5144 };
5145 Q_ENUM( ExpressionType )
5146
5147
5155 {
5156 NoSymbology = 0,
5157 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
5158 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
5159 };
5160 Q_ENUM( FeatureSymbologyExport )
5161
5162
5167 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
5168 {
5169 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
5170 };
5171 Q_ENUM( VectorTileProviderFlag )
5172
5173
5179 Q_FLAG( VectorTileProviderFlags )
5180
5186 {
5187 ReadLayerMetadata = 1 << 1,
5188 };
5189 Q_ENUM( VectorTileProviderCapability )
5190
5191
5198
5205 {
5206 Available,
5207 NotAvailable,
5208 AvailableNoChildren,
5209 UseLowerZoomLevelTile,
5210 };
5211 Q_ENUM( TileAvailability )
5212
5213
5219 {
5220 ReadLayerMetadata = 1 << 1,
5221 };
5222 Q_ENUM( TiledSceneProviderCapability )
5223
5224
5231
5238 {
5239 Region,
5240 OrientedBox,
5241 Sphere,
5242 };
5243 Q_ENUM( TiledSceneBoundingVolumeType )
5244
5245
5254 {
5255 Replacement,
5256 Additive,
5257 };
5258 Q_ENUM( TileRefinementProcess )
5259
5260
5266 {
5267 NoChildren,
5268 Available,
5269 NeedFetching,
5270 };
5271 Q_ENUM( TileChildrenAvailability )
5272
5273
5278 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
5279 {
5280 NoHierarchyFetch = 1 << 0,
5281 };
5282 Q_ENUM( TiledSceneRequestFlag )
5283
5284
5290 Q_FLAG( TiledSceneRequestFlags )
5291
5297 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
5298 {
5299 RequiresTextures = 1 << 0,
5300 ForceRasterRender = 1 << 1,
5301 RendersTriangles = 1 << 2,
5302 RendersLines = 1 << 3,
5303 };
5304 Q_ENUM( TiledSceneRendererFlag )
5305
5306
5312 Q_FLAG( TiledSceneRendererFlags )
5313
5319 enum class GdalResampleAlgorithm : int
5320 {
5321 RA_NearestNeighbour = 0,
5322 RA_Bilinear = 1,
5323 RA_Cubic = 2,
5324 RA_CubicSpline = 3,
5325 RA_Lanczos = 4,
5326 RA_Average = 5,
5327 RA_Mode = 6,
5328 RA_Max = 8,
5329 RA_Min = 9,
5330 RA_Median = 10,
5331 RA_Q1 = 11,
5332 RA_Q3 = 12,
5333 };
5334 Q_ENUM( GdalResampleAlgorithm )
5335
5336
5341 enum class VsiHandlerType : int
5342 {
5343 Invalid,
5344 Archive,
5345 Network,
5346 Cloud,
5347 Memory,
5348 Other,
5349 };
5350 Q_ENUM( VsiHandlerType )
5351
5352 // TODO QGIS 4: make All include all values (we can't do this before 4.0, as we need to keep
5353 // compatibility with code which expects all these statistics to give numeric results)
5354
5355
5360 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
5361 {
5362 Count = 1 << 0,
5363 Sum = 1 << 1,
5364 Mean = 1 << 2,
5365 Median = 1 << 3,
5366 StDev = 1 << 4,
5367 Min = 1 << 5,
5368 Max = 1 << 6,
5369 Range = 1 << 7,
5370 Minority = 1 << 8,
5371 Majority = 1 << 9,
5372 Variety = 1 << 10,
5373 Variance = 1 << 11,
5374 MinimumPoint = 1 << 12,
5375 MaximumPoint = 1 << 13,
5376 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
5377 AllNumeric = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
5378 Default = Count | Sum | Mean,
5379 };
5380 Q_ENUM( ZonalStatistic )
5381
5382
5388 Q_FLAG( ZonalStatistics )
5389
5395 enum class ZonalStatisticResult : int
5396 {
5397 Success = 0,
5398 LayerTypeWrong = 1,
5399 LayerInvalid,
5400 RasterInvalid,
5401 RasterBandInvalid,
5402 FailedToCreateField = 8,
5403 Canceled = 9
5404 };
5405 Q_ENUM( ZonalStatisticResult )
5406
5407
5414 {
5415 Count,
5416 CountDistinct,
5417 CountMissing,
5418 Min,
5419 Max,
5420 Sum,
5421 Mean,
5422 Median,
5423 StDev,
5424 StDevSample,
5425 Range,
5426 Minority,
5427 Majority,
5428 FirstQuartile,
5429 ThirdQuartile,
5430 InterQuartileRange,
5431 StringMinimumLength,
5432 StringMaximumLength,
5433 StringConcatenate,
5434 GeometryCollect,
5435 ArrayAggregate,
5436 StringConcatenateUnique
5437 };
5438 Q_ENUM( Aggregate )
5439
5440
5446 {
5447 Count = 1 << 0,
5448 CountMissing = 1 << 15,
5449 Sum = 1 << 1,
5450 Mean = 1 << 2,
5451 Median = 1 << 3,
5452 StDev = 1 << 4,
5453 StDevSample = 1 << 5,
5454 Min = 1 << 6,
5455 Max = 1 << 7,
5456 Range = 1 << 8,
5457 Minority = 1 << 9,
5458 Majority = 1 << 10,
5459 Variety = 1 << 11,
5460 FirstQuartile = 1 << 12,
5461 ThirdQuartile = 1 << 13,
5462 InterQuartileRange = 1 << 14,
5463 First = 1 << 16,
5464 Last = 1 << 17,
5465 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
5466 };
5467 Q_ENUM( Statistic )
5468
5469
5475 Q_FLAG( Statistics )
5476
5483 {
5484 Count = 1,
5485 CountDistinct = 2,
5486 CountMissing = 4,
5487 Min = 8,
5488 Max = 16,
5489 Range = 32,
5490 All = Count | CountDistinct | CountMissing | Min | Max | Range,
5491 };
5492 Q_ENUM( DateTimeStatistic )
5493
5494
5500 Q_FLAG( DateTimeStatistics )
5501
5508 {
5509 Count = 1,
5510 CountDistinct = 2,
5511 CountMissing = 4,
5512 Min = 8,
5513 Max = 16,
5514 MinimumLength = 32,
5515 MaximumLength = 64,
5516 MeanLength = 128,
5517 Minority = 256,
5518 Majority = 512,
5519 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
5520 };
5521 Q_ENUM( StringStatistic )
5522
5523
5529 Q_FLAG( StringStatistics )
5530
5537 {
5538 NoStatistic = 0,
5539 Min = 1,
5540 Max = 1 << 1,
5541 Range = 1 << 2,
5542 Sum = 1 << 3,
5543 Mean = 1 << 4,
5544 StdDev = 1 << 5,
5545 SumOfSquares = 1 << 6,
5546 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
5547 };
5548 Q_ENUM( RasterBandStatistic )
5549
5550
5556 Q_FLAG( RasterBandStatistics )
5557
5563 enum class SensorThingsEntity : int
5564 {
5565 Invalid,
5566 Thing,
5567 Location,
5568 HistoricalLocation,
5569 Datastream,
5570 Sensor,
5571 ObservedProperty,
5572 Observation,
5573 FeatureOfInterest,
5574 MultiDatastream,
5575 };
5576 Q_ENUM( SensorThingsEntity )
5577
5578
5583 enum class ColorModel : int
5584 {
5585 Rgb,
5586 Cmyk,
5587 };
5588 Q_ENUM( ColorModel )
5589
5590
5595 enum class DocumentationApi : int
5596 {
5597 PyQgis,
5598 PyQgisSearch,
5599 CppQgis,
5600 Qt,
5601 };
5602 Q_ENUM( DocumentationApi )
5603
5604
5609 enum class DocumentationBrowser : int
5610 {
5611 DeveloperToolsPanel,
5612 SystemWebBrowser,
5613 };
5614 Q_ENUM( DocumentationBrowser )
5615
5616
5619 static const double DEFAULT_SEARCH_RADIUS_MM;
5620
5622 static const float DEFAULT_MAPTOPIXEL_THRESHOLD;
5623
5629 static const QColor DEFAULT_HIGHLIGHT_COLOR;
5630
5634 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
5635
5639 static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
5640
5648 Q_DECL_DEPRECATED static const double SCALE_PRECISION;
5649
5654 static const double DEFAULT_Z_COORDINATE;
5655
5661 static const double DEFAULT_M_COORDINATE;
5662
5667 static const double UI_SCALE_FACTOR;
5668
5672 static const double DEFAULT_SNAP_TOLERANCE;
5673
5677 static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS;
5678
5684 static QString defaultProjectScales();
5685
5691 static int geosVersionInt();
5692
5698 static int geosVersionMajor();
5699
5705 static int geosVersionMinor();
5706
5712 static int geosVersionPatch();
5713
5719 static QString geosVersion();
5720};
5721
5724
5805
5806// hack to workaround warnings when casting void pointers
5807// retrieved from QLibrary::resolve to function pointers.
5808// It's assumed that this works on all systems supporting
5809// QLibrary
5810#define cast_to_fptr(f) f
5811
5812
5820// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
5821template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
5822{
5823 public:
5824
5829 explicit QgsSignalBlocker( Object *object )
5830 : mObject( object )
5831 , mPreviousState( object->blockSignals( true ) )
5832 {}
5833
5835 {
5836 mObject->blockSignals( mPreviousState );
5837 }
5838
5840 Object *operator->() { return mObject; }
5841
5842 private:
5843
5844 Object *mObject = nullptr;
5845 bool mPreviousState;
5846
5847};
5848
5861// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
5862template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
5863{
5864 return QgsSignalBlocker<Object>( object );
5865}
5866
5868CORE_EXPORT uint qHash( const QVariant &variant );
5869
5875inline QString qgsDoubleToString( double a, int precision = 17 )
5876{
5877 QString str;
5878 if ( precision )
5879 {
5880 if ( precision < 0 )
5881 {
5882 const double roundFactor = std::pow( 10, -precision );
5883 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
5884 }
5885 else
5886 {
5887 str = QString::number( a, 'f', precision );
5888 if ( str.contains( QLatin1Char( '.' ) ) )
5889 {
5890 // remove ending 0s
5891 int idx = str.length() - 1;
5892 while ( str.at( idx ) == '0' && idx > 1 )
5893 {
5894 idx--;
5895 }
5896 if ( idx < str.length() - 1 )
5897 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
5898 }
5899 }
5900 }
5901 else
5902 {
5903 str = QString::number( a, 'f', precision );
5904 }
5905 // avoid printing -0
5906 // see https://bugreports.qt.io/browse/QTBUG-71439
5907 if ( str == QLatin1String( "-0" ) )
5908 {
5909 return QLatin1String( "0" );
5910 }
5911 return str;
5912}
5913
5920inline bool qgsNanCompatibleEquals( double a, double b )
5921{
5922 const bool aIsNan = std::isnan( a );
5923 const bool bIsNan = std::isnan( b );
5924 if ( aIsNan || bIsNan )
5925 return aIsNan && bIsNan;
5926
5927 return a == b;
5928}
5929
5930#ifndef SIP_RUN
5931
5939template<typename T>
5940inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
5941{
5942 const bool aIsNan = std::isnan( a );
5943 const bool bIsNan = std::isnan( b );
5944 if ( aIsNan || bIsNan )
5945 return aIsNan && bIsNan;
5946
5947 const T diff = a - b;
5948 return diff >= -epsilon && diff <= epsilon;
5949}
5950#endif
5951
5958inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
5959{
5960 return qgsNumberNear<double>( a, b, epsilon );
5961}
5962
5969inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
5970{
5971 return qgsNumberNear<float>( a, b, epsilon );
5972}
5973
5975inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
5976{
5977 const bool aIsNan = std::isnan( a );
5978 const bool bIsNan = std::isnan( b );
5979 if ( aIsNan || bIsNan )
5980 return aIsNan && bIsNan;
5981
5982 // The most simple would be to print numbers as %.xe and compare as strings
5983 // but that is probably too costly
5984 // Then the fastest would be to set some bits directly, but little/big endian
5985 // has to be considered (maybe TODO)
5986 // Is there a better way?
5987 int aexp, bexp;
5988 const double ar = std::frexp( a, &aexp );
5989 const double br = std::frexp( b, &bexp );
5990
5991 return aexp == bexp &&
5992 std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
5993}
5994
5999inline double qgsRound( double number, int places )
6000{
6001 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
6002 const double scaleFactor = std::pow( 10.0, places );
6003 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
6004}
6005
6006#ifndef SIP_RUN
6007
6014template<class Key, class Value>
6015QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
6016{
6017 QString result;
6018 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
6019 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
6020
6021 result.chop( separator.size() );
6022 return result;
6023}
6024
6031template<class Key, class Value>
6032QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
6033{
6034 QString result;
6035 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
6036 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
6037
6038 result.chop( separator.size() );
6039 return result;
6040}
6041
6048template<class T>
6049QString qgsSetJoin( const QSet<T> &set, const QString &separator )
6050{
6051 QString result;
6052 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
6053 result += QString( "%1%2" ).arg( *it ).arg( separator );
6054
6055 result.chop( separator.size() );
6056 return result;
6057}
6058
6060
6070namespace qgis
6071{
6072
6085 template<typename To, typename From> inline To down_cast( From *f )
6086 {
6087 static_assert(
6088 ( std::is_base_of<From,
6089 typename std::remove_pointer<To>::type>::value ),
6090 "target type not derived from source type" );
6091 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
6092 return static_cast<To>( f );
6093 }
6094
6095 template<class T>
6096 QSet<T> listToSet( const QList<T> &list )
6097 {
6098 return QSet<T>( list.begin(), list.end() );
6099 }
6100
6101 template<class T>
6102 QList<T> setToList( const QSet<T> &set )
6103 {
6104 return QList<T>( set.begin(), set.end() );
6105 }
6106}
6107
6109#endif
6110
6115template<class T> const QList<T> qgsEnumList() SIP_SKIP
6116{
6117 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6118 Q_ASSERT( metaEnum.isValid() );
6119 QList<T> enumList;
6120 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
6121 {
6122 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
6123 }
6124 return enumList;
6125}
6126
6132template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
6133{
6134 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6135 Q_ASSERT( metaEnum.isValid() );
6136 QMap<T, QString> enumMap;
6137 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
6138 {
6139 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
6140 }
6141 return enumMap;
6142}
6143
6149template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
6150{
6151 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6152 Q_ASSERT( metaEnum.isValid() );
6153 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
6154 if ( returnOk )
6155 {
6156 *returnOk = key ? true : false;
6157 }
6158 return QString::fromUtf8( key );
6159}
6160
6168template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
6169{
6170 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6171 Q_ASSERT( metaEnum.isValid() );
6172 bool ok = false;
6173 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
6174 if ( returnOk )
6175 {
6176 *returnOk = ok;
6177 }
6178 if ( ok )
6179 {
6180 return v;
6181 }
6182 else
6183 {
6184 // if conversion has failed, try with conversion from int value
6185 if ( tryValueAsKey )
6186 {
6187 bool canConvert = false;
6188 const int intValue = key.toInt( &canConvert );
6189 if ( canConvert && metaEnum.valueToKey( intValue ) )
6190 {
6191 if ( returnOk )
6192 {
6193 *returnOk = true;
6194 }
6195 return static_cast<T>( intValue );
6196 }
6197 }
6198 }
6199 return defaultValue;
6200}
6201
6207template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
6208{
6209 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6210 Q_ASSERT( metaEnum.isValid() );
6211 int intValue = static_cast<int>( value );
6212 const QByteArray ba = metaEnum.valueToKeys( intValue );
6213 // check that the int value does correspond to a flag
6214 // see https://stackoverflow.com/a/68495949/1548052
6215 const int intValueCheck = metaEnum.keysToValue( ba );
6216 bool ok = intValue == intValueCheck;
6217 if ( returnOk )
6218 *returnOk = ok;
6219 return ok ? QString::fromUtf8( ba ) : QString();
6220}
6221
6229template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
6230{
6231 if ( keys.isEmpty() )
6232 {
6233 if ( returnOk )
6234 {
6235 *returnOk = false;
6236 }
6237 return defaultValue;
6238 }
6239 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6240 Q_ASSERT( metaEnum.isValid() );
6241 bool ok = false;
6242 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
6243 if ( returnOk )
6244 {
6245 *returnOk = ok;
6246 }
6247 if ( ok )
6248 {
6249 return v;
6250 }
6251 else
6252 {
6253 // if conversion has failed, try with conversion from int value
6254 if ( tryValueAsKey )
6255 {
6256 bool canConvert = false;
6257 const int intValue = keys.toInt( &canConvert );
6258 if ( canConvert )
6259 {
6260 const QByteArray keys = metaEnum.valueToKeys( intValue );
6261 const int intValueCheck = metaEnum.keysToValue( keys );
6262 if ( intValue == intValueCheck )
6263 {
6264 if ( returnOk )
6265 {
6266 *returnOk = true;
6267 }
6268 return T( intValue );
6269 }
6270 }
6271 }
6272 }
6273 return defaultValue;
6274}
6275
6276
6285CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
6286
6295CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
6296
6306CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
6307
6317CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
6318
6327CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
6328
6335CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
6336
6337#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
6338
6345inline bool operator> ( const QVariant &v1, const QVariant &v2 )
6346{
6347 return qgsVariantGreaterThan( v1, v2 );
6348}
6349
6359inline bool operator< ( const QVariant &v1, const QVariant &v2 )
6360{
6361 return qgsVariantLessThan( v1, v2 );
6362}
6363#endif
6364
6365
6366#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
6367
6371template<> CORE_EXPORT bool qMapLessThanKey<QVariantList>( const QVariantList &key1, const QVariantList &key2 ) SIP_SKIP;
6372#endif
6373
6374CORE_EXPORT QString qgsVsiPrefix( const QString &path );
6375
6381void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
6382
6387void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
6388
6389#ifndef SIP_RUN
6390
6391#ifdef _MSC_VER
6392#define CONSTLATIN1STRING inline const QLatin1String
6393#else
6394#define CONSTLATIN1STRING constexpr QLatin1String
6395#endif
6396
6398class ScopedIntIncrementor
6399{
6400 public:
6401
6402 ScopedIntIncrementor( int *variable )
6403 : mVariable( variable )
6404 {
6405 ( *mVariable )++;
6406 }
6407
6408 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
6409 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
6410
6411 void release()
6412 {
6413 if ( mVariable )
6414 ( *mVariable )--;
6415
6416 mVariable = nullptr;
6417 }
6418
6419 ~ScopedIntIncrementor()
6420 {
6421 release();
6422 }
6423
6424 private:
6425 int *mVariable = nullptr;
6426};
6428
6434{
6435 return QLatin1String(
6436 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]] )"""
6437 );
6438}
6439
6442{
6443 return QLatin1String( "+proj=longlat +datum=WGS84 +no_defs" );
6444}
6445
6448{
6449 return QLatin1String( "EPSG:4326" );
6450}
6451
6454{
6455 return QLatin1String( "NONE" );
6456}
6457
6459
6461const int PREVIEW_JOB_DELAY_MS = 250;
6462
6464const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
6465
6467
6468#endif
6469
6471const long GEOSRID = 4326;
6472
6474const long GEOCRS_ID = 3452;
6475
6477const long GEO_EPSG_CRS_ID = 4326;
6478
6483const int USER_CRS_START_ID = 100000;
6484
6485//
6486// Constants for point symbols
6487//
6488
6490const double DEFAULT_POINT_SIZE = 2.0;
6491const double DEFAULT_LINE_WIDTH = 0.26;
6492
6494const double DEFAULT_SEGMENT_EPSILON = 1e-8;
6495
6496typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
6497
6506typedef unsigned long long qgssize;
6507
6508#ifndef SIP_RUN
6509#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
6510
6511#define Q_NOWARN_DEPRECATED_PUSH \
6512 _Pragma("GCC diagnostic push") \
6513 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
6514#define Q_NOWARN_DEPRECATED_POP \
6515 _Pragma("GCC diagnostic pop");
6516#define Q_NOWARN_UNREACHABLE_PUSH
6517#define Q_NOWARN_UNREACHABLE_POP
6518
6519#elif defined(_MSC_VER)
6520
6521#define Q_NOWARN_DEPRECATED_PUSH \
6522 __pragma(warning(push)) \
6523 __pragma(warning(disable:4996))
6524#define Q_NOWARN_DEPRECATED_POP \
6525 __pragma(warning(pop))
6526#define Q_NOWARN_UNREACHABLE_PUSH \
6527 __pragma(warning(push)) \
6528 __pragma(warning(disable:4702))
6529#define Q_NOWARN_UNREACHABLE_POP \
6530 __pragma(warning(pop))
6531
6532#else
6533
6534#define Q_NOWARN_DEPRECATED_PUSH
6535#define Q_NOWARN_DEPRECATED_POP
6536#define Q_NOWARN_UNREACHABLE_PUSH
6537#define Q_NOWARN_UNREACHABLE_POP
6538
6539#endif
6540#endif
6541
6542#ifndef QGISEXTERN
6543#ifdef Q_OS_WIN
6544# define QGISEXTERN extern "C" __declspec( dllexport )
6545#else
6546# if defined(__GNUC__) || defined(__clang__)
6547# define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
6548# else
6549# define QGISEXTERN extern "C"
6550# endif
6551#endif
6552#endif
6553#endif
6554
6555// see https://infektor.net/posts/2017-01-19-using-cpp17-attributes-today.html#using-the-nodiscard-attribute
6556#if __cplusplus >= 201703L
6557#define NODISCARD [[nodiscard]]
6558#elif defined(__clang__)
6559#define NODISCARD [[nodiscard]]
6560#elif defined(_MSC_VER)
6561#define NODISCARD // no support
6562#elif defined(__has_cpp_attribute)
6563#if __has_cpp_attribute(nodiscard)
6564#define NODISCARD [[nodiscard]]
6565#elif __has_cpp_attribute(gnu::warn_unused_result)
6566#define NODISCARD [[gnu::warn_unused_result]]
6567#else
6568#define NODISCARD Q_REQUIRED_RESULT
6569#endif
6570#else
6571#define NODISCARD Q_REQUIRED_RESULT
6572#endif
6573
6574#if __cplusplus >= 201703L
6575#define MAYBE_UNUSED [[maybe_unused]]
6576#elif defined(__clang__)
6577#define MAYBE_UNUSED [[maybe_unused]]
6578#elif defined(_MSC_VER)
6579#define MAYBE_UNUSED // no support
6580#elif defined(__has_cpp_attribute)
6581#if __has_cpp_attribute(gnu::unused)
6582#define MAYBE_UNUSED [[gnu::unused]]
6583#else
6584#define MAYBE_UNUSED
6585#endif
6586#else
6587#define MAYBE_UNUSED
6588#endif
6589
6590#ifndef FINAL
6591#define FINAL final
6592#endif
6593
6594#ifndef SIP_RUN
6595#ifdef _MSC_VER
6596#define BUILTIN_UNREACHABLE \
6597 __assume(false);
6598#elif defined(__GNUC__) && !defined(__clang__)
6599// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
6600// like:
6601// switch( mVariableThatCanOnlyBeXorY )
6602// {
6603// case X:
6604// return "foo";
6605// case Y:
6606// return "foo";
6607// }
6608// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
6609#define BUILTIN_UNREACHABLE \
6610 __builtin_unreachable();
6611#else
6612#define BUILTIN_UNREACHABLE
6613#endif
6614#endif // SIP_RUN
6615
6616#ifdef SIP_RUN
6617
6622QString CORE_EXPORT geoWkt();
6623
6625QString CORE_EXPORT geoProj4();
6626
6628QString CORE_EXPORT geoEpsgCrsAuthId();
6629
6631QString CORE_EXPORT geoNone();
6632
6633#endif
The Qgis class provides global constants for use throughout the application.
Definition qgis.h:54
DistanceUnitType
Types of distance units.
Definition qgis.h:4739
GnssConstellation
GNSS constellation.
Definition qgis.h:1751
SettingsOption
Settings options.
Definition qgis.h:688
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition qgis.h:3922
ProcessingSourceType
Processing data source types.
Definition qgis.h:3270
GpsQualityIndicator
GPS signal quality indicator.
Definition qgis.h:1769
DataItemProviderCapability
Capabilities for data item providers.
Definition qgis.h:910
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3510
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
Definition qgis.h:2613
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:4006
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
Definition qgis.h:1864
MapToolUnit
Type of unit of tolerance value from settings.
Definition qgis.h:4645
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:3095
ProcessingModelChildAlgorithmExecutionStatus
Reflects the status of a child algorithm in a Processing model.
Definition qgis.h:3585
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
Definition qgis.h:1831
ScaleBarDistanceLabelHorizontalPlacement
Scale bar distance label horizontal placement.
Definition qgis.h:4973
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:3950
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
Definition qgis.h:750
GeometryValidityFlag
Geometry validity check flags.
Definition qgis.h:1918
QFlags< RasterProviderCapability > RasterProviderCapabilities
Raster data provider capabilities.
Definition qgis.h:4570
ExpressionType
Expression types.
Definition qgis.h:5140
MapLayerActionFlag
Map layer action flags.
Definition qgis.h:4316
ScaleBarDistanceLabelVerticalPlacement
Scale bar distance label vertical placement.
Definition qgis.h:4959
MapLayerProperty
Generic map layer properties.
Definition qgis.h:2113
VectorProviderCapability
Vector data provider capabilities.
Definition qgis.h:463
BufferSide
Side of line to buffer.
Definition qgis.h:1943
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1380
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
Definition qgis.h:4305
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
Definition qgis.h:5186
AltitudeClamping
Altitude clamping.
Definition qgis.h:3699
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:5168
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:2412
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
Definition qgis.h:1319
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
Definition qgis.h:4047
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1206
CoordinateDisplayType
Formats for displaying coordinates.
Definition qgis.h:4155
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3458
QFlags< VectorRenderingSimplificationFlag > VectorRenderingSimplificationFlags
Simplification flags for vector feature rendering.
Definition qgis.h:2821
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:3068
GpsFixStatus
GPS fix status.
Definition qgis.h:1736
AnnotationItemNodeType
Annotation item node types.
Definition qgis.h:2339
static const char * QGIS_DEV_VERSION
The development version.
Definition qgis.h:82
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1004
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
Definition qgis.h:2556
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
Definition qgis.h:2249
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
Definition qgis.h:1404
AngularDirection
Angular directions.
Definition qgis.h:3183
DriveType
Drive types.
Definition qgis.h:1057
UnitType
Unit types.
Definition qgis.h:4660
ContentStatus
Status for fetched or stored content.
Definition qgis.h:1692
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
Definition qgis.h:1654
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition qgis.h:713
LayoutUnit
Layout measurement units.
Definition qgis.h:4867
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:4108
Q_ENUM(GnssConstellation)
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:2906
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Definition qgis.h:4025
Point3DShape
3D point shape types.
Definition qgis.h:3841
GeometryOperationResult
Success or failure of a geometry operation.
Definition qgis.h:1889
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
Definition qgis.h:5528
BrowserItemState
Browser item states.
Definition qgis.h:872
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:5081
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
Definition qgis.h:5229
FeatureRequestFilterType
Types of feature request filters.
Definition qgis.h:2056
MarkerClipMode
Marker clipping modes.
Definition qgis.h:3026
GpsNavigationStatus
GPS navigation status.
Definition qgis.h:1789
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:2296
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:2830
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Definition qgis.h:3600
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Definition qgis.h:2147
Statistic
Available generic statistics.
Definition qgis.h:5446
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:733
AngleUnit
Units of angles.
Definition qgis.h:4802
CaptureTechnique
Capture technique.
Definition qgis.h:376
SpatialIndexPresence
Enumeration of spatial index presence states.
Definition qgis.h:522
BrowserItemCapability
Browser item capabilities.
Definition qgis.h:885
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition qgis.h:5111
QFlags< AuthConfigurationStorageCapability > AuthConfigurationStorageCapabilities
Authentication configuration storage capabilities.
Definition qgis.h:145
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition qgis.h:4248
LayerTreeInsertionMethod
Layer tree insertion methods.
Definition qgis.h:4225
RasterProviderCapability
Raster data provider capabilities.
Definition qgis.h:4550
LineClipMode
Line clipping modes.
Definition qgis.h:3040
VectorRenderingSimplificationFlag
Simplification flags for vector feature rendering.
Definition qgis.h:2806
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
Definition qgis.h:1922
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition qgis.h:959
VsiHandlerType
GDAL VSI handler types.
Definition qgis.h:5342
SettingsTreeNodeType
Type of tree node.
Definition qgis.h:618
TilePixelRatio
DpiMode enum.
Definition qgis.h:3123
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:5018
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition qgis.h:1172
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
Definition qgis.h:3928
LabelPrioritization
Label prioritization.
Definition qgis.h:1111
GradientColorSource
Gradient color sources.
Definition qgis.h:2955
FileFilterType
Type of file filters.
Definition qgis.h:1285
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:1125
RasterLayerType
Raster layer types.
Definition qgis.h:4427
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
Definition qgis.h:395
ScaleBarAlignment
Scalebar alignment.
Definition qgis.h:4930
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:4466
VectorExportResult
Vector layer export result codes.
Definition qgis.h:983
DistanceUnit
Units of distance.
Definition qgis.h:4677
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:2483
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition qgis.h:814
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:2999
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
Definition qgis.h:2329
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1231
ScaleMethod
Scale methods.
Definition qgis.h:588
SldExportOption
SLD export options.
Definition qgis.h:660
VectorSimplificationAlgorithm
Simplification algorithms for vector features.
Definition qgis.h:2790
FilePathType
File path types.
Definition qgis.h:1523
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:3791
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:5126
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:3014
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
Definition qgis.h:675
MapCanvasFlag
Flags controlling behavior of map canvases.
Definition qgis.h:3209
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:4238
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:5096
FeatureRequestFlag
Flags for controlling feature requests.
Definition qgis.h:2028
VertexType
Types of vertex.
Definition qgis.h:2843
ShaderInterpolationMethod
Color ramp shader interpolation methods.
Definition qgis.h:1335
DataProviderFlag
Generic data provider flags.
Definition qgis.h:2141
Q_ENUM(GpsNavigationStatus)
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg)
Definition qgis.h:5320
GeometryValidationEngine
Available engines for validating geometries.
Definition qgis.h:1931
TransactionMode
Transaction mode.
Definition qgis.h:3686
Q_ENUM(ScaleToTileZoomLevelMethod)
QFlags< FeatureRendererFlag > FeatureRendererFlags
Flags controlling behavior of vector feature renderers.
Definition qgis.h:772
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:4579
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:4443
GeosCreationFlag
Flags which control geos geometry creation behavior.
Definition qgis.h:1981
GpsInformationComponent
GPS information component.
Definition qgis.h:1803
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:3228
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3296
FileOperationFlag
File operation flags.
Definition qgis.h:2098
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
Definition qgis.h:926
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:4037
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
Definition qgis.h:1849
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Definition qgis.h:821
QFlags< RasterInterfaceCapability > RasterInterfaceCapabilities
Raster interface capabilities.
Definition qgis.h:4537
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
Definition qgis.h:4339
TemporalNavigationMode
Temporal navigation modes.
Definition qgis.h:2366
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:3538
AreaUnit
Units of area.
Definition qgis.h:4754
StringStatistic
Available string statistics.
Definition qgis.h:5508
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:3645
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:5361
MessageLevel
Level for messages This will be used both for message log and message bar in application.
Definition qgis.h:154
SqlKeywordCategory
SqlKeywordCategory enum represents the categories of the SQL keywords used by the SQL query editor.
Definition qgis.h:1039
QFlags< SnappingType > SnappingTypes
Snapping types.
Definition qgis.h:724
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:3083
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1221
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
Definition qgis.h:5238
TextLayoutMode
Text layout modes.
Definition qgis.h:2699
PropertyType
Property types.
Definition qgis.h:646
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2591
LayerFilter
Filter for layers.
Definition qgis.h:188
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
Definition qgis.h:1323
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition qgis.h:1394
PythonEmbeddedMode
Authorisation to run Python Embedded in projects.
Definition qgis.h:403
CrsType
Coordinate reference system types.
Definition qgis.h:2159
QFlags< GeosCreationFlag > GeosCreationFlags
Geos geometry creation behavior flags.
Definition qgis.h:1992
SensorThingsEntity
OGC SensorThings API entity types.
Definition qgis.h:5564
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1506
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:3628
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:4075
RasterFileWriterResult
Raster file export results.
Definition qgis.h:1489
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition qgis.h:2351
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
Definition qgis.h:3379
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:3241
ActionType
Action types.
Definition qgis.h:4275
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:1074
PlaybackOperation
Media playback operations.
Definition qgis.h:2395
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
Definition qgis.h:844
QFlags< TextRendererFlag > TextRendererFlags
Definition qgis.h:3162
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:5032
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:3977
MarkerShape
Marker shapes.
Definition qgis.h:2857
LegendJsonRenderFlag
Legend JSON export flags.
Definition qgis.h:4260
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:4594
RasterElevationMode
Raster layer elevation modes.
Definition qgis.h:3738
Capitalization
String capitalization options.
Definition qgis.h:3140
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:2468
PictureFormat
Picture formats.
Definition qgis.h:4901
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1243
LabelQuadrantPosition
Label quadrant positions.
Definition qgis.h:1186
QFlags< PlotToolFlag > PlotToolFlags
Definition qgis.h:3829
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:3171
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition qgis.h:1302
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1014
TextOrientation
Text orientations.
Definition qgis.h:2684
TemporalUnit
Temporal units.
Definition qgis.h:4823
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
Definition qgis.h:1425
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
Definition qgis.h:801
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:1086
CrsDefinitionFormat
CRS definition formats.
Definition qgis.h:3613
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:2085
QFlags< ProcessingParameterTypeFlag > ProcessingParameterTypeFlags
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3473
TileAvailability
Possible availability states for a tile within a tile matrix.
Definition qgis.h:5205
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:3809
FeatureRendererFlag
Flags controlling behavior of vector feature renderers.
Definition qgis.h:762
BrowserItemType
Browser item types.
Definition qgis.h:853
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
Definition qgis.h:2045
SettingsType
Types of settings entries.
Definition qgis.h:599
QFlags< SettingsOption > SettingsOptions
Definition qgis.h:693
RasterTemporalMode
Raster layer temporal modes.
Definition qgis.h:2453
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1463
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:2639
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:337
RelationshipType
Relationship types.
Definition qgis.h:4094
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:4204
RasterInterfaceCapability
Raster interface capabilities.
Definition qgis.h:4517
JoinStyle
Join styles for buffers.
Definition qgis.h:1968
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:3962
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
Definition qgis.h:5555
ProcessingAlgorithmDocumentationFlag
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3356
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:2775
FieldDuplicatePolicy
Duplicate policy for fields.
Definition qgis.h:3660
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:5047
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Definition qgis.h:2103
DpiMode
DpiMode enum.
Definition qgis.h:3109
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition qgis.h:935
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3347
AltitudeBinding
Altitude binding.
Definition qgis.h:3712
QFlags< DataProviderReadFlag > DataProviderReadFlags
Flags which control data provider construction.
Definition qgis.h:450
Q_ENUM(ProcessingProviderFlag)
TiledSceneRendererFlag
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:5298
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:4290
ShaderClassificationMethod
Color ramp shader classification methods.
Definition qgis.h:1350
ZonalStatisticResult
Zonal statistics result codes.
Definition qgis.h:5396
ScriptLanguage
Scripting languages.
Definition qgis.h:4181
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
Definition qgis.h:899
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
Definition qgis.h:541
TiledSceneProviderCapability
Tiled scene data provider capabilities.
Definition qgis.h:5219
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:1269
RasterBandStatistic
Available raster band statistics.
Definition qgis.h:5537
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
Definition qgis.h:5196
AuthConfigurationStorageCapability
Authentication configuration storage capabilities.
Definition qgis.h:100
PythonEmbeddedType
Type of Python Embedded in projects.
Definition qgis.h:417
QFlags< ZonalStatistic > ZonalStatistics
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:5387
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:2440
TextRenderFormat
Options for rendering text.
Definition qgis.h:2624
DocumentationBrowser
Documentation API browser.
Definition qgis.h:5610
DataType
Raster data types.
Definition qgis.h:351
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
Definition qgis.h:3233
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition qgis.h:1309
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:4630
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
Definition qgis.h:1434
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition qgis.h:3884
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
Definition qgis.h:2525
RelationshipCapability
Relationship capabilities.
Definition qgis.h:4134
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:4481
QFlags< VectorProviderCapability > VectorProviderCapabilities
Vector data provider capabilities.
Definition qgis.h:500
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:3872
LinearReferencingPlacement
Defines how/where the labels should be placed in a linear referencing symbol layer.
Definition qgis.h:2926
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:5266
LayerType
Types of layers that can be added to a map.
Definition qgis.h:169
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
Definition qgis.h:2302
FieldOrigin
Field origin.
Definition qgis.h:1551
LinearReferencingLabelSource
Defines what quantity to use for the labels shown in a linear referencing symbol layer.
Definition qgis.h:2940
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
Definition qgis.h:5474
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition qgis.h:3825
RenderUnit
Rendering size units.
Definition qgis.h:4847
CoordinateOrder
Order of coordinates.
Definition qgis.h:2234
SelectionFlag
Flags which control feature selection behavior.
Definition qgis.h:1644
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
Definition qgis.h:635
EndCapStyle
End cap styles for buffers.
Definition qgis.h:1955
ScaleCalculationMethod
Scale calculation logic.
Definition qgis.h:4914
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
Definition qgis.h:5289
QFlags< MapLayerActionFlag > MapLayerActionFlags
Map layer action flags.
Definition qgis.h:4328
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
Definition qgis.h:2118
QFlags< LoadStyleFlag > LoadStyleFlags
Flags for loading layer styles.
Definition qgis.h:225
BabelCommandFlag
Babel command flags, which control how commands and arguments are generated for executing GPSBabel pr...
Definition qgis.h:1860
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
Definition qgis.h:2659
FieldDomainType
Types of field domain.
Definition qgis.h:3673
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2601
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2566
RasterPipeInterfaceRole
Raster pipe interface roles.
Definition qgis.h:1363
CoverageValidityResult
Coverage validity results.
Definition qgis.h:2001
DataProviderReadFlag
Flags which control data provider construction.
Definition qgis.h:431
ScaleBarSegmentSizeMode
Modes for setting size for scale bar segments.
Definition qgis.h:4945
Aggregate
Available aggregates to calculate.
Definition qgis.h:5414
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
Definition qgis.h:796
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
Definition qgis.h:2325
MapBoxGlStyleSourceType
Available MapBox GL style source types.
Definition qgis.h:4056
LayoutUnitType
Types of layout units.
Definition qgis.h:4887
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:554
DashPatternLineEndingRule
Dash pattern line ending rules.
Definition qgis.h:3053
FieldMetadataProperty
Standard field metadata values.
Definition qgis.h:1592
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:5279
RasterRendererCapability
Raster renderer capabilities.
Definition qgis.h:1415
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition qgis.h:1680
HistoryProviderBackend
History provider backends.
Definition qgis.h:3254
RasterExportType
Raster file export types.
Definition qgis.h:1476
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition qgis.h:1535
TextVerticalAlignment
Text vertical alignment.
Definition qgis.h:2759
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:4120
GradientType
Gradient types.
Definition qgis.h:2969
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
Definition qgis.h:4216
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:3910
GpsFeatureType
GPS feature types.
Definition qgis.h:1874
VectorLayerTypeFlag
Vector layer type flags.
Definition qgis.h:390
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition qgis.h:2014
RangeLimits
Describes how the limits of a range are handled.
Definition qgis.h:3724
QFlags< ProjectFlag > ProjectFlags
Definition qgis.h:3816
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:2428
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3499
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
Definition qgis.h:1022
VectorEditResult
Specifies the result of a vector layer edit operation.
Definition qgis.h:1665
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:566
Axis
Cartesian axes.
Definition qgis.h:2283
QFlags< ProcessingAlgorithmDocumentationFlag > ProcessingAlgorithmDocumentationFlags
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3367
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
Definition qgis.h:4146
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:741
VolumeUnit
Units of volume.
Definition qgis.h:4779
AttributeEditorType
Attribute editor types.
Definition qgis.h:5062
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
Definition qgis.h:4264
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
Definition qgis.h:5038
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
Definition qgis.h:834
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:2072
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition qgis.h:787
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3421
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:3937
MeshElevationMode
Mesh layer elevation modes.
Definition qgis.h:3752
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:3992
SnappingMode
SnappingMode defines on which layer the snapping is performed.
Definition qgis.h:701
SymbolType
Symbol types.
Definition qgis.h:574
RasterColorInterpretation
Raster color interpretation.
Definition qgis.h:4376
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:3897
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:2670
Q_ENUM(ProcessingAlgorithmFlag)
ColorModel
Color model types.
Definition qgis.h:5584
RendererUsage
Usage of the renderer.
Definition qgis.h:3196
SettingsTreeNodeOption
Options for named list nodes.
Definition qgis.h:630
BabelFormatCapability
Babel GPS format capabilities.
Definition qgis.h:1841
PostgresRelKind
Postgres database relkind options.
Definition qgis.h:4997
GpsConnectionType
GPS connection types.
Definition qgis.h:1707
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
Definition qgis.h:5023
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
Definition qgis.h:3408
QFlags< TextComponent > TextComponents
Text components.
Definition qgis.h:2729
LoadStyleFlag
Flags for loading layer styles.
Definition qgis.h:215
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:3765
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
Definition qgis.h:5178
MetadataDateType
Date types for metadata.
Definition qgis.h:4357
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
Definition qgis.h:2493
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3432
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:4496
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:2740
SymbolFlag
Flags controlling behavior of symbols.
Definition qgis.h:781
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition qgis.h:3778
HttpMethod
Different methods of HTTP requests.
Definition qgis.h:971
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:256
QFlags< SldExportOption > SldExportOptions
Definition qgis.h:666
SymbolCoordinateReference
Symbol coordinate reference modes.
Definition qgis.h:2984
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3309
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:5254
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
Definition qgis.h:5499
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1605
InputControllerType
Input controller types.
Definition qgis.h:4985
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:3158
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1632
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:2184
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:3569
QFlags< MarkerLinePlacement > MarkerLinePlacements
Definition qgis.h:2917
QFlags< MapCanvasFlag > MapCanvasFlags
Flags controlling behavior of map canvases.
Definition qgis.h:3219
CrsWktVariant
Coordinate reference system WKT formatting variants.
Definition qgis.h:2264
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:5311
DocumentationApi
Documentation API.
Definition qgis.h:5596
AutoRefreshMode
Map layer automatic refresh modes.
Definition qgis.h:2128
AnnotationPlacementMode
Annotation item placement modes.
Definition qgis.h:2312
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3320
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1568
SettingsOrigin
The setting origin describes where a setting is stored.
Definition qgis.h:4168
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3484
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:1098
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:5155
QFlags< LayerFilter > LayerFilters
Definition qgis.h:206
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:3556
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:2514
TextComponent
Text components.
Definition qgis.h:2716
DateTimeStatistic
Available date/time statistics.
Definition qgis.h:5483
AnimationState
Animation states.
Definition qgis.h:2382
TransformDirection
Indicates the direction (forward or inverse) of a transform.
Definition qgis.h:2502
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:3860
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3444
QFlags< HistoryProviderBackend > HistoryProviderBackends
Definition qgis.h:3259
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition qgis.h:1146
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1583
UpsideDownLabelHandling
Handling techniques for upside down labels.
Definition qgis.h:1254
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:1721
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3524
MapSettingsFlag
Flags which adjust the way maps are rendered.
Definition qgis.h:2534
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
Definition qgis.h:1030
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
Definition qgis.h:3393
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1618
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.
A ramp shader will color a raster pixel based on a list of values ranges in a ramp.
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.
Container of fields for a vector layer.
Definition qgsfields.h:46
A geometry is the spatial representation of a feature.
Encapsulates information relating to a GPS position fix.
A fill symbol layer which draws a smooth color gradient over a polygon.
A vector feature renderer which uses numeric attributes to classify features into different ranges.
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.
A layout item subclass that displays SVG files or raster format images (jpg, png, ....
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:76
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.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition qgsproject.h:107
A store for object properties.
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.
Base class for raster data providers.
The raster file writer which allows you to save a raster to a new file.
Base class for processing filters like renderers, reprojector, resampler etc.
Implementation of map layer temporal properties for raster layers.
Represents a raster layer.
Contains a pipeline of raster interfaces for sequential raster processing.
Raster namespace.
Definition qgsraster.h:32
Represents a relationship between two vector layers.
Definition qgsrelation.h:44
Contains information about the context of a rendering operation.
The QgsScaleBarSettings class stores the appearance and layout settings for scalebar drawing with Qgs...
Represent settings entry and provides methods for reading and writing settings values.
RAII signal blocking class.
Definition qgis.h:5822
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:5840
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:5829
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.
Contains utility functions for working with symbols and symbol layers.
Abstract base class for all rendered symbols.
Definition qgssymbol.h:231
Base class for templated line symbols, e.g.
Implements a temporal controller based on a frame by frame navigation and animation.
Container for all settings relating to text rendering.
Handles rendering text using rich formatting options, including drop shadows, buffers and background ...
This is the class is providing tolerance value in map unit values.
Helper functions for various unit types.
Implementation of data provider temporal properties for QgsVectorDataProviders.
This is the base class for vector data providers.
A convenience class for writing vector layers to disk based formats (e.g.
A convenience class for exporting vector layers to a destination data provider.
Implementation of map layer temporal properties for vector layers.
Represents a vector layer which manages a vector based data sets.
This class contains information how to simplify geometries fetched from a vector layer.
Handles storage of information regarding WKB types and their properties.
Definition qgswkbtypes.h:42
FeatureCountState
Enumeration of feature count states.
Definition qgis.h:509
@ Points
Point based rendering, requires point data.
As part of the API refactoring and improvements which landed in QGIS
void * qgsMalloc(size_t size)
Allocates size bytes and returns a pointer to the allocated memory.
Definition qgis.cpp:94
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:87
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:248
uint qHash(const QVariant &variant)
Hash for QVariant.
Definition qgis.cpp:199
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:73
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:80
void qgsFree(void *ptr)
Frees the memory space pointed to by ptr.
Definition qgis.cpp:116
#define str(x)
Definition qgis.cpp:39
QString qgsVsiPrefix(const QString &path)
Definition qgis.cpp:194
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:121
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:189
CONSTLATIN1STRING geoNone()
Constant that holds the string representation for "No ellips/No CRS".
Definition qgis.h:6453
const double DEFAULT_LINE_WIDTH
Definition qgis.h:6491
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:6345
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:6168
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:5875
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:6032
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:6149
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:6207
const long GEO_EPSG_CRS_ID
Magic number for a geographic coord sys in EpsgCrsId ID format.
Definition qgis.h:6477
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:6015
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:6229
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:6506
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:6132
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference)
Definition qgis.h:5969
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:6049
const QList< T > qgsEnumList()
Returns a list all enum entries.
Definition qgis.h:6115
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:5999
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
Definition qgis.h:5958
CONSTLATIN1STRING geoProj4()
PROJ4 string that represents a geographic coord sys.
Definition qgis.h:6441
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:5920
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:5862
const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition qgis.h:6494
QMap< QString, QString > QgsStringMap
Definition qgis.h:6496
#define CONSTLATIN1STRING
Definition qgis.h:6394
CONSTLATIN1STRING geoWkt()
Wkt string that represents a geographic coord sys.
Definition qgis.h:6433
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:5975
const int USER_CRS_START_ID
Magick number that determines whether a projection crsid is a system (srs.db) or user (~/....
Definition qgis.h:6483
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:5940
const long GEOSRID
Magic number for a geographic coord sys in POSTGIS SRID.
Definition qgis.h:6471
#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:6359
CONSTLATIN1STRING geoEpsgCrsAuthId()
Geographic coord sys from EPSG authority.
Definition qgis.h:6447
const long GEOCRS_ID
Magic number for a geographic coord sys in QGIS srs.db tbl_srs.srs_id.
Definition qgis.h:6474
const double DEFAULT_POINT_SIZE
Magic number that determines the default point size for point symbols.
Definition qgis.h:6490
#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