QGIS API Documentation 3.43.0-Master (1896cf2247d)
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
757
769 Q_ENUM( HorizontalAnchorPoint )
770
771
778 {
779 Top,
780 Center SIP_MONKEYPATCH_COMPAT_NAME( VCenter ),
781 Bottom,
782 Baseline,
783 };
784 Q_ENUM( VerticalAnchorPoint )
785
786
791 enum class FeatureRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
792 {
793 AffectsLabeling = 1 << 0,
794 };
795 Q_ENUM( FeatureRendererFlag )
796
797
803 Q_FLAG( FeatureRendererFlags )
804
810 enum class SymbolFlag : int SIP_ENUM_BASETYPE( IntFlag )
811 {
812 RendererShouldUseSymbolLevels = 1 << 0,
813 AffectsLabeling = 1 << 1,
814 };
815 Q_ENUM( SymbolFlag )
817 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
818 Q_FLAG( SymbolFlags )
819
826 {
827 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
828 };
829 Q_ENUM( SymbolPreviewFlag )
832 Q_FLAG( SymbolPreviewFlags )
833
843 enum class SymbolLayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
844 {
845 DisableFeatureClipping = 1 << 0,
846 CanCalculateMaskGeometryPerFeature = 1 << 1,
847 AffectsLabeling = 1 << 2,
848 };
849 Q_ENUM( SymbolLayerFlag )
852 Q_FLAG( SymbolLayerFlags )
853
863 enum class SymbolLayerUserFlag : int SIP_ENUM_BASETYPE( IntFlag )
864 {
865 DisableSelectionRecoloring = 1 << 0,
866 };
867 Q_ENUM( SymbolLayerUserFlag )
868
869
875 Q_FLAG( SymbolLayerUserFlags )
876
883 {
884 Collection,
885 Directory,
886 Layer,
887 Error,
888 Favorites,
889 Project,
890 Custom,
891 Fields,
892 Field,
893 };
894 Q_ENUM( BrowserItemType )
895
896
902 {
903 NotPopulated,
904 Populating,
905 Populated,
906 };
907 Q_ENUM( BrowserItemState )
908
909
915 {
916 NoCapabilities = 0,
917 SetCrs = 1 << 0,
918 Fertile = 1 << 1,
919 Fast = 1 << 2,
920 Collapse = 1 << 3,
921 Rename = 1 << 4,
922 Delete = 1 << 5,
923 ItemRepresentsFile = 1 << 6,
924 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
925 ReadOnly = 1 << 8,
926 };
927 Q_ENUM( BrowserItemCapability )
931
940 {
941 NoCapabilities SIP_MONKEYPATCH_COMPAT_NAME( NoDataCapabilities ) = 0,
942 Files SIP_MONKEYPATCH_COMPAT_NAME( File ) = 1,
943 Directories SIP_MONKEYPATCH_COMPAT_NAME( Dir ) = 1 << 1,
944 Databases SIP_MONKEYPATCH_COMPAT_NAME( Database ) = 1 << 2,
945 NetworkSources SIP_MONKEYPATCH_COMPAT_NAME( Net ) = 1 << 3,
946 };
947 Q_ENUM( DataItemProviderCapability )
948
949
958
965 {
966 NoType,
967 Vector,
968 Raster,
969 Point,
970 Line,
971 Polygon,
972 TableLayer,
973 Database,
974 Table,
975 Plugin,
976 Mesh,
977 VectorTile,
978 PointCloud,
979 TiledScene,
980 };
981 Q_ENUM( BrowserLayerType )
982
983
989 {
990 Default,
991 NeverMonitor,
992 AlwaysMonitor,
993 };
994 Q_ENUM( BrowserDirectoryMonitoring )
995
996
1000 enum class HttpMethod : int
1001 {
1002 Get = 0,
1003 Post = 1,
1004 Head,
1005 Put,
1006 Delete,
1007 };
1008 Q_ENUM( HttpMethod )
1009
1010
1016 {
1017 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
1018 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
1019 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
1020 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
1021 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
1022 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
1023 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
1024 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
1025 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
1026 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
1027 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
1028 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
1029 };
1030 Q_ENUM( VectorExportResult )
1031
1032
1037 {
1038 FieldAliases = 1 << 0,
1039 FieldComments = 1 << 2,
1040 };
1041 Q_ENUM( VectorFileWriterCapability )
1042
1043
1049
1055 {
1056 SubsetStringFilter = 1 << 1,
1057 GeometryColumn = 1 << 2,
1058 PrimaryKeys = 1 << 3,
1059 UnstableFeatureIds = 1 << 4
1060 };
1061 Q_ENUM( SqlLayerDefinitionCapability )
1065
1071 enum class SqlKeywordCategory : int
1072 {
1073 Keyword,
1074 Constant,
1075 Function,
1076 Geospatial,
1077 Operator,
1078 Math,
1079 Aggregate,
1080 String,
1081 Identifier
1082 };
1083 Q_ENUM( SqlKeywordCategory )
1084
1085
1089 enum class DriveType : int
1090 {
1091 Unknown,
1092 Invalid,
1093 Removable,
1094 Fixed,
1095 Remote,
1096 CdRom,
1097 RamDisk,
1098 Cloud,
1099 };
1100 Q_ENUM( DriveType )
1101
1102
1107 {
1108 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
1109 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
1110 };
1111 Q_ENUM( ActionStart )
1112
1113
1119 {
1120 FollowEngineSetting,
1121 NeverShow,
1122 };
1123 Q_ENUM( UnplacedLabelVisibility )
1124
1125
1130 enum class LabelOverlapHandling : int
1131 {
1132 PreventOverlap,
1133 AllowOverlapIfRequired,
1134 AllowOverlapAtNoCost,
1135 };
1136 Q_ENUM( LabelOverlapHandling )
1137
1138
1143 enum class LabelPrioritization : int
1144 {
1145 PreferCloser,
1146 PreferPositionOrdering,
1147 };
1148 Q_ENUM( LabelPrioritization )
1149
1150
1158 {
1159 AroundPoint,
1160 OverPoint,
1161 Line,
1162 Curved,
1163 Horizontal,
1164 Free,
1165 OrderedPositionsAroundPoint,
1166 PerimeterCurved,
1167 OutsidePolygons,
1168 };
1169 Q_ENUM( LabelPlacement )
1170
1171
1179 {
1180 TopLeft,
1181 TopSlightlyLeft,
1182 TopMiddle,
1183 TopSlightlyRight,
1184 TopRight,
1185 MiddleLeft,
1186 MiddleRight,
1187 BottomLeft,
1188 BottomSlightlyLeft,
1189 BottomMiddle,
1190 BottomSlightlyRight,
1191 BottomRight,
1192 OverPoint,
1193 };
1194 Q_ENUM( LabelPredefinedPointPosition )
1195
1196
1205 {
1206 FromPoint,
1207 FromSymbolBounds,
1208 };
1209 Q_ENUM( LabelOffsetType )
1210
1211
1219 {
1220 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
1221 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
1222 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
1223 Left SIP_MONKEYPATCH_COMPAT_NAME( QuadrantLeft ),
1224 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
1225 Right SIP_MONKEYPATCH_COMPAT_NAME( QuadrantRight ),
1226 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
1227 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
1228 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
1229 };
1230 Q_ENUM( LabelQuadrantPosition )
1231
1232
1239 {
1240 OnLine = 1,
1241 AboveLine = 2,
1242 BelowLine = 4,
1243 MapOrientation = 8,
1244 };
1245 Q_ENUM( LabelLinePlacementFlag )
1246
1247
1255 Q_FLAG( LabelLinePlacementFlags )
1256
1264 {
1265 AllowPlacementOutsideOfPolygon = 1 << 0,
1266 AllowPlacementInsideOfPolygon = 1 << 1,
1267 };
1268 Q_ENUM( LabelPolygonPlacementFlag )
1269
1270
1278
1287 {
1288 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
1289 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
1290 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
1291 };
1292 Q_ENUM( UpsideDownLabelHandling )
1293
1294
1302 {
1303 Left SIP_MONKEYPATCH_COMPAT_NAME( MultiLeft ) = 0,
1304 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
1305 Right SIP_MONKEYPATCH_COMPAT_NAME( MultiRight ),
1306 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
1307 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
1308 };
1309 Q_ENUM( LabelMultiLineAlignment )
1310
1311
1318 {
1319 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
1320 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1321 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1322 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1323 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1324 VectorTile,
1325 TiledScene,
1326 };
1327 Q_ENUM( FileFilterType )
1328
1329
1334 enum class UriCleaningFlag : int SIP_ENUM_BASETYPE( IntFlag )
1335 {
1336 RemoveCredentials = 1 << 0,
1337 RedactCredentials = 1 << 1,
1338 };
1339 Q_ENUM( UriCleaningFlag )
1340
1341
1347 Q_FLAG( UriCleaningFlags )
1348
1354 enum class SublayerQueryFlag : int SIP_ENUM_BASETYPE( IntFlag )
1355 {
1356 FastScan = 1 << 0,
1357 ResolveGeometryType = 1 << 1,
1358 CountFeatures = 1 << 2,
1359 IncludeSystemTables = 1 << 3,
1360 };
1363 Q_ENUM( SublayerQueryFlag )
1364 Q_FLAG( SublayerQueryFlags )
1365
1366
1371 enum class SublayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
1372 {
1373 SystemTable = 1 << 0,
1374 };
1376 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1377 Q_ENUM( SublayerFlag )
1378 Q_FLAG( SublayerFlags )
1379
1380
1388 {
1389 Linear SIP_MONKEYPATCH_COMPAT_NAME( Interpolated ) = 0,
1390 Discrete = 1,
1391 Exact = 2,
1392 };
1393 Q_ENUM( ShaderInterpolationMethod )
1394
1395
1403 {
1404 Continuous = 1,
1405 EqualInterval = 2,
1406 Quantile = 3,
1407 };
1408 Q_ENUM( ShaderClassificationMethod )
1409
1410
1416 {
1417 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1418 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1419 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1420 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1421 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1422 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1423 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1424 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1425 };
1426 Q_ENUM( RasterPipeInterfaceRole )
1427
1428
1433 {
1434 ResampleFilter,
1435 Provider,
1436 };
1437 Q_ENUM( RasterResamplingStage )
1438
1439
1447 {
1448 Nearest,
1449 Bilinear,
1450 Cubic,
1451 CubicSpline,
1452 Lanczos,
1453 Average,
1454 Mode,
1455 Gauss
1456 };
1457 Q_ENUM( RasterResamplingMethod )
1458
1459
1464 enum class RasterRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
1465 {
1466 InternalLayerOpacityHandling = 1 << 0,
1467 UseNoDataForOutOfRangePixels = 1 << 1,
1468 };
1469
1476
1477 Q_ENUM( RasterRendererFlag )
1478 Q_FLAG( RasterRendererFlags )
1479
1480
1486 {
1487 UsesMultipleBands = 1 << 0,
1488 };
1489 Q_ENUM( RasterRendererCapability )
1490
1491
1498
1507 {
1508 NotSet SIP_MONKEYPATCH_COMPAT_NAME( None_ ),
1509 MinimumMaximum SIP_MONKEYPATCH_COMPAT_NAME( MinMax ),
1510 StdDev,
1511 CumulativeCut
1512 };
1513 Q_ENUM( RasterRangeLimit )
1514
1515
1523 {
1524 WholeRaster SIP_MONKEYPATCH_COMPAT_NAME( None_ ),
1525 FixedCanvas SIP_MONKEYPATCH_COMPAT_NAME( CurrentCanvas ),
1526 UpdatedCanvas,
1527 };
1528 Q_ENUM( RasterRangeExtent )
1529
1530
1538 {
1539 Exact,
1540 Estimated,
1541 };
1542 Q_ENUM( RasterRangeAccuracy )
1543
1544
1550 {
1551 Generic = 0,
1552 PixelCount = 1,
1553 Name = 2,
1554 Min = 3,
1555 Max = 4,
1556 MinMax = 5,
1557 Red = 6,
1558 Green = 7,
1559 Blue = 8,
1560 Alpha = 9,
1561 RedMin = 10,
1562 GreenMin = 11,
1563 BlueMin = 12,
1564 AlphaMin = 13,
1565 RedMax = 14,
1566 GreenMax = 15,
1567 BlueMax = 16,
1568 AlphaMax = 17,
1569 MaxCount
1570 };
1571 Q_ENUM( RasterAttributeTableFieldUsage )
1572
1573
1579 {
1580 Thematic = 0,
1581 Athematic = 1
1582 };
1583 Q_ENUM( RasterAttributeTableType )
1584
1585
1592 {
1593 Raw = 0,
1594 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1595 };
1596 Q_ENUM( RasterExportType )
1597
1598
1605 {
1606 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
1607 SourceProviderError = 1,
1608 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1609 CreateDatasourceError = 3,
1610 WriteError = 4,
1611 NoDataConflict = 5,
1612 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1613 };
1614 Q_ENUM( RasterFileWriterResult )
1615
1616
1621 enum class MeshEditingErrorType : int
1622 {
1623 NoError,
1624 InvalidFace,
1625 TooManyVerticesInFace,
1626 FlatFace,
1627 UniqueSharedVertex,
1628 InvalidVertex,
1629 ManifoldFace,
1630 };
1631 Q_ENUM( MeshEditingErrorType )
1632
1633
1638 enum class FilePathType : int
1639 {
1640 Absolute,
1641 Relative,
1642 };
1643 Q_ENUM( FilePathType )
1644
1645
1650 enum class SublayerPromptMode : int
1651 {
1652 AlwaysAsk,
1653 AskExcludingRasterBands,
1654 NeverAskSkip,
1655 NeverAskLoadAll,
1656 };
1657 Q_ENUM( SublayerPromptMode )
1658
1659
1667 {
1668 Unknown SIP_MONKEYPATCH_COMPAT_NAME( OriginUnknown ),
1669 Provider SIP_MONKEYPATCH_COMPAT_NAME( OriginProvider ),
1670 Join SIP_MONKEYPATCH_COMPAT_NAME( OriginJoin ),
1671 Edit SIP_MONKEYPATCH_COMPAT_NAME( OriginEdit ),
1672 Expression SIP_MONKEYPATCH_COMPAT_NAME( OriginExpression )
1673 };
1674 Q_ENUM( FieldOrigin )
1675
1676
1683 enum class FieldConfigurationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1684 {
1685 NoFlag = 0,
1686 NotSearchable = 1 << 1,
1687 HideFromWms = 1 << 2,
1688 HideFromWfs = 1 << 3,
1689 };
1690 Q_ENUM( FieldConfigurationFlag )
1691
1692
1700 Q_FLAG( FieldConfigurationFlags )
1701
1707 enum class FieldMetadataProperty : int
1708 {
1709 GeometryCrs = 0x1000,
1710 GeometryWkbType = 0x1001,
1711 CustomProperty = 0x100000,
1712 };
1713 Q_ENUM( FieldMetadataProperty )
1714
1715
1720 enum class SelectionRenderingMode : int
1721 {
1722 Default,
1723 CustomColor,
1724 CustomSymbol,
1725 };
1726 Q_ENUM( SelectionRenderingMode )
1727
1728
1734 {
1735 SetSelection,
1736 AddToSelection,
1737 IntersectSelection,
1738 RemoveFromSelection,
1739 };
1740 Q_ENUM( SelectBehavior )
1741
1742
1748 {
1749 Intersect,
1750 Within,
1751 };
1752 Q_ENUM( SelectGeometryRelationship )
1753
1754
1759 enum class SelectionFlag : int SIP_ENUM_BASETYPE( IntFlag )
1760 {
1761 SingleFeatureSelection = 1 << 0,
1762 ToggleSelection = 1 << 1,
1763 };
1764
1770 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1771
1772 Q_ENUM( SelectionFlag )
1773 Q_FLAG( SelectionFlags )
1774
1775
1781 {
1782 Success = 0,
1783 EmptyGeometry = 1,
1784 EditFailed = 2,
1785 FetchFeatureFailed = 3,
1786 InvalidLayer = 4,
1787 };
1788 Q_ENUM( VectorEditResult )
1789
1790
1796 {
1797 SemiTransparentCircle,
1798 Cross,
1799 NoMarker,
1800 };
1801 Q_ENUM( VertexMarkerType )
1802
1803
1807 enum class ContentStatus : int
1808 {
1809 NotStarted,
1810 Running,
1811 Finished,
1812 Failed,
1813 Canceled,
1814 };
1815 Q_ENUM( ContentStatus )
1816
1817
1822 enum class GpsConnectionType : int
1823 {
1824 Automatic,
1825 Internal,
1826 Serial,
1827 Gpsd,
1828 };
1829 Q_ENUM( GpsConnectionType )
1830
1831
1836 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
1837 {
1838 Disconnected,
1839 Connecting,
1840 Connected,
1841 };
1842 Q_ENUM( DeviceConnectionStatus )
1843
1844
1852 {
1853 NoData,
1854 NoFix,
1855 Fix2D,
1856 Fix3D
1857 };
1859
1860
1867 {
1868 Unknown,
1869 Gps,
1870 Glonass,
1871 Galileo,
1872 BeiDou,
1873 Qzss,
1874 Navic,
1875 Sbas,
1876 };
1878
1885 {
1886 Unknown = -1,
1887 Invalid,
1888 GPS,
1889 DGPS,
1890 PPS,
1891 RTK,
1892 FloatRTK,
1893 Estimated,
1894 Manual,
1895 Simulation,
1896 };
1897 Q_ENUM( GpsQualityIndicator )
1898
1899
1904 enum class GpsNavigationStatus : int
1905 {
1906 NotValid,
1907 Safe,
1908 Caution,
1909 Unsafe,
1910 };
1912
1918 enum class GpsInformationComponent : int SIP_ENUM_BASETYPE( IntFlag )
1919 {
1920 Location = 1 << 0,
1921 Altitude = 1 << 1,
1922 GroundSpeed = 1 << 2,
1923 Bearing = 1 << 3,
1924 TotalTrackLength = 1 << 4,
1925 TrackDistanceFromStart = 1 << 5,
1926 Pdop = 1 << 6,
1927 Hdop = 1 << 7,
1928 Vdop = 1 << 8,
1929 HorizontalAccuracy = 1 << 9,
1930 VerticalAccuracy = 1 << 10,
1931 HvAccuracy = 1 << 11,
1932 SatellitesUsed = 1 << 12,
1933 Timestamp = 1 << 13,
1934 TrackStartTime = 1 << 14,
1935 TrackEndTime = 1 << 15,
1936 TrackDistanceSinceLastPoint = 1 << 16,
1937 TrackTimeSinceLastPoint = 1 << 17,
1938 GeoidalSeparation = 1 << 18,
1939 EllipsoidAltitude = 1 << 19,
1940 };
1941
1948 Q_ENUM( GpsInformationComponent )
1949 Q_FLAG( GpsInformationComponents )
1950
1951
1956 enum class BabelFormatCapability : int SIP_ENUM_BASETYPE( IntFlag )
1957 {
1958 Import = 1 << 0,
1959 Export = 1 << 1,
1960 Waypoints = 1 << 2,
1961 Routes = 1 << 3,
1962 Tracks = 1 << 4,
1963 };
1966 Q_ENUM( BabelFormatCapability )
1967 Q_FLAG( BabelFormatCapabilities )
1968
1969
1975 enum class BabelCommandFlag : int SIP_ENUM_BASETYPE( IntFlag )
1976 {
1977 QuoteFilePaths = 1 << 0,
1978 };
1981 Q_ENUM( BabelCommandFlag )
1982 Q_FLAG( BabelCommandFlags )
1983
1984
1989 enum class GpsFeatureType : int
1990 {
1991 Waypoint,
1992 Route,
1993 Track,
1994 };
1995 Q_ENUM( GpsFeatureType )
1996
1997
2005 {
2006 Success = 0,
2007 NothingHappened = 1000,
2008 InvalidBaseGeometry,
2009 InvalidInputGeometryType,
2010 SelectionIsEmpty,
2011 SelectionIsGreaterThanOne,
2012 GeometryEngineError,
2013 LayerNotEditable,
2014 // Add part issues
2015 AddPartSelectedGeometryNotFound,
2016 AddPartNotMultiGeometry,
2017 // Add ring issues
2018 AddRingNotClosed,
2019 AddRingNotValid,
2020 AddRingCrossesExistingRings,
2021 AddRingNotInExistingFeature,
2022 // Split features
2023 SplitCannotSplitPoint,
2024 GeometryTypeHasChanged,
2025 };
2026 Q_ENUM( GeometryOperationResult )
2027
2028
2034 {
2035 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles ) = 1 << 0,
2036 };
2039 Q_ENUM( GeometryValidityFlag )
2040 Q_FLAG( GeometryValidityFlags )
2041
2042
2047 {
2048 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
2049 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
2050 };
2051 Q_ENUM( GeometryValidationEngine )
2052
2053
2063 Q_ENUM( BufferSide )
2064
2065
2071 {
2072 Round SIP_MONKEYPATCH_COMPAT_NAME( CapRound ) = 1,
2073 Flat SIP_MONKEYPATCH_COMPAT_NAME( CapFlat ),
2074 Square SIP_MONKEYPATCH_COMPAT_NAME( CapSquare ),
2075 };
2076 Q_ENUM( EndCapStyle )
2077
2078
2084 {
2085 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
2086 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
2087 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
2088 };
2089 Q_ENUM( JoinStyle )
2090
2091
2096 enum class GeosCreationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2097 {
2098 RejectOnInvalidSubGeometry = 1 << 0,
2099 SkipEmptyInteriorRings = 1 << 1,
2100 };
2101 Q_ENUM( GeosCreationFlag )
2102
2103
2109 Q_FLAG( GeosCreationFlags )
2110
2116 enum class CoverageValidityResult : int
2117 {
2118 Invalid = 0,
2119 Valid = 1,
2120 Error = 2,
2121 };
2122 Q_ENUM( CoverageValidityResult )
2123
2124
2129 enum class MakeValidMethod : int
2130 {
2131 Linework = 0,
2132 Structure = 1,
2133 };
2134 Q_ENUM( MakeValidMethod )
2135
2136
2144 {
2145 NoFlags = 0,
2146 NoGeometry = 1,
2147 SubsetOfAttributes = 2,
2148 ExactIntersect = 4,
2149 IgnoreStaticNodesDuringExpressionCompilation = 8,
2150 EmbeddedSymbols = 16,
2151 };
2152 Q_ENUM( FeatureRequestFlag )
2153
2154
2162 Q_FLAG( FeatureRequestFlags )
2163
2172 {
2173 NoFilter SIP_MONKEYPATCH_COMPAT_NAME( FilterNone ),
2174 Fid SIP_MONKEYPATCH_COMPAT_NAME( FilterFid ),
2175 Expression SIP_MONKEYPATCH_COMPAT_NAME( FilterExpression ),
2176 Fids SIP_MONKEYPATCH_COMPAT_NAME( FilterFids )
2177 };
2178 Q_ENUM( FeatureRequestFilterType )
2179
2180
2188 {
2189 NoCheck SIP_MONKEYPATCH_COMPAT_NAME( GeometryNoCheck ) = 0,
2190 SkipInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometrySkipInvalid ) = 1,
2191 AbortOnInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometryAbortOnInvalid ) = 2,
2192 };
2193 Q_ENUM( InvalidGeometryCheck )
2194
2195
2200 enum class SpatialFilterType : int
2201 {
2202 NoFilter,
2203 BoundingBox,
2204 DistanceWithin,
2205 };
2206 Q_ENUM( SpatialFilterType )
2207
2208
2213 enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2214 {
2215 IncludeMetadataFile = 1 << 0,
2216 IncludeStyleFile = 1 << 1,
2217 };
2220 Q_ENUM( FileOperationFlag )
2221 Q_FLAG( FileOperationFlags )
2222
2223
2228 enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
2229 {
2230 UsersCannotToggleEditing = 1 << 0,
2231 IsBasemapLayer = 1 << 1,
2232 };
2235 Q_ENUM( MapLayerProperty )
2236 Q_FLAG( MapLayerProperties )
2237
2238
2243 enum class AutoRefreshMode : int
2244 {
2245 Disabled = 0,
2246 ReloadData = 1,
2247 RedrawOnly = 2,
2248 };
2249 Q_ENUM( AutoRefreshMode )
2250
2251
2256 enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
2257 {
2258 IsBasemapSource = 1 << 1,
2259 FastExtent2D = 1 << 2,
2260 FastExtent3D = 1 << 3,
2261 };
2264 Q_ENUM( DataProviderFlag )
2265 Q_FLAG( DataProviderFlags )
2266
2267
2274 enum class CrsType : int
2275 {
2276 Unknown,
2277 Geodetic,
2278 Geocentric,
2279 Geographic2d,
2280 Geographic3d,
2281 Vertical,
2282 Projected,
2283 Compound,
2284 Temporal,
2285 Engineering,
2286 Bound,
2287 Other,
2288 DerivedProjected,
2289 };
2290 Q_ENUM( CrsType )
2291
2292
2299 enum class CrsAxisDirection : int
2300 {
2301 North,
2302 NorthNorthEast,
2303 NorthEast,
2304 EastNorthEast,
2305 East,
2306 EastSouthEast,
2307 SouthEast,
2308 SouthSouthEast,
2309 South,
2310 SouthSouthWest,
2311 SouthWest,
2312 WestSouthWest,
2313 West,
2314 WestNorthWest,
2315 NorthWest,
2316 NorthNorthWest,
2317 GeocentricX,
2318 GeocentricY,
2319 GeocentricZ,
2320 Up,
2321 Down,
2322 Forward,
2323 Aft,
2324 Port,
2325 Starboard,
2326 Clockwise,
2327 CounterClockwise,
2328 ColumnPositive,
2329 ColumnNegative,
2330 RowPositive,
2331 RowNegative,
2332 DisplayRight,
2333 DisplayLeft,
2334 DisplayUp,
2335 DisplayDown,
2336 Future,
2337 Past,
2338 Towards,
2339 AwayFrom,
2340 Unspecified,
2341 };
2342 Q_ENUM( CrsAxisDirection )
2343
2344
2349 enum class CoordinateOrder : int
2350 {
2351 Default,
2352 XY,
2353 YX,
2354 };
2355 Q_ENUM( CoordinateOrder )
2356
2357
2365 {
2366 ShortString,
2367 MediumString,
2368 FullString,
2369 };
2370 Q_ENUM( CrsIdentifierType )
2371
2372
2380 {
2381 Wkt1Gdal SIP_MONKEYPATCH_COMPAT_NAME( WKT1_GDAL ),
2382 Wkt1Esri SIP_MONKEYPATCH_COMPAT_NAME( WKT1_ESRI ),
2383 Wkt2_2015 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015 ),
2384 Wkt2_2015Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015_SIMPLIFIED ),
2385 Wkt2_2019 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019 ),
2386 Wkt2_2019Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019_SIMPLIFIED ),
2387 Preferred SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED ) = Wkt2_2019,
2388 PreferredSimplified SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_SIMPLIFIED ) = Wkt2_2019Simplified,
2389 PreferredGdal SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_GDAL ) = Wkt2_2019,
2390 };
2391 Q_ENUM( CrsWktVariant )
2392
2393
2398 enum class Axis : int
2399 {
2400 X,
2401 Y,
2402 Z
2403 };
2404 Q_ENUM( Axis )
2405
2406
2411 enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
2412 {
2413 ScaleDependentBoundingBox = 1 << 0,
2414 SupportsReferenceScale = 1 << 1,
2415 SupportsCallouts = 1 << 2,
2416 };
2419 Q_ENUM( AnnotationItemFlag )
2420 Q_FLAG( AnnotationItemFlags )
2421
2422
2428 {
2429 SpatialBounds = 0,
2430 FixedSize,
2431 RelativeToMapFrame,
2432 };
2433 Q_ENUM( AnnotationPlacementMode )
2434
2435
2440 enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
2441 {
2442 FlagNoCreationTools = 1 << 0,
2443 };
2446 Q_ENUM( AnnotationItemGuiFlag )
2447 Q_FLAG( AnnotationItemGuiFlags )
2448
2449
2454 enum class AnnotationItemNodeType : int
2455 {
2456 VertexHandle,
2457 CalloutHandle,
2458 };
2459 Q_ENUM( AnnotationItemNodeType )
2460
2461
2467 {
2468 Success,
2469 Invalid,
2470 ItemCleared,
2471 };
2472 Q_ENUM( AnnotationItemEditOperationResult )
2473
2474
2482 {
2483 Disabled SIP_MONKEYPATCH_COMPAT_NAME( NavigationOff ),
2484 Animated,
2485 FixedRange,
2486 Movie,
2487 };
2488 Q_ENUM( TemporalNavigationMode )
2489
2490
2498 {
2499 Forward,
2500 Reverse,
2501 Idle,
2502 };
2503 Q_ENUM( AnimationState )
2504
2505
2510 enum class PlaybackOperation : int
2511 {
2512 SkipToStart,
2513 PreviousFrame,
2514 PlayReverse,
2515 Pause,
2516 PlayForward,
2517 NextFrame,
2518 SkipToEnd,
2519 };
2520 Q_ENUM( PlaybackOperation )
2521
2522
2528 {
2529 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2530 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
2531 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
2532 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
2533 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
2534 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ),
2535 };
2536 Q_ENUM( VectorTemporalMode )
2537
2538
2544 {
2545 IncludeBeginExcludeEnd = 0,
2546 IncludeBeginIncludeEnd,
2547 };
2548 Q_ENUM( VectorTemporalLimitMode )
2549
2550
2556 {
2557 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
2558 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
2559 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2560 };
2561 Q_ENUM( VectorDataProviderTemporalMode )
2562
2563
2569 {
2570 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2571 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
2572 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ) = 2,
2573 FixedRangePerBand = 3,
2574 RepresentsTemporalValues = 4,
2575 FixedDateTime = 5,
2576 };
2577 Q_ENUM( RasterTemporalMode )
2578
2579
2585 {
2586 MatchUsingWholeRange,
2587 MatchExactUsingStartOfRange,
2588 MatchExactUsingEndOfRange,
2589 FindClosestMatchToStartOfRange,
2590 FindClosestMatchToEndOfRange
2591 };
2592 Q_ENUM( TemporalIntervalMatchMethod )
2593
2594
2600 {
2601 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
2602 };
2603 Q_ENUM( RasterTemporalCapabilityFlag )
2604
2605
2612
2619 {
2620 Forward SIP_MONKEYPATCH_COMPAT_NAME( ForwardTransform ),
2621 Reverse SIP_MONKEYPATCH_COMPAT_NAME( ReverseTransform )
2622 };
2623 Q_ENUM( TransformDirection )
2624
2625
2631 {
2632 BallparkTransformsAreAppropriate = 1 << 0,
2633 IgnoreImpossibleTransformations = 1 << 1,
2634 };
2635 Q_ENUM( CoordinateTransformationFlag )
2636
2637
2644
2651 {
2652 Antialiasing = 0x01,
2653 DrawEditingInfo = 0x02,
2654 ForceVectorOutput = 0x04,
2655 UseAdvancedEffects = 0x08,
2656 DrawLabeling = 0x10,
2657 UseRenderingOptimization = 0x20,
2658 DrawSelection = 0x40,
2659 DrawSymbolBounds = 0x80,
2660 RenderMapTile = 0x100,
2661 RenderPartialOutput = 0x200,
2662 RenderPreviewJob = 0x400,
2663 RenderBlocking = 0x800,
2664 LosslessImageRendering = 0x1000,
2665 Render3DMap = 0x2000,
2666 HighQualityImageTransforms = 0x4000,
2667 SkipSymbolRendering = 0x8000,
2668 ForceRasterMasks = 0x10000,
2669 RecordProfile = 0x20000,
2670 AlwaysUseGlobalMasks = 0x40000,
2671 };
2674 Q_ENUM( MapSettingsFlag )
2675 Q_FLAG( MapSettingsFlags )
2676
2677
2683 {
2684 DrawEditingInfo = 0x01,
2685 ForceVectorOutput = 0x02,
2686 UseAdvancedEffects = 0x04,
2687 UseRenderingOptimization = 0x08,
2688 DrawSelection = 0x10,
2689 DrawSymbolBounds = 0x20,
2690 RenderMapTile = 0x40,
2691 Antialiasing = 0x80,
2692 RenderPartialOutput = 0x100,
2693 RenderPreviewJob = 0x200,
2694 RenderBlocking = 0x400,
2695 RenderSymbolPreview = 0x800,
2696 LosslessImageRendering = 0x1000,
2697 ApplyScalingWorkaroundForTextRendering = 0x2000,
2698 Render3DMap = 0x4000,
2699 ApplyClipAfterReprojection = 0x8000,
2700 RenderingSubSymbol = 0x10000,
2701 HighQualityImageTransforms = 0x20000,
2702 SkipSymbolRendering = 0x40000,
2703 RecordProfile = 0x80000,
2704 AlwaysUseGlobalMasks = 0x100000,
2705 DisableSymbolClippingToExtent = 0x200000,
2706 };
2709 Q_ENUM( RenderContextFlag )
2710 Q_FLAG( RenderContextFlags )
2711
2712
2717 enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2718 {
2719 RenderPartialOutputs = 1 << 0,
2720 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2721 AffectsLabeling = 1 << 2,
2722 };
2723 Q_ENUM( MapLayerRendererFlag )
2724
2725
2731 Q_FLAG( MapLayerRendererFlags )
2732
2733 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
2734 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
2735
2741 {
2742 AlwaysOutlines SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysOutlines ),
2743 AlwaysText SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysText ),
2744 PreferText,
2745 };
2746 Q_ENUM( TextRenderFormat )
2747
2748
2756 {
2757 UseAllLabels = 1 << 1,
2758 UsePartialCandidates = 1 << 2,
2759 // TODO QGIS 4.0: remove
2760 RenderOutlineLabels = 1 << 3,
2761 DrawLabelRectOnly = 1 << 4,
2762 DrawCandidates = 1 << 5,
2763 DrawUnplacedLabels = 1 << 6,
2764 CollectUnplacedLabels = 1 << 7,
2765 DrawLabelMetrics = 1 << 8,
2766 };
2767 Q_ENUM( LabelingFlag )
2768
2769
2777 Q_FLAG( LabelingFlags )
2778
2787 {
2788 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
2789 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
2790 };
2791 Q_ENUM( LabelPlacementEngineVersion )
2792
2793
2801 {
2802 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
2803 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
2804 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
2805 };
2806 Q_ENUM( TextOrientation )
2807
2808
2816 {
2817 Rectangle SIP_MONKEYPATCH_COMPAT_NAME( Rect ),
2818 Point,
2819 Labeling SIP_MONKEYPATCH_COMPAT_NAME( Label ),
2820 RectangleCapHeightBased,
2821 RectangleAscentBased,
2822 };
2823 Q_ENUM( TextLayoutMode )
2824
2825
2833 {
2834 Text = 1 << 0,
2835 Buffer = 1 << 1,
2836 Background = 1 << 2,
2837 Shadow = 1 << 3,
2838 };
2839 Q_ENUM( TextComponent )
2840
2841
2846 Q_DECLARE_FLAGS( TextComponents, TextComponent )
2847 Q_FLAG( TextComponents )
2848
2857 {
2858 Left SIP_MONKEYPATCH_COMPAT_NAME( AlignLeft ),
2859 Center SIP_MONKEYPATCH_COMPAT_NAME( AlignCenter ),
2860 Right SIP_MONKEYPATCH_COMPAT_NAME( AlignRight ),
2861 Justify SIP_MONKEYPATCH_COMPAT_NAME( AlignJustify ),
2862 };
2863 Q_ENUM( TextHorizontalAlignment )
2864
2865
2876 {
2877 Top SIP_MONKEYPATCH_COMPAT_NAME( AlignTop ),
2878 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
2879 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
2880 };
2881 Q_ENUM( TextVerticalAlignment )
2882
2883
2892 {
2893 Normal,
2894 SuperScript,
2895 SubScript,
2896 };
2897 Q_ENUM( TextCharacterVerticalAlignment )
2898
2899
2907 {
2908 Distance = 0,
2909 SnapToGrid = 1,
2910 Visvalingam = 2,
2911 SnappedToGridGlobal = 3,
2912 };
2913 Q_ENUM( VectorSimplificationAlgorithm )
2914
2915
2923 {
2924 NoSimplification = 0,
2925 GeometrySimplification = 1,
2926 AntialiasingSimplification = 2,
2927 FullSimplification = 3,
2928 };
2929 Q_ENUM( VectorRenderingSimplificationFlag )
2930
2931
2940
2947 {
2948 Generic,
2949 ShadowOffset,
2950 BlurSize,
2951 GlowSpread,
2952 };
2953 Q_ENUM( RenderSubcomponentProperty )
2954
2955
2960 {
2961 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
2962 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
2963 };
2964 Q_ENUM( VertexType )
2965
2966
2974 {
2975 Square,
2976 Diamond,
2977 Pentagon,
2978 Hexagon,
2979 Triangle,
2980 EquilateralTriangle,
2981 Star,
2982 Arrow,
2983 Circle,
2984 Cross,
2985 CrossFill,
2986 Cross2,
2987 Line,
2988 ArrowHead,
2989 ArrowHeadFilled,
2990 SemiCircle,
2991 ThirdCircle,
2992 QuarterCircle,
2993 QuarterSquare,
2994 HalfSquare,
2995 DiagonalHalfSquare,
2996 RightHalfTriangle,
2997 LeftHalfTriangle,
2998 Octagon,
2999 SquareWithCorners,
3000 AsteriskFill,
3001 HalfArc,
3002 ThirdArc,
3003 QuarterArc,
3004 ParallelogramRight,
3005 ParallelogramLeft,
3006 Trapezoid,
3007 Shield,
3008 DiamondStar,
3009 Heart,
3010 Decagon,
3011 RoundedSquare,
3012 };
3013 Q_ENUM( MarkerShape )
3014
3015
3023 {
3024 Interval = 1 << 0,
3025 Vertex = 1 << 1,
3026 LastVertex = 1 << 2,
3027 FirstVertex = 1 << 3,
3028 CentralPoint = 1 << 4,
3029 CurvePoint = 1 << 5,
3030 SegmentCenter = 1 << 6,
3031 InnerVertices = 1 << 7,
3032 };
3033 Q_ENUM( MarkerLinePlacement )
3035 Q_FLAG( MarkerLinePlacements )
3036
3043 {
3044 IntervalCartesian2D = 1 << 0,
3045 IntervalZ = 1 << 1,
3046 IntervalM = 1 << 2,
3047 Vertex = 1 << 3,
3048 };
3049 Q_ENUM( LinearReferencingPlacement )
3050
3051
3057 {
3058 CartesianDistance2D,
3059 Z,
3060 M,
3061 };
3062 Q_ENUM( LinearReferencingLabelSource )
3063
3064
3072 {
3073 SimpleTwoColor,
3074 ColorRamp,
3075 };
3076 Q_ENUM( GradientColorSource )
3077
3078
3086 {
3087 Linear,
3088 Radial,
3089 Conical,
3090 };
3091 Q_ENUM( GradientType )
3092
3093
3101 {
3102 Feature,
3103 Viewport,
3104 };
3105 Q_ENUM( SymbolCoordinateReference )
3106
3107
3116 {
3117 Pad,
3118 Reflect,
3119 Repeat,
3120 };
3121 Q_ENUM( GradientSpread )
3122
3123
3131 {
3132 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
3133 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
3134 };
3135 Q_ENUM( PointCountMethod )
3136
3137
3142 enum class MarkerClipMode : int
3143 {
3144 NoClipping,
3145 Shape,
3146 CentroidWithin,
3147 CompletelyWithin,
3148 };
3149 Q_ENUM( MarkerClipMode )
3150
3151
3156 enum class LineClipMode : int
3157 {
3158 ClipPainterOnly,
3159 ClipToIntersection,
3160 NoClipping,
3161 };
3162 Q_ENUM( LineClipMode )
3163
3164
3170 {
3171 NoRule,
3172 FullDash,
3173 HalfDash,
3174 FullGap,
3175 HalfGap,
3176 };
3177 Q_ENUM( DashPatternLineEndingRule )
3178
3179
3185 {
3186 ScaleBothDashAndGap,
3187 ScaleDashOnly,
3188 ScaleGapOnly,
3189 };
3190 Q_ENUM( DashPatternSizeAdjustment )
3191
3192
3200 {
3201 Color SIP_MONKEYPATCH_COMPAT_NAME( GraduatedColor ),
3202 Size SIP_MONKEYPATCH_COMPAT_NAME( GraduatedSize ),
3203 };
3204 Q_ENUM( GraduatedMethod )
3205
3206
3212 {
3213 NoLabels,
3214 EveryLabel,
3215 FirstLabel,
3216 LastLabel,
3217 FirstAndLastLabels,
3218 };
3219 Q_ENUM( PlotAxisSuffixPlacement )
3220
3221
3225 enum class DpiMode
3226 {
3227 All = 7,
3228 Off = 0,
3229 QGIS = 1,
3230 UMN = 2,
3231 GeoServer = 4,
3232 };
3233 Q_ENUM( DpiMode )
3234
3235
3240 {
3241 Undefined = 0,
3242 StandardDpi = 1,
3243 HighDpi = 2,
3244 };
3245 Q_ENUM( TilePixelRatio )
3246
3247 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
3248
3249
3257 {
3258 MixedCase = 0,
3259 AllUppercase = 1,
3260 AllLowercase = 2,
3261 ForceFirstLetterToCapital = 4,
3262 SmallCaps = 5,
3263 TitleCase = 1004,
3264 UpperCamelCase = 1005,
3265 AllSmallCaps = 1006,
3266 };
3267 Q_ENUM( Capitalization )
3268
3269
3274 enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
3275 {
3276 WrapLines = 1 << 0,
3277 };
3278 Q_ENUM( TextRendererFlag )
3280 Q_FLAG( TextRendererFlags )
3281
3288 {
3289 MapBox,
3290 Esri,
3291 };
3293
3300 {
3301 Clockwise,
3302 CounterClockwise,
3303 NoOrientation,
3304 };
3305 Q_ENUM( AngularDirection )
3306
3307
3312 enum class RendererUsage : int
3313 {
3314 View,
3315 Export,
3316 Unknown,
3317 };
3318 Q_ENUM( RendererUsage )
3319
3320
3325 enum class MapCanvasFlag : int SIP_ENUM_BASETYPE( IntFlag )
3326 {
3327 ShowMainAnnotationLayer = 1 << 0,
3328 };
3329 Q_ENUM( MapCanvasFlag )
3330
3331
3336 Q_DECLARE_FLAGS( MapCanvasFlags, MapCanvasFlag )
3337 Q_FLAG( MapCanvasFlags )
3338
3344 enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
3345 {
3346 Sync3DTo2D = 1 << 0,
3347 Sync2DTo3D = 1 << 1,
3348 };
3349 Q_ENUM( ViewSyncModeFlag )
3351
3358 {
3359 Always,
3360 WhenOutsideVisibleExtent,
3361 Never,
3362 };
3363 Q_ENUM( MapRecenteringMode )
3364
3365
3370 enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
3371 {
3372 LocalProfile = 1 << 0,
3373// Project = 1 << 1, //!< QGIS Project (not yet implemented)
3374 };
3375 Q_ENUM( HistoryProviderBackend )
3377 Q_FLAG( HistoryProviderBackends )
3378
3384 enum class QueryStorageBackend : int
3385 {
3386 LocalProfile,
3387 CurrentProject,
3388 };
3389 Q_ENUM( QueryStorageBackend )
3390
3391
3399 {
3400 MapLayer SIP_MONKEYPATCH_COMPAT_NAME( TypeMapLayer ) = -2,
3401 VectorAnyGeometry SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorAnyGeometry ) = -1,
3402 VectorPoint SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPoint ) = 0,
3403 VectorLine SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorLine ) = 1,
3404 VectorPolygon SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPolygon ) = 2,
3405 Raster SIP_MONKEYPATCH_COMPAT_NAME( TypeRaster ) = 3,
3406 File SIP_MONKEYPATCH_COMPAT_NAME( TypeFile ) = 4,
3407 Vector SIP_MONKEYPATCH_COMPAT_NAME( TypeVector ) = 5,
3408 Mesh SIP_MONKEYPATCH_COMPAT_NAME( TypeMesh ) = 6,
3409 Plugin SIP_MONKEYPATCH_COMPAT_NAME( TypePlugin ) = 7,
3410 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( TypePointCloud ) = 8,
3411 Annotation SIP_MONKEYPATCH_COMPAT_NAME( TypeAnnotation ) = 9,
3412 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorTile ) = 10
3413 };
3414 Q_ENUM( ProcessingSourceType )
3415
3416
3417
3425 {
3426 DeemphasiseSearchResults SIP_MONKEYPATCH_COMPAT_NAME( FlagDeemphasiseSearchResults ) = 1 << 1,
3427 CompatibleWithVirtualRaster SIP_MONKEYPATCH_COMPAT_NAME( FlagCompatibleWithVirtualRaster ) = 1 << 2,
3428 };
3430
3439 Q_FLAG( ProcessingProviderFlags )
3440
3441
3449 {
3450 HideFromToolbox SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromToolbox ) = 1 << 1,
3451 HideFromModeler SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromModeler ) = 1 << 2,
3452 SupportsBatch SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsBatch ) = 1 << 3,
3453 CanCancel SIP_MONKEYPATCH_COMPAT_NAME( FlagCanCancel ) = 1 << 4,
3454 RequiresMatchingCrs SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresMatchingCrs ) = 1 << 5,
3455 NoThreading SIP_MONKEYPATCH_COMPAT_NAME( FlagNoThreading ) = 1 << 6,
3456 DisplayNameIsLiteral SIP_MONKEYPATCH_COMPAT_NAME( FlagDisplayNameIsLiteral ) = 1 << 7,
3457 SupportsInPlaceEdits SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsInPlaceEdits ) = 1 << 8,
3458 KnownIssues SIP_MONKEYPATCH_COMPAT_NAME( FlagKnownIssues ) = 1 << 9,
3459 CustomException SIP_MONKEYPATCH_COMPAT_NAME( FlagCustomException ) = 1 << 10,
3460 PruneModelBranchesBasedOnAlgorithmResults SIP_MONKEYPATCH_COMPAT_NAME( FlagPruneModelBranchesBasedOnAlgorithmResults ) = 1 << 11,
3461 SkipGenericModelLogging SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGenericModelLogging ) = 1 << 12,
3462 NotAvailableInStandaloneTool SIP_MONKEYPATCH_COMPAT_NAME( FlagNotAvailableInStandaloneTool ) = 1 << 13,
3463 RequiresProject SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresProject ) = 1 << 14,
3464 SecurityRisk = 1 << 15,
3465 Deprecated SIP_MONKEYPATCH_COMPAT_NAME( FlagDeprecated ) = HideFromToolbox | HideFromModeler,
3466 };
3468
3477 Q_FLAG( ProcessingAlgorithmFlags )
3478
3479
3485 {
3486 RegeneratesPrimaryKey = 1 << 0,
3487 RegeneratesPrimaryKeyInSomeScenarios = 1 << 1,
3488 };
3489 Q_ENUM( ProcessingAlgorithmDocumentationFlag )
3490
3491
3498
3508 {
3509 NotAvailable,
3510 Available,
3511 };
3512 Q_ENUM( ProcessingPropertyAvailability )
3513
3514
3522 {
3523 DefaultLevel = 0,
3524 Verbose,
3525 ModelDebug,
3526 };
3527 Q_ENUM( ProcessingLogLevel )
3528
3529
3537 {
3538 Standard,
3539 Batch,
3540 Modeler,
3541 };
3542 Q_ENUM( ProcessingMode )
3543
3544
3552 {
3553 OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck ) = 1 << 0,
3554 CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature ) = 1 << 1,
3555 };
3556 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3557
3558
3567
3576 {
3577 SkipGeometryValidityChecks SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGeometryValidityChecks ) = 1 << 1,
3578 };
3579 Q_ENUM( ProcessingFeatureSourceFlag )
3580
3581
3590
3602 {
3603 ExposeToModeler = 1
3604 };
3605 Q_ENUM( ProcessingParameterTypeFlag )
3606
3607
3619
3628 {
3629 Advanced SIP_MONKEYPATCH_COMPAT_NAME( FlagAdvanced ) = 1 << 1,
3630 Hidden SIP_MONKEYPATCH_COMPAT_NAME( FlagHidden ) = 1 << 2,
3631 Optional SIP_MONKEYPATCH_COMPAT_NAME( FlagOptional ) = 1 << 3,
3632 IsModelOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagIsModelOutput ) = 1 << 4,
3633 };
3634 Q_ENUM( ProcessingParameterFlag )
3635
3636
3644 Q_FLAG( ProcessingParameterFlags )
3645
3654 {
3655 File = 0,
3656 Folder,
3657 };
3658 Q_ENUM( ProcessingFileParameterBehavior )
3659
3660
3668 {
3669 Integer,
3670 Double,
3671 };
3672 Q_ENUM( ProcessingNumberParameterType )
3673
3674
3682 {
3683 Any = -1,
3684 Numeric = 0,
3685 String = 1,
3686 DateTime = 2,
3687 Binary = 3,
3688 Boolean = 4,
3689 };
3690 Q_ENUM( ProcessingFieldParameterDataType )
3691
3692
3700 {
3701 DateTime,
3702 Date,
3703 Time,
3704 };
3705 Q_ENUM( ProcessingDateTimeParameterDataType )
3706
3707
3713 {
3714 ModelParameter,
3715 ChildOutput,
3716 StaticValue,
3717 Expression,
3718 ExpressionText,
3719 ModelOutput,
3720 };
3721 Q_ENUM( ProcessingModelChildParameterSource )
3722
3723
3729 {
3730 NotExecuted,
3731 Success,
3732 Failed,
3733 };
3734 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
3735
3736
3744 {
3745 Vertices,
3746 StructureLines,
3747 BreakLines
3748 };
3749 Q_ENUM( ProcessingTinInputLayerType )
3750
3751
3757 {
3758 Wkt SIP_MONKEYPATCH_COMPAT_NAME( FormatWkt ),
3759 Proj SIP_MONKEYPATCH_COMPAT_NAME( FormatProj ),
3760 };
3761 Q_ENUM( CrsDefinitionFormat )
3762
3763
3771 enum class FieldDomainSplitPolicy : int
3772 {
3773 DefaultValue,
3774 Duplicate,
3775 GeometryRatio,
3776 UnsetField,
3777 };
3778 Q_ENUM( FieldDomainSplitPolicy )
3779
3780
3788 enum class FieldDomainMergePolicy : int
3789 {
3790 DefaultValue,
3791 Sum,
3792 GeometryWeighted,
3793 UnsetField,
3794 LargestGeometry,
3795 MinimumValue,
3796 MaximumValue,
3797 SetToNull,
3798 };
3799 Q_ENUM( FieldDomainMergePolicy )
3800
3801
3808 enum class FieldDuplicatePolicy : int
3809 {
3810 DefaultValue,
3811 Duplicate,
3812 UnsetField,
3813 };
3814 Q_ENUM( FieldDuplicatePolicy )
3815
3816
3821 enum class FieldDomainType : int
3822 {
3823 Coded,
3824 Range,
3825 Glob,
3826 };
3827 Q_ENUM( FieldDomainType )
3828
3829
3834 enum class TransactionMode : int
3835 {
3836 Disabled = 0,
3837 AutomaticGroups = 1,
3838 BufferedGroups = 2,
3839 };
3840 Q_ENUM( TransactionMode )
3841
3842
3847 enum class AltitudeClamping : int
3848 {
3849 Absolute,
3850 Relative,
3851 Terrain,
3852 };
3853 Q_ENUM( AltitudeClamping )
3854
3855
3860 enum class AltitudeBinding : int
3861 {
3862 Vertex,
3863 Centroid,
3864 };
3865 Q_ENUM( AltitudeBinding )
3866
3867
3872 enum class RangeLimits : int
3873 {
3874 IncludeBoth = 0,
3875 IncludeLowerExcludeUpper,
3876 ExcludeLowerIncludeUpper,
3877 ExcludeBoth,
3878 };
3879 Q_ENUM( RangeLimits )
3880
3881
3886 enum class RasterElevationMode : int
3887 {
3888 FixedElevationRange = 0,
3889 RepresentsElevationSurface = 1,
3890 FixedRangePerBand = 2,
3891 DynamicRangePerBand = 3,
3892 };
3893 Q_ENUM( RasterElevationMode )
3894
3895
3900 enum class MeshElevationMode : int
3901 {
3902 FixedElevationRange = 0,
3903 FromVertices = 1,
3904 FixedRangePerGroup = 2,
3905 };
3906 Q_ENUM( MeshElevationMode )
3907
3908
3914 {
3915 NoConstraint,
3916 Perpendicular,
3917 Parallel
3918 };
3919 Q_ENUM( BetweenLineConstraint )
3920
3921
3926 enum class LineExtensionSide : int
3927 {
3928 BeforeVertex,
3929 AfterVertex,
3930 NoVertex,
3931 };
3932 Q_ENUM( LineExtensionSide )
3933
3934
3935
3939 enum class CadConstraintType : int
3940 {
3941 Generic,
3942 Angle,
3943 Distance,
3944 XCoordinate,
3945 YCoordinate,
3946 ZValue,
3947 MValue,
3948 };
3949 Q_ENUM( CadConstraintType )
3950
3951
3952
3957 enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
3958 {
3959 EvaluateDefaultValuesOnProviderSide = 1 << 0,
3960 TrustStoredLayerStatistics = 1 << 1,
3961 RememberLayerEditStatusBetweenSessions = 1 << 2,
3962 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
3963 };
3964 Q_ENUM( ProjectFlag )
3965 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
3966 Q_FLAG( ProjectFlags )
3967
3973 enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
3974 {
3975 ShowContextMenu = 1 << 0,
3976 };
3977 Q_ENUM( PlotToolFlag )
3978 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
3979 Q_FLAG( PlotToolFlags )
3980
3981
3989 enum class Point3DShape : int
3990 {
3991 Cylinder,
3992 Sphere,
3993 Cone,
3994 Cube,
3995 Torus,
3996 Plane,
3997 ExtrudedText,
3998 Model,
3999 Billboard,
4000 };
4001 Q_ENUM( Point3DShape )
4002
4003
4008 enum class LightSourceType : int
4009 {
4010 Point,
4011 Directional,
4012 };
4013 Q_ENUM( LightSourceType )
4014
4015
4020 enum class NavigationMode : int
4021 {
4022 TerrainBased,
4023 Walk,
4024 GlobeTerrainBased
4025 };
4026 Q_ENUM( NavigationMode )
4027
4028
4033 enum class SceneMode : int
4034 {
4035 Local,
4036 Globe
4037 };
4038 Q_ENUM( SceneMode )
4039
4040
4045 enum class VerticalAxisInversion : int
4046 {
4047 Never,
4048 WhenDragging,
4049 Always,
4050 };
4051 Q_ENUM( VerticalAxisInversion )
4052
4053
4059 {
4060 Line,
4061 FillBelow,
4062 FillAbove,
4063 };
4065
4071 enum class VectorProfileType : int
4072 {
4073 IndividualFeatures,
4074 ContinuousSurface,
4075 };
4077
4083 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
4084 {
4085 RespectsMaximumErrorMapUnit = 1 << 0,
4086 RespectsDistanceRange = 1 << 1,
4087 RespectsElevationRange = 1 << 2,
4088 };
4089 Q_ENUM( ProfileGeneratorFlag )
4091 Q_FLAG( ProfileGeneratorFlags )
4092
4098 enum class ProfileExportType : int
4099 {
4100 Features3D,
4101 Profile2D,
4102 DistanceVsElevationTable,
4103 };
4105
4112 {
4113 Square,
4114 Circle,
4115 };
4116 Q_ENUM( PointCloudSymbol )
4117
4118
4124 {
4125 Default,
4126 BottomToTop,
4127 TopToBottom,
4128 };
4129 Q_ENUM( PointCloudDrawOrder )
4130
4131
4139 {
4140 AllowIntersections,
4141 AvoidIntersectionsCurrentLayer,
4142 AvoidIntersectionsLayers,
4143 };
4144 Q_ENUM( AvoidIntersectionsMode )
4145
4146
4154 {
4155 Qgz,
4156 Qgs,
4157 };
4158 Q_ENUM( ProjectFileFormat )
4159
4160
4168 {
4169 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers ) = 1 << 0,
4170 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts ) = 1 << 1,
4171 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata ) = 1 << 2,
4172 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
4173 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
4174 DontLoadProjectStyles = 1 << 5,
4175 ForceReadOnlyLayers = 1 << 6,
4176 DontUpgradeAnnotations = 1 << 7,
4177 };
4178 Q_ENUM( ProjectReadFlag )
4179
4180
4188 Q_FLAG( ProjectReadFlags )
4189
4198 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
4199 {
4200 ProjectStyles = 1 << 0,
4201 };
4202 Q_ENUM( ProjectCapability )
4203
4204
4210 Q_FLAG( ProjectCapabilities )
4211
4218 {
4219 Vector,
4220 Raster,
4221 RasterDem,
4222 GeoJson,
4223 Image,
4224 Video,
4225 Unknown,
4226 };
4227 Q_ENUM( MapBoxGlStyleSourceType )
4228
4229
4237 {
4238 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
4239 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
4240 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
4241 GlobeServer,
4242 GPServer,
4243 GeocodeServer,
4244 Unknown,
4245 };
4246 Q_ENUM( ArcGisRestServiceType )
4247
4248
4256 {
4257 Normal,
4258 Generated,
4259 };
4260 Q_ENUM( RelationshipType )
4261
4262
4270 {
4271 Association,
4272 Composition,
4273 };
4274 Q_ENUM( RelationshipStrength )
4275
4276
4282 {
4283 OneToOne,
4284 OneToMany,
4285 ManyToOne,
4286 ManyToMany,
4287 };
4288 Q_ENUM( RelationshipCardinality )
4289
4290
4295 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
4296 {
4297 MultipleFieldKeys = 1 << 0,
4298 ForwardPathLabel = 1 << 1,
4299 BackwardPathLabel = 1 << 2,
4300 };
4301 Q_ENUM( RelationshipCapability )
4302
4303
4309 Q_FLAG( RelationshipCapabilities )
4310
4316 enum class CoordinateDisplayType : int
4317 {
4318 MapCrs,
4319 MapGeographic,
4320 CustomCrs,
4321 };
4322 Q_ENUM( CoordinateDisplayType )
4323
4324
4329 enum class SettingsOrigin : int
4330 {
4331 Any,
4332 Global,
4333 Local,
4334 };
4335 Q_ENUM( SettingsOrigin )
4336
4337
4342 enum class ScriptLanguage : int
4343 {
4344 Css,
4345 QgisExpression,
4346 Html,
4347 JavaScript,
4348 Json,
4349 Python,
4350 R,
4351 Sql,
4352 Batch,
4353 Bash,
4354 Unknown,
4355 };
4356 Q_ENUM( ScriptLanguage )
4357
4358
4366 {
4367 Reformat = 1 << 0,
4368 CheckSyntax = 1 << 1,
4369 ToggleComment = 1 << 2,
4370 };
4371 Q_ENUM( ScriptLanguageCapability )
4372
4373
4380
4387 {
4388 AboveInsertionPoint,
4389 TopOfTree,
4390 OptimalInInsertionGroup,
4391 };
4392 Q_ENUM( LayerTreeInsertionMethod )
4393
4394
4399 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
4400 {
4401 SkipVisibilityCheck = 1 << 0,
4402 };
4403 Q_ENUM( LayerTreeFilterFlag )
4404
4405
4411 Q_FLAG( LayerTreeFilterFlags )
4412
4421 {
4422 Undefined,
4423 Hidden,
4424 Title,
4425 Group,
4426 Subgroup,
4427 Symbol,
4428 SymbolLabel,
4429 };
4430 // !!! WARNING: If adding new values to this enum, make sure you update QgsLegendSettings constructor accordingly!!
4431 Q_ENUM( LegendComponent )
4432
4433
4440 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
4441 {
4442 ShowRuleDetails = 1 << 0,
4443 };
4444 Q_ENUM( LegendJsonRenderFlag )
4446 Q_FLAG( LegendJsonRenderFlags )
4447
4455 enum class ActionType : int
4456 {
4457 Invalid,
4458 MapLayerAction,
4459 AttributeAction
4460 };
4461 Q_ENUM( ActionType )
4462
4463
4470 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
4471 {
4472 Layer = 1 << 0,
4473 SingleFeature = 1 << 1,
4474 MultipleFeatures = 1 << 2,
4475 AllActions = Layer | SingleFeature | MultipleFeatures
4476 };
4477 Q_ENUM( MapLayerActionTarget )
4478
4479
4487 Q_FLAG( MapLayerActionTargets )
4488
4496 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
4497 {
4498 EnabledOnlyWhenEditable = 1 << 1,
4499 EnableOnlyWhenHasGeometry = 1 << 2,
4500 };
4501 Q_ENUM( MapLayerActionFlag )
4502
4503
4511 Q_FLAG( MapLayerActionFlags )
4512
4521 {
4522 Generic,
4523 GenericPython,
4524 Mac,
4525 Windows,
4526 Unix,
4527 OpenUrl,
4528 SubmitUrlEncoded,
4529 SubmitUrlMultipart,
4530 };
4531 Q_ENUM( AttributeActionType )
4532
4533
4539 {
4540 Created,
4541 Published,
4542 Revised,
4543 Superseded,
4544 };
4545 Q_ENUM( MetadataDateType )
4546
4547
4558 {
4559 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
4560 GrayIndex = 1,
4561 PaletteIndex = 2,
4562 RedBand = 3,
4563 GreenBand = 4,
4564 BlueBand = 5,
4565 AlphaBand = 6,
4566 HueBand = 7,
4567 SaturationBand = 8,
4568 LightnessBand = 9,
4569 CyanBand = 10,
4570 MagentaBand = 11,
4571 YellowBand = 12,
4572 BlackBand = 13,
4573 YCbCr_YBand = 14,
4574 YCbCr_CbBand = 15,
4575 YCbCr_CrBand = 16,
4576 ContinuousPalette = 17,
4577
4578 // Note: values between PanBand and SAR_P_Band match additions done in
4579 // GDAL 3.10, except that the numeric values of the constant don't match GDAL ones
4580
4581 PanBand = 18,
4582 CoastalBand = 19,
4583 RedEdgeBand = 20,
4584 NIRBand = 21,
4585 SWIRBand = 22,
4586 MWIRBand = 23,
4587 LWIRBand = 24,
4588 TIRBand = 25,
4589 OtherIRBand = 26,
4590 SAR_Ka_Band = 27,
4591 SAR_K_Band = 28,
4592 SAR_Ku_Band = 30,
4593 SAR_X_Band = 31,
4594 SAR_C_Band = 32,
4595 SAR_S_Band = 33,
4596 SAR_L_Band = 34,
4597 SAR_P_Band = 35,
4598 };
4599 Q_ENUM( RasterColorInterpretation )
4600
4601
4609 {
4610 GrayOrUndefined,
4611 Palette,
4612 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
4613 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
4614 };
4615 Q_ENUM( RasterLayerType )
4616
4617
4625 {
4626 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
4627 SingleBandGray,
4628 SingleBandPseudoColor,
4629 PalettedColor,
4630 PalettedSingleBandGray,
4631 PalettedSingleBandPseudoColor,
4632 PalettedMultiBandColor,
4633 MultiBandSingleBandGray,
4634 MultiBandSingleBandPseudoColor,
4635 MultiBandColor,
4636 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
4637 };
4638 Q_ENUM( RasterDrawingStyle )
4639
4640
4647 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
4648 {
4649 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
4650 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
4651 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
4652 };
4653 Q_ENUM( RasterPyramidFormat )
4654
4655
4663 {
4664 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
4665 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
4666 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
4667 };
4668 Q_ENUM( RasterBuildPyramidOption )
4669
4670
4678 {
4679 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
4680 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
4681 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
4682 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
4683 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
4684 };
4685 Q_ENUM( RasterIdentifyFormat )
4686
4687 // TODO QGIS 4 -- remove NoCapabilities and rely on RasterInterfaceCapabilities() instead
4688 // remove deprecated members
4689 // Remove "Identify" member, and replace with combinations of IdentifyValue/IdentifyText/etc
4690
4691
4699 {
4700 NoCapabilities = 0,
4701 Size = 1 << 1,
4702 Create = 1 << 2,
4703 Remove = 1 << 3,
4704 BuildPyramids = 1 << 4,
4705 Identify = 1 << 5,
4706 IdentifyValue = 1 << 6,
4707 IdentifyText = 1 << 7,
4708 IdentifyHtml = 1 << 8,
4709 IdentifyFeature = 1 << 9,
4710 Prefetch = 1 << 10,
4711 };
4712 Q_ENUM( RasterInterfaceCapability )
4713
4714
4721
4722 // TODO QGIS 4 -- remove NoProviderCapabilities and rely on RasterProviderCapabilities() instead
4723
4732 {
4733 NoProviderCapabilities = 0,
4734 ReadLayerMetadata = 1 << 1,
4735 WriteLayerMetadata = 1 << 2,
4736 ProviderHintBenefitsFromResampling = 1 << 3,
4737 ProviderHintCanPerformProviderResampling = 1 << 4,
4738 ReloadData = 1 << 5,
4739 DpiDependentData = 1 << 6,
4740 NativeRasterAttributeTable = 1 << 7,
4741 BuildPyramids = 1 << 8,
4742 };
4743 Q_ENUM( RasterProviderCapability )
4744
4745
4754
4761 {
4762 HighestElevation,
4763 NewerElevation,
4764 };
4765 Q_ENUM( ElevationMapCombineMethod )
4766
4767
4776 {
4777 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
4778 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
4779 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
4780 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
4781 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
4782 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
4783 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
4784 Burn SIP_MONKEYPATCH_COMPAT_NAME( BlendBurn ),
4785 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
4786 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
4787 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
4788 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
4789 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
4790 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
4791 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
4792 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
4793 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
4794 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
4795 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
4796 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
4797 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
4798 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
4799 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
4800 Xor SIP_MONKEYPATCH_COMPAT_NAME( BlendXor ),
4801 };
4802 Q_ENUM( BlendMode )
4803
4804
4812 {
4813 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
4814 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
4815 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
4816 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
4817 };
4818 Q_ENUM( SystemOfMeasurement )
4819
4820
4827 {
4828 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
4829 Pixels,
4830 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
4831 };
4832 Q_ENUM( MapToolUnit )
4833
4834
4842 {
4843 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
4844 Area SIP_MONKEYPATCH_COMPAT_NAME( TypeArea ),
4845 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
4846 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
4847 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
4848 };
4849 Q_ENUM( UnitType )
4850
4851
4859 {
4860 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
4861 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
4862 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
4863 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
4864 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
4865 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
4866 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
4867 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
4868 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
4869 Inches,
4870 ChainsInternational,
4871 ChainsBritishBenoit1895A,
4872 ChainsBritishBenoit1895B,
4873 ChainsBritishSears1922Truncated,
4874 ChainsBritishSears1922,
4875 ChainsClarkes,
4876 ChainsUSSurvey,
4877 FeetBritish1865,
4878 FeetBritish1936,
4879 FeetBritishBenoit1895A,
4880 FeetBritishBenoit1895B,
4881 FeetBritishSears1922Truncated,
4882 FeetBritishSears1922,
4883 FeetClarkes,
4884 FeetGoldCoast,
4885 FeetIndian,
4886 FeetIndian1937,
4887 FeetIndian1962,
4888 FeetIndian1975,
4889 FeetUSSurvey,
4890 LinksInternational,
4891 LinksBritishBenoit1895A,
4892 LinksBritishBenoit1895B,
4893 LinksBritishSears1922Truncated,
4894 LinksBritishSears1922,
4895 LinksClarkes,
4896 LinksUSSurvey,
4897 YardsBritishBenoit1895A,
4898 YardsBritishBenoit1895B,
4899 YardsBritishSears1922Truncated,
4900 YardsBritishSears1922,
4901 YardsClarkes,
4902 YardsIndian,
4903 YardsIndian1937,
4904 YardsIndian1962,
4905 YardsIndian1975,
4906 MilesUSSurvey,
4907 Fathoms,
4908 MetersGermanLegal,
4909 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
4910 };
4911 Q_ENUM( DistanceUnit )
4912
4913
4921 {
4922 Standard,
4923 Geographic,
4924 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
4925 };
4926 Q_ENUM( DistanceUnitType )
4927
4928
4936 {
4937 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
4938 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
4939 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
4940 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
4941 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
4942 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
4943 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
4944 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
4945 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
4946 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
4947 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
4948 SquareInches,
4949 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
4950 };
4951 Q_ENUM( AreaUnit )
4952
4953
4961 {
4962 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
4963 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
4964 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
4965 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
4966 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
4967 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
4968 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
4969 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
4970 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
4971 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
4972 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
4973 };
4974 Q_ENUM( VolumeUnit )
4975
4976
4984 {
4985 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
4986 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
4987 Gon SIP_MONKEYPATCH_COMPAT_NAME( AngleGon ),
4988 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
4989 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
4990 Turn SIP_MONKEYPATCH_COMPAT_NAME( AngleTurn ),
4991 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
4992 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
4993 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
4994 };
4995 Q_ENUM( AngleUnit )
4996
4997
5005 {
5006 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
5007 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
5008 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
5009 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
5010 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
5011 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
5012 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
5013 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
5014 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
5015 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
5016 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
5017 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
5018 };
5019 Q_ENUM( TemporalUnit )
5020
5021
5029 {
5030 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
5031 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
5032 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
5033 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
5034 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
5035 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
5036 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
5037 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
5038 };
5039 Q_ENUM( RenderUnit )
5040
5041
5049 {
5050 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
5051 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
5052 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
5053 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
5054 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
5055 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
5056 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
5057 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
5058 };
5059 Q_ENUM( LayoutUnit )
5060
5061
5069 {
5070 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
5071 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
5072 };
5073 Q_ENUM( LayoutUnitType )
5074
5075
5083 {
5084 SVG SIP_MONKEYPATCH_COMPAT_NAME( FormatSVG ) = 0,
5085 Raster SIP_MONKEYPATCH_COMPAT_NAME( FormatRaster ),
5086 Unknown SIP_MONKEYPATCH_COMPAT_NAME( FormatUnknown ),
5087 };
5088 Q_ENUM( PictureFormat )
5089
5090
5095 enum class ScaleCalculationMethod : int
5096 {
5097 HorizontalTop = 0,
5098 HorizontalMiddle,
5099 HorizontalBottom,
5100 HorizontalAverage,
5101 AtEquator,
5102 };
5103 Q_ENUM( ScaleCalculationMethod )
5104
5105
5113 {
5114 Left SIP_MONKEYPATCH_COMPAT_NAME( AlignLeft ) = 0,
5115 Middle SIP_MONKEYPATCH_COMPAT_NAME( AlignMiddle ),
5116 Right SIP_MONKEYPATCH_COMPAT_NAME( AlignRight ),
5117 };
5118 Q_ENUM( ScaleBarAlignment )
5119
5120
5128 {
5129 Fixed SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFixed ) = 0,
5130 FitWidth SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFitWidth ) = 1
5131 };
5132 Q_ENUM( ScaleBarSegmentSizeMode )
5133
5134
5142 {
5143 AboveSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelAboveSegment ) = 0,
5144 BelowSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelBelowSegment ),
5145 };
5146 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
5147
5148
5156 {
5157 CenteredEdge SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredEdge ) = 0,
5158 CenteredSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredSegment ),
5159 };
5160 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
5161
5162
5167 enum class InputControllerType : int
5168 {
5169 Map2D,
5170 Map3D
5171 };
5173
5180 {
5181 NotSet,
5182 Unknown,
5183 OrdinaryTable,
5184 Index,
5185 Sequence,
5186 View,
5187 MaterializedView,
5188 CompositeType,
5189 ToastTable,
5190 ForeignTable,
5191 PartitionedTable,
5192 };
5193 Q_ENUM( PostgresRelKind )
5194
5195
5201 {
5202 SetFieldComment = 1 << 0,
5203 SetFieldAlias = 1 << 1,
5204 SetTableComment = 1 << 2,
5205 };
5206 Q_ENUM( DatabaseProviderConnectionCapability2 )
5209
5216 {
5217 SetGeometryColumnName = 1 << 0,
5218 SetPrimaryKeyName = 1 << 1,
5219 };
5220 Q_ENUM( DatabaseProviderTableImportCapability )
5223
5230 {
5231 SaveToDatabase = 1 << 1,
5232 LoadFromDatabase = 1 << 2,
5233 DeleteFromDatabase = 1 << 3
5234 };
5238
5239
5245 {
5246 LastProfile,
5247 DefaultProfile,
5248 AskUser,
5249 };
5250 Q_ENUM( UserProfileSelectionPolicy )
5251
5252
5260 {
5261 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
5262 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
5263 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
5264 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
5265 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
5266 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
5267 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
5268 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
5269 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
5270 };
5271 Q_ENUM( AttributeEditorType )
5272
5273
5279 {
5280 GroupBox,
5281 Tab,
5282 Row,
5283 };
5284 Q_ENUM( AttributeEditorContainerType )
5285
5286
5294 {
5295 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
5296 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
5297 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
5298 };
5299 Q_ENUM( AttributeFormLayout )
5300
5301
5309 {
5310 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
5311 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
5312 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
5313 };
5314 Q_ENUM( AttributeFormSuppression )
5315
5316
5324 {
5325 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
5326 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
5327 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
5328 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
5329 };
5330 Q_ENUM( AttributeFormPythonInitCodeSource )
5331
5332
5338 {
5339 Qgis,
5340 PointCloud,
5341 RasterCalculator,
5342 };
5343 Q_ENUM( ExpressionType )
5344
5345
5353 {
5354 NoSymbology = 0,
5355 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
5356 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
5357 };
5358 Q_ENUM( FeatureSymbologyExport )
5359
5360
5365 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
5366 {
5367 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
5368 };
5369 Q_ENUM( VectorTileProviderFlag )
5370
5371
5377 Q_FLAG( VectorTileProviderFlags )
5378
5384 {
5385 ReadLayerMetadata = 1 << 1,
5386 };
5387 Q_ENUM( VectorTileProviderCapability )
5388
5389
5396
5403 {
5404 Available,
5405 NotAvailable,
5406 AvailableNoChildren,
5407 UseLowerZoomLevelTile,
5408 };
5409 Q_ENUM( TileAvailability )
5410
5411
5417 {
5418 ReadLayerMetadata = 1 << 1,
5419 };
5420 Q_ENUM( TiledSceneProviderCapability )
5421
5422
5429
5436 {
5437 Region,
5438 OrientedBox,
5439 Sphere,
5440 };
5441 Q_ENUM( TiledSceneBoundingVolumeType )
5442
5443
5452 {
5453 Replacement,
5454 Additive,
5455 };
5456 Q_ENUM( TileRefinementProcess )
5457
5458
5464 {
5465 NoChildren,
5466 Available,
5467 NeedFetching,
5468 };
5469 Q_ENUM( TileChildrenAvailability )
5470
5471
5476 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
5477 {
5478 NoHierarchyFetch = 1 << 0,
5479 };
5480 Q_ENUM( TiledSceneRequestFlag )
5481
5482
5488 Q_FLAG( TiledSceneRequestFlags )
5489
5495 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
5496 {
5497 RequiresTextures = 1 << 0,
5498 ForceRasterRender = 1 << 1,
5499 RendersTriangles = 1 << 2,
5500 RendersLines = 1 << 3,
5501 };
5502 Q_ENUM( TiledSceneRendererFlag )
5503
5504
5510 Q_FLAG( TiledSceneRendererFlags )
5511
5517 enum class GdalResampleAlgorithm : int
5518 {
5519 RA_NearestNeighbour = 0,
5520 RA_Bilinear = 1,
5521 RA_Cubic = 2,
5522 RA_CubicSpline = 3,
5523 RA_Lanczos = 4,
5524 RA_Average = 5,
5525 RA_Mode = 6,
5526 RA_Max = 8,
5527 RA_Min = 9,
5528 RA_Median = 10,
5529 RA_Q1 = 11,
5530 RA_Q3 = 12,
5531 };
5532 Q_ENUM( GdalResampleAlgorithm )
5533
5534
5539 enum class VsiHandlerType : int
5540 {
5541 Invalid,
5542 Archive,
5543 Network,
5544 Cloud,
5545 Memory,
5546 Other,
5547 };
5548 Q_ENUM( VsiHandlerType )
5549
5550 // TODO QGIS 4: make All include all values (we can't do this before 4.0, as we need to keep
5551 // compatibility with code which expects all these statistics to give numeric results)
5552
5553
5558 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
5559 {
5560 Count = 1 << 0,
5561 Sum = 1 << 1,
5562 Mean = 1 << 2,
5563 Median = 1 << 3,
5564 StDev = 1 << 4,
5565 Min = 1 << 5,
5566 Max = 1 << 6,
5567 Range = 1 << 7,
5568 Minority = 1 << 8,
5569 Majority = 1 << 9,
5570 Variety = 1 << 10,
5571 Variance = 1 << 11,
5572 MinimumPoint = 1 << 12,
5573 MaximumPoint = 1 << 13,
5574 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
5575 AllNumeric = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
5576 Default = Count | Sum | Mean,
5577 };
5578 Q_ENUM( ZonalStatistic )
5579
5580
5586 Q_FLAG( ZonalStatistics )
5587
5593 enum class ZonalStatisticResult : int
5594 {
5595 Success = 0,
5596 LayerTypeWrong = 1,
5597 LayerInvalid,
5598 RasterInvalid,
5599 RasterBandInvalid,
5600 FailedToCreateField = 8,
5601 Canceled = 9
5602 };
5603 Q_ENUM( ZonalStatisticResult )
5604
5605
5612 {
5613 Count,
5614 CountDistinct,
5615 CountMissing,
5616 Min,
5617 Max,
5618 Sum,
5619 Mean,
5620 Median,
5621 StDev,
5622 StDevSample,
5623 Range,
5624 Minority,
5625 Majority,
5626 FirstQuartile,
5627 ThirdQuartile,
5628 InterQuartileRange,
5629 StringMinimumLength,
5630 StringMaximumLength,
5631 StringConcatenate,
5632 GeometryCollect,
5633 ArrayAggregate,
5634 StringConcatenateUnique
5635 };
5636 Q_ENUM( Aggregate )
5637
5638
5644 {
5645 Count = 1 << 0,
5646 CountMissing = 1 << 15,
5647 Sum = 1 << 1,
5648 Mean = 1 << 2,
5649 Median = 1 << 3,
5650 StDev = 1 << 4,
5651 StDevSample = 1 << 5,
5652 Min = 1 << 6,
5653 Max = 1 << 7,
5654 Range = 1 << 8,
5655 Minority = 1 << 9,
5656 Majority = 1 << 10,
5657 Variety = 1 << 11,
5658 FirstQuartile = 1 << 12,
5659 ThirdQuartile = 1 << 13,
5660 InterQuartileRange = 1 << 14,
5661 First = 1 << 16,
5662 Last = 1 << 17,
5663 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
5664 };
5665 Q_ENUM( Statistic )
5666
5667
5673 Q_FLAG( Statistics )
5674
5681 {
5682 Count = 1,
5683 CountDistinct = 2,
5684 CountMissing = 4,
5685 Min = 8,
5686 Max = 16,
5687 Range = 32,
5688 All = Count | CountDistinct | CountMissing | Min | Max | Range,
5689 };
5690 Q_ENUM( DateTimeStatistic )
5691
5692
5698 Q_FLAG( DateTimeStatistics )
5699
5706 {
5707 Count = 1,
5708 CountDistinct = 2,
5709 CountMissing = 4,
5710 Min = 8,
5711 Max = 16,
5712 MinimumLength = 32,
5713 MaximumLength = 64,
5714 MeanLength = 128,
5715 Minority = 256,
5716 Majority = 512,
5717 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
5718 };
5719 Q_ENUM( StringStatistic )
5720
5721
5727 Q_FLAG( StringStatistics )
5728
5735 {
5736 NoStatistic = 0,
5737 Min = 1,
5738 Max = 1 << 1,
5739 Range = 1 << 2,
5740 Sum = 1 << 3,
5741 Mean = 1 << 4,
5742 StdDev = 1 << 5,
5743 SumOfSquares = 1 << 6,
5744 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
5745 };
5746 Q_ENUM( RasterBandStatistic )
5747
5748
5754 Q_FLAG( RasterBandStatistics )
5755
5761 enum class SensorThingsEntity : int
5762 {
5763 Invalid,
5764 Thing,
5765 Location,
5766 HistoricalLocation,
5767 Datastream,
5768 Sensor,
5769 ObservedProperty,
5770 Observation,
5771 FeatureOfInterest,
5772 MultiDatastream,
5773 };
5774 Q_ENUM( SensorThingsEntity )
5775
5776
5781 enum class ColorModel : int
5782 {
5783 Rgb,
5784 Cmyk,
5785 };
5786 Q_ENUM( ColorModel )
5787
5788
5793 enum class DocumentationApi : int
5794 {
5795 PyQgis,
5796 PyQgisSearch,
5797 CppQgis,
5798 Qt,
5799 };
5800 Q_ENUM( DocumentationApi )
5801
5802
5807 enum class DocumentationBrowser : int
5808 {
5809 DeveloperToolsPanel,
5810 SystemWebBrowser,
5811 };
5812 Q_ENUM( DocumentationBrowser )
5813
5814
5819 enum class MouseHandlesAction : int
5820 {
5821 MoveItem,
5822 ResizeUp,
5823 ResizeDown,
5824 ResizeLeft,
5825 ResizeRight,
5826 ResizeLeftUp,
5827 ResizeRightUp,
5828 ResizeLeftDown,
5829 ResizeRightDown,
5830 SelectItem,
5831 NoAction
5832 };
5833 Q_ENUM( MouseHandlesAction )
5834
5835
5839 enum class MeshRangeLimit : int
5840 {
5841 NotSet,
5842 MinimumMaximum,
5843 };
5844 Q_ENUM( MeshRangeLimit )
5845
5846
5851 enum class MeshRangeExtent : int
5852 {
5853 WholeMesh,
5854 FixedCanvas,
5855 UpdatedCanvas,
5856 };
5857 Q_ENUM( MeshRangeExtent )
5858
5859
5865 enum class PointCloudAccessType : int
5866 {
5867 Local,
5868 Remote
5869 };
5870 Q_ENUM( PointCloudAccessType )
5871
5872
5877 {
5878 RenderExtents,
5879 RenderOverview,
5880 RenderOverviewAndExtents
5881 };
5882 Q_ENUM( PointCloudZoomOutRenderBehavior )
5883
5884
5889 {
5890 Standard = 0,
5891 Adaptive,
5892 AreaError,
5893 ConstantDensity
5894 };
5895 Q_ENUM( SegmentCalculationMethod )
5896
5897
5900 static const double DEFAULT_SEARCH_RADIUS_MM;
5901
5903 static const float DEFAULT_MAPTOPIXEL_THRESHOLD;
5904
5910 static const QColor DEFAULT_HIGHLIGHT_COLOR;
5911
5915 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
5916
5920 static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
5921
5929 Q_DECL_DEPRECATED static const double SCALE_PRECISION;
5930
5935 static const double DEFAULT_Z_COORDINATE;
5936
5942 static const double DEFAULT_M_COORDINATE;
5943
5948 static const double UI_SCALE_FACTOR;
5949
5953 static const double DEFAULT_SNAP_TOLERANCE;
5954
5958 static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS;
5959
5963 static const int USER_CRS_START_ID;
5964
5966 static const double DEFAULT_POINT_SIZE;
5967
5969 static const double DEFAULT_LINE_WIDTH;
5970
5972 static const double DEFAULT_SEGMENT_EPSILON;
5973
5975 SIP_SKIP static const int PREVIEW_JOB_DELAY_MS;
5976
5978 SIP_SKIP static const int MAXIMUM_LAYER_PREVIEW_TIME_MS;
5979
5985 static QString defaultProjectScales();
5986
5992 static int geosVersionInt();
5993
5999 static int geosVersionMajor();
6000
6006 static int geosVersionMinor();
6007
6013 static int geosVersionPatch();
6014
6020 static QString geosVersion();
6021
6027 static QString geoNone()
6028 {
6029 return QStringLiteral( "NONE" );
6030 }
6031
6037 static QString geographicCrsAuthId()
6038 {
6039 return QStringLiteral( "EPSG:4326" );
6040 }
6041
6046 Q_DECL_DEPRECATED static QString geoWkt()
6047 {
6048 return QStringLiteral(
6049 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]] )"""
6050 );
6051 }
6052
6057 Q_DECL_DEPRECATED static QString geoProj4()
6058 {
6059 return QStringLiteral( "+proj=longlat +datum=WGS84 +no_defs" );
6060 }
6061
6062};
6063
6066
6149
6150// hack to workaround warnings when casting void pointers
6151// retrieved from QLibrary::resolve to function pointers.
6152// It's assumed that this works on all systems supporting
6153// QLibrary
6154#define cast_to_fptr(f) f
6155
6156
6164// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
6165template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
6166{
6167 public:
6168
6173 explicit QgsSignalBlocker( Object *object )
6174 : mObject( object )
6175 , mPreviousState( object->blockSignals( true ) )
6176 {}
6177
6179 {
6180 mObject->blockSignals( mPreviousState );
6181 }
6182
6184 Object *operator->() { return mObject; }
6185
6186 private:
6187
6188 Object *mObject = nullptr;
6189 bool mPreviousState;
6190
6191};
6192
6205// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
6206template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
6207{
6208 return QgsSignalBlocker<Object>( object );
6209}
6210
6212CORE_EXPORT uint qHash( const QVariant &variant );
6213
6219inline QString qgsDoubleToString( double a, int precision = 17 )
6220{
6221 QString str;
6222 if ( precision )
6223 {
6224 if ( precision < 0 )
6225 {
6226 const double roundFactor = std::pow( 10, -precision );
6227 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
6228 }
6229 else
6230 {
6231 str = QString::number( a, 'f', precision );
6232 if ( str.contains( QLatin1Char( '.' ) ) )
6233 {
6234 // remove ending 0s
6235 int idx = str.length() - 1;
6236 while ( str.at( idx ) == '0' && idx > 1 )
6237 {
6238 idx--;
6239 }
6240 if ( idx < str.length() - 1 )
6241 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
6242 }
6243 }
6244 }
6245 else
6246 {
6247 str = QString::number( a, 'f', precision );
6248 }
6249 // avoid printing -0
6250 // see https://bugreports.qt.io/browse/QTBUG-71439
6251 if ( str == QLatin1String( "-0" ) )
6252 {
6253 return QLatin1String( "0" );
6254 }
6255 return str;
6256}
6257
6264inline bool qgsNanCompatibleEquals( double a, double b )
6265{
6266 const bool aIsNan = std::isnan( a );
6267 const bool bIsNan = std::isnan( b );
6268 if ( aIsNan || bIsNan )
6269 return aIsNan && bIsNan;
6270
6271 return a == b;
6272}
6273
6274#ifndef SIP_RUN
6275
6283template<typename T>
6284inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
6285{
6286 const bool aIsNan = std::isnan( a );
6287 const bool bIsNan = std::isnan( b );
6288 if ( aIsNan || bIsNan )
6289 return aIsNan && bIsNan;
6290
6291 const T diff = a - b;
6292 return diff >= -epsilon && diff <= epsilon;
6293}
6294#endif
6295
6302inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
6303{
6304 return qgsNumberNear<double>( a, b, epsilon );
6305}
6306
6313inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
6314{
6315 return qgsNumberNear<float>( a, b, epsilon );
6316}
6317
6319inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
6320{
6321 const bool aIsNan = std::isnan( a );
6322 const bool bIsNan = std::isnan( b );
6323 if ( aIsNan || bIsNan )
6324 return aIsNan && bIsNan;
6325
6326 // The most simple would be to print numbers as %.xe and compare as strings
6327 // but that is probably too costly
6328 // Then the fastest would be to set some bits directly, but little/big endian
6329 // has to be considered (maybe TODO)
6330 // Is there a better way?
6331 int aexp, bexp;
6332 const double ar = std::frexp( a, &aexp );
6333 const double br = std::frexp( b, &bexp );
6334
6335 return aexp == bexp &&
6336 std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
6337}
6338
6343inline double qgsRound( double number, int places )
6344{
6345 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
6346 const double scaleFactor = std::pow( 10.0, places );
6347 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
6348}
6349
6350#ifndef SIP_RUN
6351
6358template<class Key, class Value>
6359QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
6360{
6361 QString result;
6362 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
6363 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
6364
6365 result.chop( separator.size() );
6366 return result;
6367}
6368
6375template<class Key, class Value>
6376QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
6377{
6378 QString result;
6379 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
6380 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
6381
6382 result.chop( separator.size() );
6383 return result;
6384}
6385
6392template<class T>
6393QString qgsSetJoin( const QSet<T> &set, const QString &separator )
6394{
6395 QString result;
6396 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
6397 result += QString( "%1%2" ).arg( *it ).arg( separator );
6398
6399 result.chop( separator.size() );
6400 return result;
6401}
6402
6404
6414namespace qgis
6415{
6416
6429 template<typename To, typename From> inline To down_cast( From *f )
6430 {
6431 static_assert(
6432 ( std::is_base_of<From,
6433 typename std::remove_pointer<To>::type>::value ),
6434 "target type not derived from source type" );
6435 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
6436 return static_cast<To>( f );
6437 }
6438
6439 template<class T>
6440 QSet<T> listToSet( const QList<T> &list )
6441 {
6442 return QSet<T>( list.begin(), list.end() );
6443 }
6444
6445 template<class T>
6446 QList<T> setToList( const QSet<T> &set )
6447 {
6448 return QList<T>( set.begin(), set.end() );
6449 }
6450}
6451
6453#endif
6454
6459template<class T> const QList<T> qgsEnumList() SIP_SKIP
6460{
6461 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6462 Q_ASSERT( metaEnum.isValid() );
6463 QList<T> enumList;
6464 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
6465 {
6466 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
6467 }
6468 return enumList;
6469}
6470
6476template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
6477{
6478 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6479 Q_ASSERT( metaEnum.isValid() );
6480 QMap<T, QString> enumMap;
6481 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
6482 {
6483 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
6484 }
6485 return enumMap;
6486}
6487
6493template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
6494{
6495 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6496 Q_ASSERT( metaEnum.isValid() );
6497 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
6498 if ( returnOk )
6499 {
6500 *returnOk = key ? true : false;
6501 }
6502 return QString::fromUtf8( key );
6503}
6504
6512template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
6513{
6514 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6515 Q_ASSERT( metaEnum.isValid() );
6516 bool ok = false;
6517 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
6518 if ( returnOk )
6519 {
6520 *returnOk = ok;
6521 }
6522 if ( ok )
6523 {
6524 return v;
6525 }
6526 else
6527 {
6528 // if conversion has failed, try with conversion from int value
6529 if ( tryValueAsKey )
6530 {
6531 bool canConvert = false;
6532 const int intValue = key.toInt( &canConvert );
6533 if ( canConvert && metaEnum.valueToKey( intValue ) )
6534 {
6535 if ( returnOk )
6536 {
6537 *returnOk = true;
6538 }
6539 return static_cast<T>( intValue );
6540 }
6541 }
6542 }
6543 return defaultValue;
6544}
6545
6551template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
6552{
6553 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6554 Q_ASSERT( metaEnum.isValid() );
6555 int intValue = static_cast<int>( value );
6556 const QByteArray ba = metaEnum.valueToKeys( intValue );
6557 // check that the int value does correspond to a flag
6558 // see https://stackoverflow.com/a/68495949/1548052
6559 const int intValueCheck = metaEnum.keysToValue( ba );
6560 bool ok = intValue == intValueCheck;
6561 if ( returnOk )
6562 *returnOk = ok;
6563 return ok ? QString::fromUtf8( ba ) : QString();
6564}
6565
6573template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
6574{
6575 if ( keys.isEmpty() )
6576 {
6577 if ( returnOk )
6578 {
6579 *returnOk = false;
6580 }
6581 return defaultValue;
6582 }
6583 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6584 Q_ASSERT( metaEnum.isValid() );
6585 bool ok = false;
6586 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
6587 if ( returnOk )
6588 {
6589 *returnOk = ok;
6590 }
6591 if ( ok )
6592 {
6593 return v;
6594 }
6595 else
6596 {
6597 // if conversion has failed, try with conversion from int value
6598 if ( tryValueAsKey )
6599 {
6600 bool canConvert = false;
6601 const int intValue = keys.toInt( &canConvert );
6602 if ( canConvert )
6603 {
6604 const QByteArray keys = metaEnum.valueToKeys( intValue );
6605 const int intValueCheck = metaEnum.keysToValue( keys );
6606 if ( intValue == intValueCheck )
6607 {
6608 if ( returnOk )
6609 {
6610 *returnOk = true;
6611 }
6612 return T( intValue );
6613 }
6614 }
6615 }
6616 }
6617 return defaultValue;
6618}
6619
6620
6629CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
6630
6639CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
6640
6650CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
6651
6661CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
6662
6671CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
6672
6679CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
6680
6681#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
6682
6689inline bool operator> ( const QVariant &v1, const QVariant &v2 )
6690{
6691 return qgsVariantGreaterThan( v1, v2 );
6692}
6693
6703inline bool operator< ( const QVariant &v1, const QVariant &v2 )
6704{
6705 return qgsVariantLessThan( v1, v2 );
6706}
6707#endif
6708
6709
6710#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
6711
6715template<> CORE_EXPORT bool qMapLessThanKey<QVariantList>( const QVariantList &key1, const QVariantList &key2 ) SIP_SKIP;
6716#endif
6717
6724Q_DECL_DEPRECATED CORE_EXPORT QString qgsVsiPrefix( const QString &path ) SIP_DEPRECATED;
6725
6731void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
6732
6737void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
6738
6739#ifndef SIP_RUN
6740
6742class ScopedIntIncrementor
6743{
6744 public:
6745
6746 ScopedIntIncrementor( int *variable )
6747 : mVariable( variable )
6748 {
6749 ( *mVariable )++;
6750 }
6751
6752 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
6753 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
6754
6755 void release()
6756 {
6757 if ( mVariable )
6758 ( *mVariable )--;
6759
6760 mVariable = nullptr;
6761 }
6762
6763 ~ScopedIntIncrementor()
6764 {
6765 release();
6766 }
6767
6768 private:
6769 int *mVariable = nullptr;
6770};
6772
6773#endif
6774
6780Q_DECL_DEPRECATED const long GEOSRID = 4326;
6781
6787Q_DECL_DEPRECATED const long GEOCRS_ID = 3452;
6788
6794Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID = 4326;
6795
6796typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
6797
6806typedef unsigned long long qgssize;
6807
6808#ifndef SIP_RUN
6809#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
6810
6811#define Q_NOWARN_DEPRECATED_PUSH \
6812 _Pragma("GCC diagnostic push") \
6813 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
6814#define Q_NOWARN_DEPRECATED_POP \
6815 _Pragma("GCC diagnostic pop");
6816#define Q_NOWARN_UNREACHABLE_PUSH
6817#define Q_NOWARN_UNREACHABLE_POP
6818
6819#elif defined(_MSC_VER)
6820
6821#define Q_NOWARN_DEPRECATED_PUSH \
6822 __pragma(warning(push)) \
6823 __pragma(warning(disable:4996))
6824#define Q_NOWARN_DEPRECATED_POP \
6825 __pragma(warning(pop))
6826#define Q_NOWARN_UNREACHABLE_PUSH \
6827 __pragma(warning(push)) \
6828 __pragma(warning(disable:4702))
6829#define Q_NOWARN_UNREACHABLE_POP \
6830 __pragma(warning(pop))
6831
6832#else
6833
6834#define Q_NOWARN_DEPRECATED_PUSH
6835#define Q_NOWARN_DEPRECATED_POP
6836#define Q_NOWARN_UNREACHABLE_PUSH
6837#define Q_NOWARN_UNREACHABLE_POP
6838
6839#endif
6840#endif
6841
6842#ifndef QGISEXTERN
6843#ifdef Q_OS_WIN
6844# define QGISEXTERN extern "C" __declspec( dllexport )
6845#else
6846# if defined(__GNUC__) || defined(__clang__)
6847# define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
6848# else
6849# define QGISEXTERN extern "C"
6850# endif
6851#endif
6852#endif
6853#endif
6854
6855// see https://infektor.net/posts/2017-01-19-using-cpp17-attributes-today.html#using-the-nodiscard-attribute
6856#if __cplusplus >= 201703L
6857#define NODISCARD [[nodiscard]]
6858#elif defined(__clang__)
6859#define NODISCARD [[nodiscard]]
6860#elif defined(_MSC_VER)
6861#define NODISCARD // no support
6862#elif defined(__has_cpp_attribute)
6863#if __has_cpp_attribute(nodiscard)
6864#define NODISCARD [[nodiscard]]
6865#elif __has_cpp_attribute(gnu::warn_unused_result)
6866#define NODISCARD [[gnu::warn_unused_result]]
6867#else
6868#define NODISCARD Q_REQUIRED_RESULT
6869#endif
6870#else
6871#define NODISCARD Q_REQUIRED_RESULT
6872#endif
6873
6874#if __cplusplus >= 201703L
6875#define MAYBE_UNUSED [[maybe_unused]]
6876#elif defined(__clang__)
6877#define MAYBE_UNUSED [[maybe_unused]]
6878#elif defined(_MSC_VER)
6879#define MAYBE_UNUSED // no support
6880#elif defined(__has_cpp_attribute)
6881#if __has_cpp_attribute(gnu::unused)
6882#define MAYBE_UNUSED [[gnu::unused]]
6883#else
6884#define MAYBE_UNUSED
6885#endif
6886#else
6887#define MAYBE_UNUSED
6888#endif
6889
6890#ifndef FINAL
6891#define FINAL final
6892#endif
6893
6894#ifndef SIP_RUN
6895#ifdef _MSC_VER
6896#define BUILTIN_UNREACHABLE \
6897 __assume(false);
6898#elif defined(__GNUC__) && !defined(__clang__)
6899// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
6900// like:
6901// switch( mVariableThatCanOnlyBeXorY )
6902// {
6903// case X:
6904// return "foo";
6905// case Y:
6906// return "foo";
6907// }
6908// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
6909#define BUILTIN_UNREACHABLE \
6910 __builtin_unreachable();
6911#else
6912#define BUILTIN_UNREACHABLE
6913#endif
6914#endif // SIP_RUN
Provides global constants and enumerations for use throughout the application.
Definition qgis.h:54
DistanceUnitType
Types of distance units.
Definition qgis.h:4921
GnssConstellation
GNSS constellation.
Definition qgis.h:1867
SettingsOption
Settings options.
Definition qgis.h:688
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition qgis.h:4084
ProcessingSourceType
Processing data source types.
Definition qgis.h:3399
GpsQualityIndicator
GPS signal quality indicator.
Definition qgis.h:1885
DataItemProviderCapability
Capabilities for data item providers.
Definition qgis.h:940
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3654
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
Definition qgis.h:2730
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:4168
QFlags< DatabaseProviderTableImportCapability > DatabaseProviderTableImportCapabilities
Definition qgis.h:5221
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
Definition qgis.h:1980
MapToolUnit
Type of unit of tolerance value from settings.
Definition qgis.h:4827
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:3212
ProcessingModelChildAlgorithmExecutionStatus
Reflects the status of a child algorithm in a Processing model.
Definition qgis.h:3729
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
Definition qgis.h:1947
ScaleBarDistanceLabelHorizontalPlacement
Scale bar distance label horizontal placement.
Definition qgis.h:5156
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:4112
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:2034
QFlags< RasterProviderCapability > RasterProviderCapabilities
Raster data provider capabilities.
Definition qgis.h:4752
ExpressionType
Expression types.
Definition qgis.h:5338
MapLayerActionFlag
Map layer action flags.
Definition qgis.h:4497
ScaleBarDistanceLabelVerticalPlacement
Scale bar distance label vertical placement.
Definition qgis.h:5142
MapLayerProperty
Generic map layer properties.
Definition qgis.h:2229
VectorProviderCapability
Vector data provider capabilities.
Definition qgis.h:463
BufferSide
Side of line to buffer.
Definition qgis.h:2059
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1433
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
Definition qgis.h:4486
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
Definition qgis.h:5384
AltitudeClamping
Altitude clamping.
Definition qgis.h:3848
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:5366
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:2528
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
Definition qgis.h:1372
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
Definition qgis.h:4209
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1239
QFlags< UriCleaningFlag > UriCleaningFlags
Flags for cleaning layer URIs.
Definition qgis.h:1346
CoordinateDisplayType
Formats for displaying coordinates.
Definition qgis.h:4317
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3602
QFlags< VectorRenderingSimplificationFlag > VectorRenderingSimplificationFlags
Simplification flags for vector feature rendering.
Definition qgis.h:2938
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:3185
GpsFixStatus
GPS fix status.
Definition qgis.h:1852
AnnotationItemNodeType
Annotation item node types.
Definition qgis.h:2455
static const char * QGIS_DEV_VERSION
The development version.
Definition qgis.h:82
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1037
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
Definition qgis.h:2673
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
Definition qgis.h:2365
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
Definition qgis.h:1475
AngularDirection
Angular directions.
Definition qgis.h:3300
DriveType
Drive types.
Definition qgis.h:1090
UnitType
Unit types.
Definition qgis.h:4842
ContentStatus
Status for fetched or stored content.
Definition qgis.h:1808
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
Definition qgis.h:1770
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition qgis.h:713
LayoutUnit
Layout measurement units.
Definition qgis.h:5049
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:4270
Q_ENUM(GnssConstellation)
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:3023
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Definition qgis.h:4187
LegendComponent
Component of legends which can be styled.
Definition qgis.h:4421
Point3DShape
3D point shape types.
Definition qgis.h:3990
GeometryOperationResult
Success or failure of a geometry operation.
Definition qgis.h:2005
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
Definition qgis.h:5726
BrowserItemState
Browser item states.
Definition qgis.h:902
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:5279
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
Definition qgis.h:5427
FeatureRequestFilterType
Types of feature request filters.
Definition qgis.h:2172
MarkerClipMode
Marker clipping modes.
Definition qgis.h:3143
GpsNavigationStatus
GPS navigation status.
Definition qgis.h:1905
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:2412
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:2947
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Definition qgis.h:3744
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Definition qgis.h:2263
Statistic
Available generic statistics.
Definition qgis.h:5644
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:733
AngleUnit
Units of angles.
Definition qgis.h:4984
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:915
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition qgis.h:5309
QFlags< AuthConfigurationStorageCapability > AuthConfigurationStorageCapabilities
Authentication configuration storage capabilities.
Definition qgis.h:145
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition qgis.h:4410
LayerTreeInsertionMethod
Layer tree insertion methods.
Definition qgis.h:4387
RasterProviderCapability
Raster data provider capabilities.
Definition qgis.h:4732
DatabaseProviderTableImportCapability
Represents capabilities of a database provider connection when importing table data.
Definition qgis.h:5216
LineClipMode
Line clipping modes.
Definition qgis.h:3157
VectorRenderingSimplificationFlag
Simplification flags for vector feature rendering.
Definition qgis.h:2923
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
Definition qgis.h:2038
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition qgis.h:989
VsiHandlerType
GDAL VSI handler types.
Definition qgis.h:5540
SettingsTreeNodeType
Type of tree node.
Definition qgis.h:618
TilePixelRatio
DpiMode enum.
Definition qgis.h:3240
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:5201
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition qgis.h:1205
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
Definition qgis.h:4090
LabelPrioritization
Label prioritization.
Definition qgis.h:1144
GradientColorSource
Gradient color sources.
Definition qgis.h:3072
FileFilterType
Type of file filters.
Definition qgis.h:1318
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:1158
RasterLayerType
Raster layer types.
Definition qgis.h:4609
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
Definition qgis.h:395
ScaleBarAlignment
Scalebar alignment.
Definition qgis.h:5113
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:4648
ProcessingMode
Types of modes which Processing widgets can be created for.
Definition qgis.h:3537
VectorExportResult
Vector layer export result codes.
Definition qgis.h:1016
DistanceUnit
Units of distance.
Definition qgis.h:4859
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:2600
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition qgis.h:844
MeshRangeLimit
Describes the limits used to compute mesh ranges (min/max values).
Definition qgis.h:5840
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:3116
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
Definition qgis.h:2445
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1264
RasterRangeLimit
Describes the limits used to compute raster ranges (min/max values).
Definition qgis.h:1507
ScaleMethod
Scale methods.
Definition qgis.h:588
SldExportOption
SLD export options.
Definition qgis.h:660
VectorSimplificationAlgorithm
Simplification algorithms for vector features.
Definition qgis.h:2907
FilePathType
File path types.
Definition qgis.h:1639
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:3940
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:5324
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:3131
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:3326
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:4400
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:5294
FeatureRequestFlag
Flags for controlling feature requests.
Definition qgis.h:2144
VertexType
Types of vertex.
Definition qgis.h:2960
ShaderInterpolationMethod
Color ramp shader interpolation methods.
Definition qgis.h:1388
DataProviderFlag
Generic data provider flags.
Definition qgis.h:2257
Q_ENUM(GpsNavigationStatus)
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg)
Definition qgis.h:5518
RasterResamplingMethod
Resampling method for raster provider-level resampling.
Definition qgis.h:1447
GeometryValidationEngine
Available engines for validating geometries.
Definition qgis.h:2047
TransactionMode
Transaction mode.
Definition qgis.h:3835
Q_ENUM(ScaleToTileZoomLevelMethod)
QFlags< FeatureRendererFlag > FeatureRendererFlags
Flags controlling behavior of vector feature renderers.
Definition qgis.h:802
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:4761
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:4625
GeosCreationFlag
Flags which control geos geometry creation behavior.
Definition qgis.h:2097
MeshRangeExtent
Describes the extent used to compute mesh ranges (min/max values).
Definition qgis.h:5852
GpsInformationComponent
GPS information component.
Definition qgis.h:1919
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:3345
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3425
FileOperationFlag
File operation flags.
Definition qgis.h:2214
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
Definition qgis.h:956
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:4199
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
Definition qgis.h:1965
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Definition qgis.h:851
QFlags< RasterInterfaceCapability > RasterInterfaceCapabilities
Raster interface capabilities.
Definition qgis.h:4719
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
Definition qgis.h:4521
TemporalNavigationMode
Temporal navigation modes.
Definition qgis.h:2482
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:3682
AreaUnit
Units of area.
Definition qgis.h:4936
StringStatistic
Available string statistics.
Definition qgis.h:5706
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:3789
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:5559
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:1072
QFlags< SnappingType > SnappingTypes
Snapping types.
Definition qgis.h:724
static Q_DECL_DEPRECATED QString geoWkt()
WKT string that represents a geographic coord system.
Definition qgis.h:6046
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:3200
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1254
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
Definition qgis.h:5436
TextLayoutMode
Text layout modes.
Definition qgis.h:2816
PropertyType
Property types.
Definition qgis.h:646
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2708
LayerFilter
Filter for layers.
Definition qgis.h:188
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
Definition qgis.h:1376
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition qgis.h:1465
PythonEmbeddedMode
Authorisation to run Python Embedded in projects.
Definition qgis.h:403
CrsType
Coordinate reference system types.
Definition qgis.h:2275
QFlags< GeosCreationFlag > GeosCreationFlags
Geos geometry creation behavior flags.
Definition qgis.h:2108
SensorThingsEntity
OGC SensorThings API entity types.
Definition qgis.h:5762
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1622
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:3772
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:4237
UriCleaningFlag
Flags for cleaning layer URIs.
Definition qgis.h:1335
RasterFileWriterResult
Raster file export results.
Definition qgis.h:1605
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition qgis.h:2467
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
Definition qgis.h:3508
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:3358
RasterRangeAccuracy
Describes the accuracy used to compute raster ranges (min/max values).
Definition qgis.h:1538
ActionType
Action types.
Definition qgis.h:4456
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:1107
PlaybackOperation
Media playback operations.
Definition qgis.h:2511
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
Definition qgis.h:874
QFlags< TextRendererFlag > TextRendererFlags
Definition qgis.h:3279
QueryStorageBackend
Stored query storage backends.
Definition qgis.h:3385
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:5230
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:4139
MarkerShape
Marker shapes.
Definition qgis.h:2974
LegendJsonRenderFlag
Legend JSON export flags.
Definition qgis.h:4441
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:4776
RasterElevationMode
Raster layer elevation modes.
Definition qgis.h:3887
Capitalization
String capitalization options.
Definition qgis.h:3257
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:2585
PictureFormat
Picture formats.
Definition qgis.h:5083
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1276
LabelQuadrantPosition
Label quadrant positions.
Definition qgis.h:1219
QFlags< PlotToolFlag > PlotToolFlags
Definition qgis.h:3978
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:3288
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition qgis.h:1355
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1047
TextOrientation
Text orientations.
Definition qgis.h:2801
TemporalUnit
Temporal units.
Definition qgis.h:5005
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
Definition qgis.h:1496
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
Definition qgis.h:831
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:1119
CrsDefinitionFormat
CRS definition formats.
Definition qgis.h:3757
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:2201
VerticalAnchorPoint
Marker symbol vertical anchor points.
Definition qgis.h:778
QFlags< ProcessingParameterTypeFlag > ProcessingParameterTypeFlags
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3617
TileAvailability
Possible availability states for a tile within a tile matrix.
Definition qgis.h:5403
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:3958
FeatureRendererFlag
Flags controlling behavior of vector feature renderers.
Definition qgis.h:792
static Q_DECL_DEPRECATED QString geoProj4()
PROJ4 string that represents a geographic coord system.
Definition qgis.h:6057
BrowserItemType
Browser item types.
Definition qgis.h:883
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
Definition qgis.h:2161
SettingsType
Types of settings entries.
Definition qgis.h:599
QFlags< SettingsOption > SettingsOptions
Definition qgis.h:693
RasterTemporalMode
Raster layer temporal modes.
Definition qgis.h:2569
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1579
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:2756
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:337
RelationshipType
Relationship types.
Definition qgis.h:4256
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:4366
RasterInterfaceCapability
Raster interface capabilities.
Definition qgis.h:4699
JoinStyle
Join styles for buffers.
Definition qgis.h:2084
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:4124
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
Definition qgis.h:5753
ProcessingAlgorithmDocumentationFlag
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3485
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:2892
FieldDuplicatePolicy
Duplicate policy for fields.
Definition qgis.h:3809
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:5245
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Definition qgis.h:2219
DpiMode
DpiMode enum.
Definition qgis.h:3226
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition qgis.h:965
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3476
AltitudeBinding
Altitude binding.
Definition qgis.h:3861
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:5496
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:4471
ShaderClassificationMethod
Color ramp shader classification methods.
Definition qgis.h:1403
ZonalStatisticResult
Zonal statistics result codes.
Definition qgis.h:5594
ScriptLanguage
Scripting languages.
Definition qgis.h:4343
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
Definition qgis.h:929
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:5417
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:1302
RasterBandStatistic
Available raster band statistics.
Definition qgis.h:5735
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
Definition qgis.h:5394
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:5585
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:2556
TextRenderFormat
Options for rendering text.
Definition qgis.h:2741
DocumentationBrowser
Documentation API browser.
Definition qgis.h:5808
DataType
Raster data types.
Definition qgis.h:351
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
Definition qgis.h:3350
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition qgis.h:1362
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:4812
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
Definition qgis.h:1550
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition qgis.h:4046
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
Definition qgis.h:2642
RelationshipCapability
Relationship capabilities.
Definition qgis.h:4296
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:4663
QFlags< VectorProviderCapability > VectorProviderCapabilities
Vector data provider capabilities.
Definition qgis.h:500
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:4021
LinearReferencingPlacement
Defines how/where the labels should be placed in a linear referencing symbol layer.
Definition qgis.h:3043
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:5464
PointCloudZoomOutRenderBehavior
Point cloud zoom out options.
Definition qgis.h:5877
LayerType
Types of layers that can be added to a map.
Definition qgis.h:169
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
Definition qgis.h:2418
FieldOrigin
Field origin.
Definition qgis.h:1667
LinearReferencingLabelSource
Defines what quantity to use for the labels shown in a linear referencing symbol layer.
Definition qgis.h:3057
RasterRangeExtent
Describes the extent used to compute raster ranges (min/max values).
Definition qgis.h:1523
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
Definition qgis.h:5672
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition qgis.h:3974
RenderUnit
Rendering size units.
Definition qgis.h:5029
static QString geographicCrsAuthId()
Geographic coordinate system auth:id string for a default geographic CRS (EPSG:4326).
Definition qgis.h:6037
CoordinateOrder
Order of coordinates.
Definition qgis.h:2350
SelectionFlag
Flags which control feature selection behavior.
Definition qgis.h:1760
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
Definition qgis.h:635
EndCapStyle
End cap styles for buffers.
Definition qgis.h:2071
ScaleCalculationMethod
Scale calculation logic.
Definition qgis.h:5096
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
Definition qgis.h:5487
QFlags< MapLayerActionFlag > MapLayerActionFlags
Map layer action flags.
Definition qgis.h:4510
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
Definition qgis.h:2234
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:1976
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
Definition qgis.h:2776
FieldDomainType
Types of field domain.
Definition qgis.h:3822
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2718
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2683
RasterPipeInterfaceRole
Raster pipe interface roles.
Definition qgis.h:1416
CoverageValidityResult
Coverage validity results.
Definition qgis.h:2117
DataProviderReadFlag
Flags which control data provider construction.
Definition qgis.h:431
ScaleBarSegmentSizeMode
Modes for setting size for scale bar segments.
Definition qgis.h:5128
Aggregate
Available aggregates to calculate.
Definition qgis.h:5612
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
Definition qgis.h:826
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
Definition qgis.h:2441
MapBoxGlStyleSourceType
Available MapBox GL style source types.
Definition qgis.h:4218
LayoutUnitType
Types of layout units.
Definition qgis.h:5069
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:3170
FieldMetadataProperty
Standard field metadata values.
Definition qgis.h:1708
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:5477
RasterRendererCapability
Raster renderer capabilities.
Definition qgis.h:1486
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition qgis.h:1796
HistoryProviderBackend
History provider backends.
Definition qgis.h:3371
RasterExportType
Raster file export types.
Definition qgis.h:1592
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition qgis.h:1651
TextVerticalAlignment
Text vertical alignment.
Definition qgis.h:2876
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:4282
GradientType
Gradient types.
Definition qgis.h:3086
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
Definition qgis.h:4378
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:4072
GpsFeatureType
GPS feature types.
Definition qgis.h:1990
VectorLayerTypeFlag
Vector layer type flags.
Definition qgis.h:390
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition qgis.h:2130
RangeLimits
Describes how the limits of a range are handled.
Definition qgis.h:3873
QFlags< ProjectFlag > ProjectFlags
Definition qgis.h:3965
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:2544
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3643
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
Definition qgis.h:1055
VectorEditResult
Specifies the result of a vector layer edit operation.
Definition qgis.h:1781
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:566
Axis
Cartesian axes.
Definition qgis.h:2399
QFlags< ProcessingAlgorithmDocumentationFlag > ProcessingAlgorithmDocumentationFlags
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3496
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
Definition qgis.h:4308
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:741
VolumeUnit
Units of volume.
Definition qgis.h:4961
AttributeEditorType
Attribute editor types.
Definition qgis.h:5260
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
Definition qgis.h:4445
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
Definition qgis.h:5236
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
Definition qgis.h:864
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:2188
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition qgis.h:817
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3565
PointCloudAccessType
The access type of the data, local is for local files and remote for remote files (over HTTP).
Definition qgis.h:5866
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:4099
MeshElevationMode
Mesh layer elevation modes.
Definition qgis.h:3901
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:4154
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:4558
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:4059
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:2787
Q_ENUM(ProcessingAlgorithmFlag)
ColorModel
Color model types.
Definition qgis.h:5782
RendererUsage
Usage of the renderer.
Definition qgis.h:3313
SettingsTreeNodeOption
Options for named list nodes.
Definition qgis.h:630
BabelFormatCapability
Babel GPS format capabilities.
Definition qgis.h:1957
PostgresRelKind
Postgres database relkind options.
Definition qgis.h:5180
SegmentCalculationMethod
brief Method used to calculate the number of segments for circle approximation
Definition qgis.h:5889
GpsConnectionType
GPS connection types.
Definition qgis.h:1823
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
Definition qgis.h:5207
MouseHandlesAction
Action to be performed by the mouse handles.
Definition qgis.h:5820
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
Definition qgis.h:3552
QFlags< TextComponent > TextComponents
Text components.
Definition qgis.h:2846
LoadStyleFlag
Flags for loading layer styles.
Definition qgis.h:215
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:3914
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
Definition qgis.h:5376
MetadataDateType
Date types for metadata.
Definition qgis.h:4539
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
Definition qgis.h:2610
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3576
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:4678
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:2857
SymbolFlag
Flags controlling behavior of symbols.
Definition qgis.h:811
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition qgis.h:3927
HttpMethod
Different methods of HTTP requests.
Definition qgis.h:1001
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:3101
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3438
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:5452
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
Definition qgis.h:5697
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1721
InputControllerType
Input controller types.
Definition qgis.h:5168
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:3275
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1748
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:2300
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:3713
QFlags< MarkerLinePlacement > MarkerLinePlacements
Definition qgis.h:3034
QFlags< MapCanvasFlag > MapCanvasFlags
Flags controlling behavior of map canvases.
Definition qgis.h:3336
CrsWktVariant
Coordinate reference system WKT formatting variants.
Definition qgis.h:2380
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:5509
DocumentationApi
Documentation API.
Definition qgis.h:5794
AutoRefreshMode
Map layer automatic refresh modes.
Definition qgis.h:2244
AnnotationPlacementMode
Annotation item placement modes.
Definition qgis.h:2428
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3449
SceneMode
The 3D scene mode used in 3D map views.
Definition qgis.h:4034
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1684
SettingsOrigin
The setting origin describes where a setting is stored.
Definition qgis.h:4330
HorizontalAnchorPoint
Marker symbol horizontal anchor points.
Definition qgis.h:764
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3628
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:1131
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:5353
QFlags< LayerFilter > LayerFilters
Definition qgis.h:206
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:3700
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:2631
TextComponent
Text components.
Definition qgis.h:2833
DateTimeStatistic
Available date/time statistics.
Definition qgis.h:5681
AnimationState
Animation states.
Definition qgis.h:2498
TransformDirection
Indicates the direction (forward or inverse) of a transform.
Definition qgis.h:2619
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:4009
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3588
QFlags< HistoryProviderBackend > HistoryProviderBackends
Definition qgis.h:3376
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition qgis.h:1179
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1699
UpsideDownLabelHandling
Handling techniques for upside down labels.
Definition qgis.h:1287
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:1837
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3668
MapSettingsFlag
Flags which adjust the way maps are rendered.
Definition qgis.h:2651
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
Definition qgis.h:1063
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
Definition qgis.h:3522
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1734
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.
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.
Represents a coordinate reference system (CRS).
Handles coordinate transforms between two 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.
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
A browser 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, ....
Contains detailed styling information relating to how a layout legend should be rendered.
A proxy model which provides an easy to use model to display the list of layers in widgets.
Base class for all map layer types.
Definition qgsmaplayer.h:77
Contains configuration for rendering maps.
Abstract base class for marker symbol layers.
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.
Describes the origin of minimum and maximum values in a raster.
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.
Stores the appearance and layout settings for scalebar drawing with QgsScaleBarRenderer.
Represents a settings entry and provides methods for reading and writing settings values.
RAII signal blocking class.
Definition qgis.h:6166
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:6184
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:6173
Abstract base class for simple marker symbol layers.
Stores configuration of snapping settings for 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 ...
Provides calculations for tolerance values in map units.
Helper functions for various unit types.
Implementation of data provider temporal properties for QgsVectorDataProviders.
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 dataset.
Contains settings for simplifying 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
Q_DECL_DEPRECATED const long GEOCRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system in QGIS internal srs database.
Definition qgis.h:6787
Q_DECL_DEPRECATED CORE_EXPORT QString qgsVsiPrefix(const QString &path)
Returns a the vsi prefix which corresponds to a file path, or an empty string if the path is not asso...
Definition qgis.cpp:202
CORE_EXPORT uint qHash(const QVariant &variant)
Hash for QVariant.
Definition qgis.cpp:207
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:6689
CORE_EXPORT bool qgsVariantEqual(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether they are equal, two NULL values are always treated a...
Definition qgis.cpp:256
Q_DECL_DEPRECATED const long GEOSRID
Numeric ID for the EPSG:4326 geographic coordinate system.
Definition qgis.h:6780
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:6512
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:6219
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:6376
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:6493
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:6551
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:6359
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:6573
CORE_EXPORT bool qgsVariantGreaterThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is greater than the second.
Definition qgis.cpp:197
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:6806
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:6476
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference)
Definition qgis.h:6313
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:6393
CORE_EXPORT double qgsPermissiveToDouble(QString string, bool &ok)
Converts a string to a double in a permissive way, e.g., allowing for incorrect numbers of digits bet...
Definition qgis.cpp:81
const QList< T > qgsEnumList()
Returns a list all enum entries.
Definition qgis.h:6459
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:6343
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
Definition qgis.h:6302
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:6264
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:6206
void CORE_EXPORT * qgsMalloc(size_t size)
Allocates size bytes and returns a pointer to the allocated memory.
Definition qgis.cpp:102
QMap< QString, QString > QgsStringMap
Definition qgis.h:6796
Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system.
Definition qgis.h:6794
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:6319
void CORE_EXPORT qgsFree(void *ptr)
Frees the memory space pointed to by ptr.
Definition qgis.cpp:124
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:6284
CORE_EXPORT qlonglong qgsPermissiveToLongLong(QString string, bool &ok)
Converts a string to an qlonglong in a permissive way, e.g., allowing for incorrect numbers of digits...
Definition qgis.cpp:95
CORE_EXPORT int qgsPermissiveToInt(QString string, bool &ok)
Converts a string to an integer in a permissive way, e.g., allowing for incorrect numbers of digits b...
Definition qgis.cpp:88
CORE_EXPORT bool qgsVariantLessThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is less than the second.
Definition qgis.cpp:129
#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:6703
#define SIP_DEPRECATED
Definition qgis_sip.h:106
#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