QGIS API Documentation 3.39.0-Master (d85f3c2a281)
Loading...
Searching...
No Matches
qgis.h
Go to the documentation of this file.
1/***************************************************************************
2 qgis.h - QGIS namespace
3 -------------------
4 begin : Sat Jun 30 2002
5 copyright : (C) 2002 by Gary E.Sherman
6 email : sherman at mrcc.com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGIS_H
19#define QGIS_H
20
21
22#include <QMetaEnum>
23#include <cfloat>
24#include <memory>
25#include <cmath>
26
27#include "qgis_core.h"
28#include "qgis_sip.h"
29
30#ifdef SIP_RUN
31% ModuleHeaderCode
32#include <qgis.h>
33% End
34
35% ModuleCode
36int QgisEvent = QEvent::User + 1;
37% End
38#endif
39
40#ifndef SIP_RUN
41// qHash implementation for scoped enum type
42// https://gitlab.com/frostasm/programming-knowledge-base/-/snippets/20120
43#define QHASH_FOR_CLASS_ENUM(T) \
44 inline uint qHash(const T &t, uint seed) { \
45 return ::qHash(static_cast<typename std::underlying_type<T>::type>(t), seed); \
46 }
47#endif
48
53class CORE_EXPORT Qgis
54{
55 Q_GADGET
56 Q_CLASSINFO( "RegisterEnumClassesUnscoped", "false" )
57
58 public:
59
65 static QString version();
66
72 static int versionInt();
73
79 static QString releaseName();
80
82 static const char *QGIS_DEV_VERSION;
83
89 static QString devVersion();
90
91 // Enumerations
92 //
93
100 {
101 ClearStorage = 1 << 0,
102
103 ReadConfiguration = 1 << 1,
104 UpdateConfiguration = 1 << 2,
105 DeleteConfiguration = 1 << 3,
106 CreateConfiguration = 1 << 4,
107
108 ReadCertificateIdentity = 1 << 5,
109 UpdateCertificateIdentity = 1 << 6,
110 DeleteCertificateIdentity = 1 << 7,
111 CreateCertificateIdentity = 1 << 8,
112
113 ReadSslCertificateCustomConfig = 1 << 9,
114 UpdateSslCertificateCustomConfig = 1 << 10,
115 DeleteSslCertificateCustomConfig = 1 << 11,
116 CreateSslCertificateCustomConfig = 1 << 12,
117
118 ReadCertificateAuthority = 1 << 13,
119 UpdateCertificateAuthority = 1 << 14,
120 DeleteCertificateAuthority = 1 << 15,
121 CreateCertificateAuthority = 1 << 16,
122
123 ReadCertificateTrustPolicy = 1 << 17,
124 UpdateCertificateTrustPolicy = 1 << 18,
125 DeleteCertificateTrustPolicy = 1 << 19,
126 CreateCertificateTrustPolicy = 1 << 20,
127
128 ReadMasterPassword = 1 << 21,
129 UpdateMasterPassword = 1 << 22,
130 DeleteMasterPassword = 1 << 23,
131 CreateMasterPassword = 1 << 24,
132
133 ReadSetting = 1 << 25,
134 UpdateSetting = 1 << 26,
135 DeleteSetting = 1 << 27,
136 CreateSetting = 1 << 28,
137
138 };
139 Q_ENUM( AuthConfigurationStorageCapability )
140
141
147
148
154 {
155 Info = 0,
156 Warning = 1,
157 Critical = 2,
158 Success = 3,
159 NoLevel = 4,
160 };
161 Q_ENUM( MessageLevel )
162
163
169 {
170 Vector SIP_MONKEYPATCH_COMPAT_NAME( VectorLayer ),
171 Raster SIP_MONKEYPATCH_COMPAT_NAME( RasterLayer ),
172 Plugin SIP_MONKEYPATCH_COMPAT_NAME( PluginLayer ),
173 Mesh SIP_MONKEYPATCH_COMPAT_NAME( MeshLayer ),
174 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( VectorTileLayer ),
175 Annotation SIP_MONKEYPATCH_COMPAT_NAME( AnnotationLayer ),
176 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( PointCloudLayer ),
177 Group SIP_MONKEYPATCH_COMPAT_NAME( GroupLayer ),
178 TiledScene,
179 };
180 Q_ENUM( LayerType )
181
182
188 {
189 RasterLayer = 1,
190 NoGeometry = 2,
191 PointLayer = 4,
192 LineLayer = 8,
193 PolygonLayer = 16,
194 HasGeometry = PointLayer | LineLayer | PolygonLayer,
195 VectorLayer = NoGeometry | HasGeometry,
196 PluginLayer = 32,
197 WritableLayer = 64,
198 MeshLayer = 128,
199 VectorTileLayer = 256,
200 PointCloudLayer = 512,
201 AnnotationLayer = 1024,
202 TiledSceneLayer = 2048,
203 All = RasterLayer | VectorLayer | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer,
204 SpatialLayer = RasterLayer | HasGeometry | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer
205 };
206 Q_DECLARE_FLAGS( LayerFilters, LayerFilter )
207 Q_FLAG( LayerFilters )
208
209
214 enum class LoadStyleFlag : int SIP_ENUM_BASETYPE( IntFlag )
215 {
216 IgnoreMissingStyleErrors = 1 << 0,
217 };
218 Q_ENUM( LoadStyleFlag )
219
220
225 Q_DECLARE_FLAGS( LoadStyleFlags, LoadStyleFlag )
226 Q_FLAG( LoadStyleFlags )
227
256 {
257 Unknown = 0,
258 Point = 1,
259 LineString = 2,
260 Polygon = 3,
261 Triangle = 17,
262 MultiPoint = 4,
263 MultiLineString = 5,
264 MultiPolygon = 6,
265 GeometryCollection = 7,
266 CircularString = 8,
267 CompoundCurve = 9,
268 CurvePolygon = 10,
269 MultiCurve = 11,
270 MultiSurface = 12,
271 PolyhedralSurface = 15,
272 TIN = 16,
273 NoGeometry = 100,
274 PointZ = 1001,
275 LineStringZ = 1002,
276 PolygonZ = 1003,
277 TriangleZ = 1017,
278 MultiPointZ = 1004,
279 MultiLineStringZ = 1005,
280 MultiPolygonZ = 1006,
281 GeometryCollectionZ = 1007,
282 CircularStringZ = 1008,
283 CompoundCurveZ = 1009,
284 CurvePolygonZ = 1010,
285 MultiCurveZ = 1011,
286 MultiSurfaceZ = 1012,
287 PolyhedralSurfaceZ = 1015,
288 TINZ = 1016,
289 PointM = 2001,
290 LineStringM = 2002,
291 PolygonM = 2003,
292 TriangleM = 2017,
293 MultiPointM = 2004,
294 MultiLineStringM = 2005,
295 MultiPolygonM = 2006,
296 GeometryCollectionM = 2007,
297 CircularStringM = 2008,
298 CompoundCurveM = 2009,
299 CurvePolygonM = 2010,
300 MultiCurveM = 2011,
301 MultiSurfaceM = 2012,
302 PolyhedralSurfaceM = 2015,
303 TINM = 2016,
304 PointZM = 3001,
305 LineStringZM = 3002,
306 PolygonZM = 3003,
307 MultiPointZM = 3004,
308 MultiLineStringZM = 3005,
309 MultiPolygonZM = 3006,
310 GeometryCollectionZM = 3007,
311 CircularStringZM = 3008,
312 CompoundCurveZM = 3009,
313 CurvePolygonZM = 3010,
314 MultiCurveZM = 3011,
315 MultiSurfaceZM = 3012,
316 PolyhedralSurfaceZM = 3015,
317 TINZM = 3016,
318 TriangleZM = 3017,
319 Point25D = 0x80000001,
320 LineString25D,
321 Polygon25D,
322 MultiPoint25D,
323 MultiLineString25D,
324 MultiPolygon25D
325 };
326 Q_ENUM( WkbType )
327
328
337 {
338 Point SIP_MONKEYPATCH_COMPAT_NAME( PointGeometry ),
339 Line SIP_MONKEYPATCH_COMPAT_NAME( LineGeometry ),
340 Polygon SIP_MONKEYPATCH_COMPAT_NAME( PolygonGeometry ),
341 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownGeometry ),
342 Null SIP_MONKEYPATCH_COMPAT_NAME( NullGeometry ),
343 };
344 Q_ENUM( GeometryType )
345
346
351 {
352 UnknownDataType = 0,
353 Byte = 1,
354 Int8 = 14,
355 UInt16 = 2,
356 Int16 = 3,
357 UInt32 = 4,
358 Int32 = 5,
359 Float32 = 6,
360 Float64 = 7,
361 CInt16 = 8,
362 CInt32 = 9,
363 CFloat32 = 10,
364 CFloat64 = 11,
365 ARGB32 = 12,
366 ARGB32_Premultiplied = 13
367 };
368 Q_ENUM( DataType )
369
370
375 enum class CaptureTechnique : int
376 {
377 StraightSegments,
378 CircularString,
379 Streaming,
380 Shape,
381 };
382 Q_ENUM( CaptureTechnique )
383
384
389 enum class VectorLayerTypeFlag : int SIP_ENUM_BASETYPE( IntFlag )
390 {
391 SqlQuery = 1 << 0
392 };
393 Q_ENUM( VectorLayerTypeFlag )
396 Q_FLAG( VectorLayerTypeFlags )
397
402 enum class PythonEmbeddedMode : int
403 {
404 Never = 0,
405 Ask = 1,
406 SessionOnly = 2,
407 Always = 3,
408 NotForThisSession,
409 };
410 Q_ENUM( PythonEmbeddedMode )
411
412
416 enum class PythonEmbeddedType : int
417 {
418 Macro = 0,
419 ExpressionFunction = 1,
420 };
421 Q_ENUM( PythonEmbeddedType )
422
423
431 {
432 TrustDataSource SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustDataSource ) = 1 << 0,
433 SkipFeatureCount = 1 << 1,
434 LoadDefaultStyle SIP_MONKEYPATCH_COMPAT_NAME( FlagLoadDefaultStyle ) = 1 << 2,
435 SkipGetExtent = 1 << 3,
436 SkipFullScan = 1 << 4,
437 ForceReadOnly = 1 << 5,
438 SkipCredentialsRequest = 1 << 6,
439 ParallelThreadLoading = 1 << 7,
440 };
441 Q_ENUM( DataProviderReadFlag )
442
443
451 Q_FLAG( DataProviderReadFlags )
452
453 // TODO QGIS 4 -- remove NoCapabilities and rely on VectorProviderCapabilities() instead
454
463 {
464 NoCapabilities = 0,
465 AddFeatures = 1,
466 DeleteFeatures = 1 << 1,
467 ChangeAttributeValues = 1 << 2,
468 AddAttributes = 1 << 3,
469 DeleteAttributes = 1 << 4,
470 CreateSpatialIndex = 1 << 6,
471 SelectAtId = 1 << 7,
472 ChangeGeometries = 1 << 8,
473 SelectEncoding = 1 << 13,
474 CreateAttributeIndex = 1 << 12,
475 SimplifyGeometries = 1 << 14,
476 SimplifyGeometriesWithTopologicalValidation = 1 << 15,
477 TransactionSupport = 1 << 16,
478 CircularGeometries = 1 << 17,
479 ChangeFeatures = 1 << 18,
480 RenameAttributes = 1 << 19,
481 FastTruncate = 1 << 20,
482 ReadLayerMetadata = 1 << 21,
483 WriteLayerMetadata = 1 << 22,
484 CancelSupport = 1 << 23,
485 CreateRenderer = 1 << 24,
486 CreateLabeling = 1 << 25,
487 ReloadData = 1 << 26,
488 FeatureSymbology = 1 << 27,
489 EditingCapabilities = AddFeatures | DeleteFeatures | ChangeAttributeValues | ChangeGeometries | AddAttributes | DeleteAttributes | RenameAttributes,
490 };
491 Q_ENUM( VectorProviderCapability )
492
493
502
509 {
510 Uncounted = -2,
511 UnknownCount = -1,
512 };
513 Q_ENUM( FeatureCountState )
514
515
522 {
523 Unknown SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexUnknown ) = 0,
524 NotPresent SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexNotPresent ) = 1,
525 Present SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexPresent ) = 2,
526 };
527 Q_ENUM( SpatialIndexPresence )
528
529
541 {
542 NoFeaturesAvailable = 0,
543 FeaturesAvailable,
544 FeaturesMaybeAvailable
545 };
546 Q_ENUM( FeatureAvailability )
547
548
554 {
555 EditAlias = 1 << 0,
556 EditComment = 1 << 1,
557 };
558
559 Q_ENUM( VectorDataProviderAttributeEditCapability )
560
561
568
574 {
575 Marker,
576 Line,
577 Fill,
578 Hybrid
579 };
580 Q_ENUM( SymbolType )
581
582
588 {
589 ScaleArea,
590 ScaleDiameter
591 };
592 Q_ENUM( ScaleMethod )
593
594
599 {
600 Custom,
601 Variant,
602 String,
603 StringList,
604 VariantMap,
605 Bool,
606 Integer,
607 Double,
608 EnumFlag,
609 Color
610 };
611 Q_ENUM( SettingsType )
612
613
618 {
619 Root,
620 Standard,
621 NamedList,
622 };
623 Q_ENUM( SettingsTreeNodeType )
624
625
629 enum class SettingsTreeNodeOption : int SIP_ENUM_BASETYPE( IntFlag )
630 {
631 NamedListSelectedItemSetting = 1 << 0,
632 };
633
634 Q_ENUM( SettingsTreeNodeOption )
637
646 {
647 Invalid SIP_MONKEYPATCH_COMPAT_NAME( InvalidProperty ),
648 Static SIP_MONKEYPATCH_COMPAT_NAME( StaticProperty ),
649 Field SIP_MONKEYPATCH_COMPAT_NAME( FieldBasedProperty ),
650 Expression SIP_MONKEYPATCH_COMPAT_NAME( ExpressionBasedProperty ),
651 };
652 Q_ENUM( PropertyType )
653
654
659 enum class SldExportOption : int SIP_ENUM_BASETYPE( IntFlag )
660 {
661 NoOptions = 0,
662 Svg = 1 << 0,
663 Png = 1 << 1,
664 };
665 Q_ENUM( SldExportOption )
667 Q_FLAG( SldExportOptions )
668
674 enum class SldExportVendorExtension : int SIP_ENUM_BASETYPE( IntFlag )
675 {
676 NoVendorExtension = 0,
677 GeoServerVendorExtension = 1 << 1,
678 DeegreeVendorExtension = 1 << 2,
679 };
680 Q_ENUM( SldExportVendorExtension )
681
682
683
687 enum class SettingsOption : int SIP_ENUM_BASETYPE( IntFlag )
688 {
689 SaveFormerValue = 1 << 1,
690 SaveEnumFlagAsInt = 1 << 2,
691 };
692 Q_ENUM( SettingsOption )
693 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
694 Q_FLAG( SettingsOptions )
695
701 {
702 ActiveLayer = 1,
703 AllLayers = 2,
704 AdvancedConfiguration = 3,
705 };
706 Q_ENUM( SnappingMode )
707
708
713 {
714 NoSnap SIP_MONKEYPATCH_COMPAT_NAME( NoSnapFlag ) = 0,
715 Vertex SIP_MONKEYPATCH_COMPAT_NAME( VertexFlag ) = 1 << 0,
716 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentFlag ) = 1 << 1,
717 Area SIP_MONKEYPATCH_COMPAT_NAME( AreaFlag ) = 1 << 2,
718 Centroid SIP_MONKEYPATCH_COMPAT_NAME( CentroidFlag ) = 1 << 3,
719 MiddleOfSegment SIP_MONKEYPATCH_COMPAT_NAME( MiddleOfSegmentFlag ) = 1 << 4,
720 LineEndpoint SIP_MONKEYPATCH_COMPAT_NAME( LineEndpointFlag ) = 1 << 5,
721 };
722 Q_ENUM( SnappingType )
725 Q_FLAG( SnappingTypes )
726
733 {
734 DynamicRotation = 1 << 1,
735 IsSymbolLayerSubSymbol = 1 << 2,
736 ForceVectorRendering = 1 << 3,
737 ExcludeSymbolBuffers = 1 << 4,
738 };
739 Q_ENUM( SymbolRenderHint )
742 Q_FLAG( SymbolRenderHints )
743
749 enum class SymbolRotationMode : int
750 {
751 RespectMapRotation,
752 IgnoreMapRotation,
753 };
754 Q_ENUM( SymbolRotationMode )
755
756
761 enum class FeatureRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
762 {
763 AffectsLabeling = 1 << 0,
764 };
765 Q_ENUM( FeatureRendererFlag )
766
767
773 Q_FLAG( FeatureRendererFlags )
774
780 enum class SymbolFlag : int SIP_ENUM_BASETYPE( IntFlag )
781 {
782 RendererShouldUseSymbolLevels = 1 << 0,
783 AffectsLabeling = 1 << 1,
784 };
785 Q_ENUM( SymbolFlag )
787 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
788 Q_FLAG( SymbolFlags )
789
796 {
797 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
798 };
799 Q_ENUM( SymbolPreviewFlag )
802 Q_FLAG( SymbolPreviewFlags )
803
813 enum class SymbolLayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
814 {
815 DisableFeatureClipping = 1 << 0,
816 CanCalculateMaskGeometryPerFeature = 1 << 1,
817 AffectsLabeling = 1 << 2,
818 };
819 Q_ENUM( SymbolLayerFlag )
822 Q_FLAG( SymbolLayerFlags )
823
833 enum class SymbolLayerUserFlag : int SIP_ENUM_BASETYPE( IntFlag )
834 {
835 DisableSelectionRecoloring = 1 << 0,
836 };
837 Q_ENUM( SymbolLayerUserFlag )
838
839
845 Q_FLAG( SymbolLayerUserFlags )
846
853 {
854 Collection,
855 Directory,
856 Layer,
857 Error,
858 Favorites,
859 Project,
860 Custom,
861 Fields,
862 Field,
863 };
864 Q_ENUM( BrowserItemType )
865
866
872 {
873 NotPopulated,
874 Populating,
875 Populated,
876 };
877 Q_ENUM( BrowserItemState )
878
879
885 {
886 NoCapabilities = 0,
887 SetCrs = 1 << 0,
888 Fertile = 1 << 1,
889 Fast = 1 << 2,
890 Collapse = 1 << 3,
891 Rename = 1 << 4,
892 Delete = 1 << 5,
893 ItemRepresentsFile = 1 << 6,
894 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
895 ReadOnly = 1 << 8,
896 };
897 Q_ENUM( BrowserItemCapability )
901
910 {
911 NoCapabilities SIP_MONKEYPATCH_COMPAT_NAME( NoDataCapabilities ) = 0,
912 Files SIP_MONKEYPATCH_COMPAT_NAME( File ) = 1,
913 Directories SIP_MONKEYPATCH_COMPAT_NAME( Dir ) = 1 << 1,
914 Databases SIP_MONKEYPATCH_COMPAT_NAME( Database ) = 1 << 2,
915 NetworkSources SIP_MONKEYPATCH_COMPAT_NAME( Net ) = 1 << 3,
916 };
917 Q_ENUM( DataItemProviderCapability )
918
919
928
935 {
936 NoType,
937 Vector,
938 Raster,
939 Point,
940 Line,
941 Polygon,
942 TableLayer,
943 Database,
944 Table,
945 Plugin,
946 Mesh,
947 VectorTile,
948 PointCloud,
949 TiledScene,
950 };
951 Q_ENUM( BrowserLayerType )
952
953
959 {
960 Default,
961 NeverMonitor,
962 AlwaysMonitor,
963 };
964 Q_ENUM( BrowserDirectoryMonitoring )
965
966
970 enum class HttpMethod : int
971 {
972 Get = 0,
973 Post = 1
974 };
975 Q_ENUM( HttpMethod )
976
977
983 {
984 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
985 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
986 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
987 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
988 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
989 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
990 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
991 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
992 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
993 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
994 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
995 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
996 };
997 Q_ENUM( VectorExportResult )
998
999
1004 {
1005 FieldAliases = 1 << 0,
1006 FieldComments = 1 << 2,
1007 };
1008 Q_ENUM( VectorFileWriterCapability )
1009
1010
1016
1022 {
1023 SubsetStringFilter = 1 << 1,
1024 GeometryColumn = 1 << 2,
1025 PrimaryKeys = 1 << 3,
1026 UnstableFeatureIds = 1 << 4
1027 };
1028 Q_ENUM( SqlLayerDefinitionCapability )
1032
1038 enum class SqlKeywordCategory : int
1039 {
1040 Keyword,
1041 Constant,
1042 Function,
1043 Geospatial,
1044 Operator,
1045 Math,
1046 Aggregate,
1047 String,
1048 Identifier
1049 };
1050 Q_ENUM( SqlKeywordCategory )
1051
1052
1056 enum class DriveType : int
1057 {
1058 Unknown,
1059 Invalid,
1060 Removable,
1061 Fixed,
1062 Remote,
1063 CdRom,
1064 RamDisk,
1065 Cloud,
1066 };
1067 Q_ENUM( DriveType )
1068
1069
1074 {
1075 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
1076 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
1077 };
1078 Q_ENUM( ActionStart )
1079
1080
1086 {
1087 FollowEngineSetting,
1088 NeverShow,
1089 };
1090 Q_ENUM( UnplacedLabelVisibility )
1091
1092
1097 enum class LabelOverlapHandling : int
1098 {
1099 PreventOverlap,
1100 AllowOverlapIfRequired,
1101 AllowOverlapAtNoCost,
1102 };
1103 Q_ENUM( LabelOverlapHandling )
1104
1105
1110 enum class LabelPrioritization : int
1111 {
1112 PreferCloser,
1113 PreferPositionOrdering,
1114 };
1115 Q_ENUM( LabelPrioritization )
1116
1117
1125 {
1126 AroundPoint,
1127 OverPoint,
1128 Line,
1129 Curved,
1130 Horizontal,
1131 Free,
1132 OrderedPositionsAroundPoint,
1133 PerimeterCurved,
1134 OutsidePolygons,
1135 };
1136 Q_ENUM( LabelPlacement )
1137
1138
1146 {
1147 TopLeft,
1148 TopSlightlyLeft,
1149 TopMiddle,
1150 TopSlightlyRight,
1151 TopRight,
1152 MiddleLeft,
1153 MiddleRight,
1154 BottomLeft,
1155 BottomSlightlyLeft,
1156 BottomMiddle,
1157 BottomSlightlyRight,
1158 BottomRight,
1159 OverPoint,
1160 };
1161 Q_ENUM( LabelPredefinedPointPosition )
1162
1163
1172 {
1173 FromPoint,
1174 FromSymbolBounds,
1175 };
1176 Q_ENUM( LabelOffsetType )
1177
1178
1186 {
1187 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
1188 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
1189 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
1190 Left SIP_MONKEYPATCH_COMPAT_NAME( QuadrantLeft ),
1191 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
1192 Right SIP_MONKEYPATCH_COMPAT_NAME( QuadrantRight ),
1193 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
1194 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
1195 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
1196 };
1197 Q_ENUM( LabelQuadrantPosition )
1198
1199
1206 {
1207 OnLine = 1,
1208 AboveLine = 2,
1209 BelowLine = 4,
1210 MapOrientation = 8,
1211 };
1212 Q_ENUM( LabelLinePlacementFlag )
1213
1214
1222 Q_FLAG( LabelLinePlacementFlags )
1223
1231 {
1232 AllowPlacementOutsideOfPolygon = 1 << 0,
1233 AllowPlacementInsideOfPolygon = 1 << 1,
1234 };
1235 Q_ENUM( LabelPolygonPlacementFlag )
1236
1237
1245
1254 {
1255 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
1256 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
1257 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
1258 };
1259 Q_ENUM( UpsideDownLabelHandling )
1260
1261
1269 {
1270 Left SIP_MONKEYPATCH_COMPAT_NAME( MultiLeft ) = 0,
1271 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
1272 Right SIP_MONKEYPATCH_COMPAT_NAME( MultiRight ),
1273 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
1274 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
1275 };
1276 Q_ENUM( LabelMultiLineAlignment )
1277
1278
1285 {
1286 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
1287 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1288 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1289 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1290 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1291 VectorTile,
1292 TiledScene,
1293 };
1294 Q_ENUM( FileFilterType )
1295
1296
1301 enum class SublayerQueryFlag : int SIP_ENUM_BASETYPE( IntFlag )
1302 {
1303 FastScan = 1 << 0,
1304 ResolveGeometryType = 1 << 1,
1305 CountFeatures = 1 << 2,
1306 IncludeSystemTables = 1 << 3,
1307 };
1310 Q_ENUM( SublayerQueryFlag )
1311 Q_FLAG( SublayerQueryFlags )
1312
1313
1318 enum class SublayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
1319 {
1320 SystemTable = 1 << 0,
1321 };
1323 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1324 Q_ENUM( SublayerFlag )
1325 Q_FLAG( SublayerFlags )
1326
1327
1335 {
1336 Linear SIP_MONKEYPATCH_COMPAT_NAME( Interpolated ) = 0,
1337 Discrete = 1,
1338 Exact = 2,
1339 };
1340 Q_ENUM( ShaderInterpolationMethod )
1341
1342
1350 {
1351 Continuous = 1,
1352 EqualInterval = 2,
1353 Quantile = 3,
1354 };
1355 Q_ENUM( ShaderClassificationMethod )
1356
1357
1363 {
1364 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1365 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1366 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1367 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1368 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1369 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1370 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1371 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1372 };
1373 Q_ENUM( RasterPipeInterfaceRole )
1374
1375
1380 {
1382 ResampleFilter,
1384 Provider
1385 };
1386 Q_ENUM( RasterResamplingStage )
1387
1388
1393 enum class RasterRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
1394 {
1395 InternalLayerOpacityHandling = 1 << 0,
1396 UseNoDataForOutOfRangePixels = 1 << 1,
1397 };
1398
1405
1406 Q_ENUM( RasterRendererFlag )
1407 Q_FLAG( RasterRendererFlags )
1408
1409
1415 {
1416 UsesMultipleBands = 1 << 0,
1417 };
1418 Q_ENUM( RasterRendererCapability )
1419
1420
1427
1434 {
1435 Generic = 0,
1436 PixelCount = 1,
1437 Name = 2,
1438 Min = 3,
1439 Max = 4,
1440 MinMax = 5,
1441 Red = 6,
1442 Green = 7,
1443 Blue = 8,
1444 Alpha = 9,
1445 RedMin = 10,
1446 GreenMin = 11,
1447 BlueMin = 12,
1448 AlphaMin = 13,
1449 RedMax = 14,
1450 GreenMax = 15,
1451 BlueMax = 16,
1452 AlphaMax = 17,
1453 MaxCount
1454 };
1455 Q_ENUM( RasterAttributeTableFieldUsage )
1456
1457
1463 {
1464 Thematic = 0,
1465 Athematic = 1
1466 };
1467 Q_ENUM( RasterAttributeTableType )
1468
1469
1476 {
1477 Raw = 0,
1478 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1479 };
1480 Q_ENUM( RasterExportType )
1481
1482
1489 {
1490 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
1491 SourceProviderError = 1,
1492 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1493 CreateDatasourceError = 3,
1494 WriteError = 4,
1495 NoDataConflict = 5,
1496 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1497 };
1498 Q_ENUM( RasterFileWriterResult )
1499
1500
1505 enum class MeshEditingErrorType : int
1506 {
1507 NoError,
1508 InvalidFace,
1509 TooManyVerticesInFace,
1510 FlatFace,
1511 UniqueSharedVertex,
1512 InvalidVertex,
1513 ManifoldFace,
1514 };
1515 Q_ENUM( MeshEditingErrorType )
1516
1517
1522 enum class FilePathType : int
1523 {
1524 Absolute,
1525 Relative,
1526 };
1527 Q_ENUM( FilePathType )
1528
1529
1534 enum class SublayerPromptMode : int
1535 {
1536 AlwaysAsk,
1537 AskExcludingRasterBands,
1538 NeverAskSkip,
1539 NeverAskLoadAll,
1540 };
1541 Q_ENUM( SublayerPromptMode )
1542
1543
1551 {
1552 Unknown SIP_MONKEYPATCH_COMPAT_NAME( OriginUnknown ),
1553 Provider SIP_MONKEYPATCH_COMPAT_NAME( OriginProvider ),
1554 Join SIP_MONKEYPATCH_COMPAT_NAME( OriginJoin ),
1555 Edit SIP_MONKEYPATCH_COMPAT_NAME( OriginEdit ),
1556 Expression SIP_MONKEYPATCH_COMPAT_NAME( OriginExpression )
1557 };
1558 Q_ENUM( FieldOrigin )
1559
1560
1567 enum class FieldConfigurationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1568 {
1569 NoFlag = 0,
1570 NotSearchable = 1 << 1,
1571 HideFromWms = 1 << 2,
1572 HideFromWfs = 1 << 3,
1573 };
1574 Q_ENUM( FieldConfigurationFlag )
1575
1576
1584 Q_FLAG( FieldConfigurationFlags )
1585
1591 enum class FieldMetadataProperty : int
1592 {
1593 GeometryCrs = 0x1000,
1594 GeometryWkbType = 0x1001,
1595 CustomProperty = 0x100000,
1596 };
1597 Q_ENUM( FieldMetadataProperty )
1598
1599
1604 enum class SelectionRenderingMode : int
1605 {
1606 Default,
1607 CustomColor,
1608 CustomSymbol,
1609 };
1610 Q_ENUM( SelectionRenderingMode )
1611
1612
1618 {
1619 SetSelection,
1620 AddToSelection,
1621 IntersectSelection,
1622 RemoveFromSelection,
1623 };
1624 Q_ENUM( SelectBehavior )
1625
1626
1632 {
1633 Intersect,
1634 Within,
1635 };
1636 Q_ENUM( SelectGeometryRelationship )
1637
1638
1643 enum class SelectionFlag : int SIP_ENUM_BASETYPE( IntFlag )
1644 {
1645 SingleFeatureSelection = 1 << 0,
1646 ToggleSelection = 1 << 1,
1647 };
1648
1654 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1655
1656 Q_ENUM( SelectionFlag )
1657 Q_FLAG( SelectionFlags )
1658
1659
1665 {
1666 Success = 0,
1667 EmptyGeometry = 1,
1668 EditFailed = 2,
1669 FetchFeatureFailed = 3,
1670 InvalidLayer = 4,
1671 };
1672 Q_ENUM( VectorEditResult )
1673
1674
1680 {
1681 SemiTransparentCircle,
1682 Cross,
1683 NoMarker,
1684 };
1685 Q_ENUM( VertexMarkerType )
1686
1687
1691 enum class ContentStatus : int
1692 {
1693 NotStarted,
1694 Running,
1695 Finished,
1696 Failed,
1697 Canceled,
1698 };
1699 Q_ENUM( ContentStatus )
1700
1701
1706 enum class GpsConnectionType : int
1707 {
1708 Automatic,
1709 Internal,
1710 Serial,
1711 Gpsd,
1712 };
1713 Q_ENUM( GpsConnectionType )
1714
1715
1720 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
1721 {
1722 Disconnected,
1723 Connecting,
1724 Connected,
1725 };
1726 Q_ENUM( DeviceConnectionStatus )
1727
1728
1736 {
1737 NoData,
1738 NoFix,
1739 Fix2D,
1740 Fix3D
1741 };
1743
1744
1751 {
1752 Unknown,
1753 Gps,
1754 Glonass,
1755 Galileo,
1756 BeiDou,
1757 Qzss,
1758 Navic,
1759 Sbas,
1760 };
1762
1769 {
1770 Unknown = -1,
1771 Invalid,
1772 GPS,
1773 DGPS,
1774 PPS,
1775 RTK,
1776 FloatRTK,
1777 Estimated,
1778 Manual,
1779 Simulation,
1780 };
1781 Q_ENUM( GpsQualityIndicator )
1782
1783
1788 enum class GpsNavigationStatus : int
1789 {
1790 NotValid,
1791 Safe,
1792 Caution,
1793 Unsafe,
1794 };
1796
1802 enum class GpsInformationComponent : int SIP_ENUM_BASETYPE( IntFlag )
1803 {
1804 Location = 1 << 0,
1805 Altitude = 1 << 1,
1806 GroundSpeed = 1 << 2,
1807 Bearing = 1 << 3,
1808 TotalTrackLength = 1 << 4,
1809 TrackDistanceFromStart = 1 << 5,
1810 Pdop = 1 << 6,
1811 Hdop = 1 << 7,
1812 Vdop = 1 << 8,
1813 HorizontalAccuracy = 1 << 9,
1814 VerticalAccuracy = 1 << 10,
1815 HvAccuracy = 1 << 11,
1816 SatellitesUsed = 1 << 12,
1817 Timestamp = 1 << 13,
1818 TrackStartTime = 1 << 14,
1819 TrackEndTime = 1 << 15,
1820 TrackDistanceSinceLastPoint = 1 << 16,
1821 TrackTimeSinceLastPoint = 1 << 17,
1822 GeoidalSeparation = 1 << 18,
1823 EllipsoidAltitude = 1 << 19,
1824 };
1825
1832 Q_ENUM( GpsInformationComponent )
1833 Q_FLAG( GpsInformationComponents )
1834
1835
1840 enum class BabelFormatCapability : int SIP_ENUM_BASETYPE( IntFlag )
1841 {
1842 Import = 1 << 0,
1843 Export = 1 << 1,
1844 Waypoints = 1 << 2,
1845 Routes = 1 << 3,
1846 Tracks = 1 << 4,
1847 };
1850 Q_ENUM( BabelFormatCapability )
1851 Q_FLAG( BabelFormatCapabilities )
1852
1853
1859 enum class BabelCommandFlag : int SIP_ENUM_BASETYPE( IntFlag )
1860 {
1861 QuoteFilePaths = 1 << 0,
1862 };
1865 Q_ENUM( BabelCommandFlag )
1866 Q_FLAG( BabelCommandFlags )
1867
1868
1873 enum class GpsFeatureType : int
1874 {
1875 Waypoint,
1876 Route,
1877 Track,
1878 };
1879 Q_ENUM( GpsFeatureType )
1880
1881
1889 {
1890 Success = 0,
1891 NothingHappened = 1000,
1892 InvalidBaseGeometry,
1893 InvalidInputGeometryType,
1894 SelectionIsEmpty,
1895 SelectionIsGreaterThanOne,
1896 GeometryEngineError,
1897 LayerNotEditable,
1898 // Add part issues
1899 AddPartSelectedGeometryNotFound,
1900 AddPartNotMultiGeometry,
1901 // Add ring issues
1902 AddRingNotClosed,
1903 AddRingNotValid,
1904 AddRingCrossesExistingRings,
1905 AddRingNotInExistingFeature,
1906 // Split features
1907 SplitCannotSplitPoint,
1908 GeometryTypeHasChanged,
1909 };
1910 Q_ENUM( GeometryOperationResult )
1911
1912
1918 {
1919 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles ) = 1 << 0,
1920 };
1923 Q_ENUM( GeometryValidityFlag )
1924 Q_FLAG( GeometryValidityFlags )
1925
1926
1931 {
1932 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
1933 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
1934 };
1935 Q_ENUM( GeometryValidationEngine )
1936
1937
1947 Q_ENUM( BufferSide )
1948
1949
1955 {
1956 Round SIP_MONKEYPATCH_COMPAT_NAME( CapRound ) = 1,
1957 Flat SIP_MONKEYPATCH_COMPAT_NAME( CapFlat ),
1958 Square SIP_MONKEYPATCH_COMPAT_NAME( CapSquare ),
1959 };
1960 Q_ENUM( EndCapStyle )
1961
1962
1968 {
1969 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
1970 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
1971 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
1972 };
1973 Q_ENUM( JoinStyle )
1974
1975
1980 enum class GeosCreationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1981 {
1982 RejectOnInvalidSubGeometry = 1 << 0,
1983 SkipEmptyInteriorRings = 1 << 1,
1984 };
1985 Q_ENUM( GeosCreationFlag )
1986
1987
1993 Q_FLAG( GeosCreationFlags )
1994
2000 enum class CoverageValidityResult : int
2001 {
2002 Invalid = 0,
2003 Valid = 1,
2004 Error = 2,
2005 };
2006 Q_ENUM( CoverageValidityResult )
2007
2008
2013 enum class MakeValidMethod : int
2014 {
2015 Linework = 0,
2016 Structure = 1,
2017 };
2018 Q_ENUM( MakeValidMethod )
2019
2020
2028 {
2029 NoFlags = 0,
2030 NoGeometry = 1,
2031 SubsetOfAttributes = 2,
2032 ExactIntersect = 4,
2033 IgnoreStaticNodesDuringExpressionCompilation = 8,
2034 EmbeddedSymbols = 16,
2035 };
2036 Q_ENUM( FeatureRequestFlag )
2037
2038
2046 Q_FLAG( FeatureRequestFlags )
2047
2056 {
2057 NoFilter SIP_MONKEYPATCH_COMPAT_NAME( FilterNone ),
2058 Fid SIP_MONKEYPATCH_COMPAT_NAME( FilterFid ),
2059 Expression SIP_MONKEYPATCH_COMPAT_NAME( FilterExpression ),
2060 Fids SIP_MONKEYPATCH_COMPAT_NAME( FilterFids )
2061 };
2062 Q_ENUM( FeatureRequestFilterType )
2063
2064
2072 {
2073 NoCheck SIP_MONKEYPATCH_COMPAT_NAME( GeometryNoCheck ) = 0,
2074 SkipInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometrySkipInvalid ) = 1,
2075 AbortOnInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometryAbortOnInvalid ) = 2,
2076 };
2077 Q_ENUM( InvalidGeometryCheck )
2078
2079
2084 enum class SpatialFilterType : int
2085 {
2086 NoFilter,
2087 BoundingBox,
2088 DistanceWithin,
2089 };
2090 Q_ENUM( SpatialFilterType )
2091
2092
2097 enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2098 {
2099 IncludeMetadataFile = 1 << 0,
2100 IncludeStyleFile = 1 << 1,
2101 };
2104 Q_ENUM( FileOperationFlag )
2105 Q_FLAG( FileOperationFlags )
2106
2107
2112 enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
2113 {
2114 UsersCannotToggleEditing = 1 << 0,
2115 IsBasemapLayer = 1 << 1,
2116 };
2119 Q_ENUM( MapLayerProperty )
2120 Q_FLAG( MapLayerProperties )
2121
2122
2127 enum class AutoRefreshMode : int
2128 {
2129 Disabled = 0,
2130 ReloadData = 1,
2131 RedrawOnly = 2,
2132 };
2133 Q_ENUM( AutoRefreshMode )
2134
2135
2140 enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
2141 {
2142 IsBasemapSource = 1 << 1,
2143 FastExtent2D = 1 << 2,
2144 FastExtent3D = 1 << 3,
2145 };
2148 Q_ENUM( DataProviderFlag )
2149 Q_FLAG( DataProviderFlags )
2150
2151
2158 enum class CrsType : int
2159 {
2160 Unknown,
2161 Geodetic,
2162 Geocentric,
2163 Geographic2d,
2164 Geographic3d,
2165 Vertical,
2166 Projected,
2167 Compound,
2168 Temporal,
2169 Engineering,
2170 Bound,
2171 Other,
2172 DerivedProjected,
2173 };
2174 Q_ENUM( CrsType )
2175
2176
2183 enum class CrsAxisDirection : int
2184 {
2185 North,
2186 NorthNorthEast,
2187 NorthEast,
2188 EastNorthEast,
2189 East,
2190 EastSouthEast,
2191 SouthEast,
2192 SouthSouthEast,
2193 South,
2194 SouthSouthWest,
2195 SouthWest,
2196 WestSouthWest,
2197 West,
2198 WestNorthWest,
2199 NorthWest,
2200 NorthNorthWest,
2201 GeocentricX,
2202 GeocentricY,
2203 GeocentricZ,
2204 Up,
2205 Down,
2206 Forward,
2207 Aft,
2208 Port,
2209 Starboard,
2210 Clockwise,
2211 CounterClockwise,
2212 ColumnPositive,
2213 ColumnNegative,
2214 RowPositive,
2215 RowNegative,
2216 DisplayRight,
2217 DisplayLeft,
2218 DisplayUp,
2219 DisplayDown,
2220 Future,
2221 Past,
2222 Towards,
2223 AwayFrom,
2224 Unspecified,
2225 };
2226 Q_ENUM( CrsAxisDirection )
2227
2228
2233 enum class CoordinateOrder : int
2234 {
2235 Default,
2236 XY,
2237 YX,
2238 };
2239 Q_ENUM( CoordinateOrder )
2240
2241
2249 {
2250 ShortString,
2251 MediumString,
2252 FullString,
2253 };
2254 Q_ENUM( CrsIdentifierType )
2255
2256
2264 {
2265 Wkt1Gdal SIP_MONKEYPATCH_COMPAT_NAME( WKT1_GDAL ),
2266 Wkt1Esri SIP_MONKEYPATCH_COMPAT_NAME( WKT1_ESRI ),
2267 Wkt2_2015 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015 ),
2268 Wkt2_2015Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015_SIMPLIFIED ),
2269 Wkt2_2019 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019 ),
2270 Wkt2_2019Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019_SIMPLIFIED ),
2271 Preferred SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED ) = Wkt2_2019,
2272 PreferredSimplified SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_SIMPLIFIED ) = Wkt2_2019Simplified,
2273 PreferredGdal SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_GDAL ) = Wkt2_2019,
2274 };
2275 Q_ENUM( CrsWktVariant )
2276
2277
2282 enum class Axis : int
2283 {
2284 X,
2285 Y,
2286 Z
2287 };
2288 Q_ENUM( Axis )
2289
2290
2295 enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
2296 {
2297 ScaleDependentBoundingBox = 1 << 0,
2298 SupportsReferenceScale = 1 << 1,
2299 SupportsCallouts = 1 << 2,
2300 };
2303 Q_ENUM( AnnotationItemFlag )
2304 Q_FLAG( AnnotationItemFlags )
2305
2306
2312 {
2313 SpatialBounds = 0,
2314 FixedSize,
2315 RelativeToMapFrame,
2316 };
2317 Q_ENUM( AnnotationPlacementMode )
2318
2319
2324 enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
2325 {
2326 FlagNoCreationTools = 1 << 0,
2327 };
2330 Q_ENUM( AnnotationItemGuiFlag )
2331 Q_FLAG( AnnotationItemGuiFlags )
2332
2333
2338 enum class AnnotationItemNodeType : int
2339 {
2340 VertexHandle,
2341 CalloutHandle,
2342 };
2343 Q_ENUM( AnnotationItemNodeType )
2344
2345
2351 {
2352 Success,
2353 Invalid,
2354 ItemCleared,
2355 };
2356 Q_ENUM( AnnotationItemEditOperationResult )
2357
2358
2366 {
2367 Disabled SIP_MONKEYPATCH_COMPAT_NAME( NavigationOff ),
2368 Animated,
2369 FixedRange,
2370 Movie,
2371 };
2372 Q_ENUM( TemporalNavigationMode )
2373
2374
2382 {
2383 Forward,
2384 Reverse,
2385 Idle,
2386 };
2387 Q_ENUM( AnimationState )
2388
2389
2394 enum class PlaybackOperation : int
2395 {
2396 SkipToStart,
2397 PreviousFrame,
2398 PlayReverse,
2399 Pause,
2400 PlayForward,
2401 NextFrame,
2402 SkipToEnd,
2403 };
2404 Q_ENUM( PlaybackOperation )
2405
2406
2412 {
2413 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2414 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
2415 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
2416 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
2417 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
2418 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ),
2419 };
2420 Q_ENUM( VectorTemporalMode )
2421
2422
2428 {
2429 IncludeBeginExcludeEnd = 0,
2430 IncludeBeginIncludeEnd,
2431 };
2432 Q_ENUM( VectorTemporalLimitMode )
2433
2434
2440 {
2441 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
2442 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
2443 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2444 };
2445 Q_ENUM( VectorDataProviderTemporalMode )
2446
2447
2453 {
2454 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2455 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
2456 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ) = 2,
2457 FixedRangePerBand = 3,
2458 RepresentsTemporalValues = 4,
2459 };
2460 Q_ENUM( RasterTemporalMode )
2461
2462
2468 {
2469 MatchUsingWholeRange,
2470 MatchExactUsingStartOfRange,
2471 MatchExactUsingEndOfRange,
2472 FindClosestMatchToStartOfRange,
2473 FindClosestMatchToEndOfRange
2474 };
2475 Q_ENUM( TemporalIntervalMatchMethod )
2476
2477
2483 {
2484 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
2485 };
2486 Q_ENUM( RasterTemporalCapabilityFlag )
2487
2488
2495
2502 {
2503 Forward SIP_MONKEYPATCH_COMPAT_NAME( ForwardTransform ),
2504 Reverse SIP_MONKEYPATCH_COMPAT_NAME( ReverseTransform )
2505 };
2506 Q_ENUM( TransformDirection )
2507
2508
2514 {
2515 BallparkTransformsAreAppropriate = 1 << 0,
2516 IgnoreImpossibleTransformations = 1 << 1,
2517 };
2518 Q_ENUM( CoordinateTransformationFlag )
2519
2520
2527
2534 {
2535 Antialiasing = 0x01,
2536 DrawEditingInfo = 0x02,
2537 ForceVectorOutput = 0x04,
2538 UseAdvancedEffects = 0x08,
2539 DrawLabeling = 0x10,
2540 UseRenderingOptimization = 0x20,
2541 DrawSelection = 0x40,
2542 DrawSymbolBounds = 0x80,
2543 RenderMapTile = 0x100,
2544 RenderPartialOutput = 0x200,
2545 RenderPreviewJob = 0x400,
2546 RenderBlocking = 0x800,
2547 LosslessImageRendering = 0x1000,
2548 Render3DMap = 0x2000,
2549 HighQualityImageTransforms = 0x4000,
2550 SkipSymbolRendering = 0x8000,
2551 ForceRasterMasks = 0x10000,
2552 RecordProfile = 0x20000,
2553 AlwaysUseGlobalMasks = 0x40000,
2554 };
2557 Q_ENUM( MapSettingsFlag )
2558 Q_FLAG( MapSettingsFlags )
2559
2560
2566 {
2567 DrawEditingInfo = 0x01,
2568 ForceVectorOutput = 0x02,
2569 UseAdvancedEffects = 0x04,
2570 UseRenderingOptimization = 0x08,
2571 DrawSelection = 0x10,
2572 DrawSymbolBounds = 0x20,
2573 RenderMapTile = 0x40,
2574 Antialiasing = 0x80,
2575 RenderPartialOutput = 0x100,
2576 RenderPreviewJob = 0x200,
2577 RenderBlocking = 0x400,
2578 RenderSymbolPreview = 0x800,
2579 LosslessImageRendering = 0x1000,
2580 ApplyScalingWorkaroundForTextRendering = 0x2000,
2581 Render3DMap = 0x4000,
2582 ApplyClipAfterReprojection = 0x8000,
2583 RenderingSubSymbol = 0x10000,
2584 HighQualityImageTransforms = 0x20000,
2585 SkipSymbolRendering = 0x40000,
2586 RecordProfile = 0x80000,
2587 AlwaysUseGlobalMasks = 0x100000,
2588 };
2591 Q_ENUM( RenderContextFlag )
2592 Q_FLAG( RenderContextFlags )
2593
2594
2599 enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2600 {
2601 RenderPartialOutputs = 1 << 0,
2602 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2603 AffectsLabeling = 1 << 2,
2604 };
2605 Q_ENUM( MapLayerRendererFlag )
2606
2607
2613 Q_FLAG( MapLayerRendererFlags )
2614
2615 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
2616 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
2617
2623 {
2624 AlwaysOutlines SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysOutlines ),
2625 AlwaysText SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysText ),
2626 };
2627 Q_ENUM( TextRenderFormat )
2628
2629
2637 {
2638 UseAllLabels = 1 << 1,
2639 UsePartialCandidates = 1 << 2,
2640 // TODO QGIS 4.0: remove
2641 RenderOutlineLabels = 1 << 3,
2642 DrawLabelRectOnly = 1 << 4,
2643 DrawCandidates = 1 << 5,
2644 DrawUnplacedLabels = 1 << 6,
2645 CollectUnplacedLabels = 1 << 7,
2646 DrawLabelMetrics = 1 << 8,
2647 };
2648 Q_ENUM( LabelingFlag )
2649
2650
2658 Q_FLAG( LabelingFlags )
2659
2668 {
2669 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
2670 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
2671 };
2672 Q_ENUM( LabelPlacementEngineVersion )
2673
2674
2682 {
2683 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
2684 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
2685 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
2686 };
2687 Q_ENUM( TextOrientation )
2688
2689
2697 {
2698 Rectangle SIP_MONKEYPATCH_COMPAT_NAME( Rect ),
2699 Point,
2700 Labeling SIP_MONKEYPATCH_COMPAT_NAME( Label ),
2701 RectangleCapHeightBased,
2702 RectangleAscentBased,
2703 };
2704 Q_ENUM( TextLayoutMode )
2705
2706
2714 {
2715 Text,
2716 Buffer,
2717 Background,
2718 Shadow,
2719 };
2720 Q_ENUM( TextComponent )
2721
2722
2730 {
2731 Left SIP_MONKEYPATCH_COMPAT_NAME( AlignLeft ),
2732 Center SIP_MONKEYPATCH_COMPAT_NAME( AlignCenter ),
2733 Right SIP_MONKEYPATCH_COMPAT_NAME( AlignRight ),
2734 Justify SIP_MONKEYPATCH_COMPAT_NAME( AlignJustify ),
2735 };
2736 Q_ENUM( TextHorizontalAlignment )
2737
2738
2749 {
2750 Top SIP_MONKEYPATCH_COMPAT_NAME( AlignTop ),
2751 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
2752 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
2753 };
2754 Q_ENUM( TextVerticalAlignment )
2755
2756
2765 {
2766 Normal,
2767 SuperScript,
2768 SubScript,
2769 };
2770 Q_ENUM( TextCharacterVerticalAlignment )
2771
2772
2780 {
2781 Distance = 0,
2782 SnapToGrid = 1,
2783 Visvalingam = 2,
2784 SnappedToGridGlobal = 3,
2785 };
2786 Q_ENUM( VectorSimplificationAlgorithm )
2787
2788
2796 {
2797 NoSimplification = 0,
2798 GeometrySimplification = 1,
2799 AntialiasingSimplification = 2,
2800 FullSimplification = 3,
2801 };
2802 Q_ENUM( VectorRenderingSimplificationFlag )
2803
2804
2813
2820 {
2821 Generic,
2822 ShadowOffset,
2823 BlurSize,
2824 GlowSpread,
2825 };
2826 Q_ENUM( RenderSubcomponentProperty )
2827
2828
2833 {
2834 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
2835 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
2836 };
2837 Q_ENUM( VertexType )
2838
2839
2847 {
2848 Square,
2849 Diamond,
2850 Pentagon,
2851 Hexagon,
2852 Triangle,
2853 EquilateralTriangle,
2854 Star,
2855 Arrow,
2856 Circle,
2857 Cross,
2858 CrossFill,
2859 Cross2,
2860 Line,
2861 ArrowHead,
2862 ArrowHeadFilled,
2863 SemiCircle,
2864 ThirdCircle,
2865 QuarterCircle,
2866 QuarterSquare,
2867 HalfSquare,
2868 DiagonalHalfSquare,
2869 RightHalfTriangle,
2870 LeftHalfTriangle,
2871 Octagon,
2872 SquareWithCorners,
2873 AsteriskFill,
2874 HalfArc,
2875 ThirdArc,
2876 QuarterArc,
2877 ParallelogramRight,
2878 ParallelogramLeft,
2879 Trapezoid,
2880 Shield,
2881 DiamondStar,
2882 Heart,
2883 Decagon,
2884 RoundedSquare,
2885 };
2886 Q_ENUM( MarkerShape )
2887
2888
2896 {
2897 Interval = 1 << 0,
2898 Vertex = 1 << 1,
2899 LastVertex = 1 << 2,
2900 FirstVertex = 1 << 3,
2901 CentralPoint = 1 << 4,
2902 CurvePoint = 1 << 5,
2903 SegmentCenter = 1 << 6,
2904 InnerVertices = 1 << 7,
2905 };
2906 Q_ENUM( MarkerLinePlacement )
2908 Q_FLAG( MarkerLinePlacements )
2909
2916 {
2917 IntervalCartesian2D = 1 << 0,
2918 IntervalZ = 1 << 1,
2919 IntervalM = 1 << 2,
2920 Vertex = 1 << 3,
2921 };
2922 Q_ENUM( LinearReferencingPlacement )
2923
2924
2930 {
2931 CartesianDistance2D,
2932 Z,
2933 M,
2934 };
2935 Q_ENUM( LinearReferencingLabelSource )
2936
2937
2945 {
2946 SimpleTwoColor,
2947 ColorRamp,
2948 };
2949 Q_ENUM( GradientColorSource )
2950
2951
2959 {
2960 Linear,
2961 Radial,
2962 Conical,
2963 };
2964 Q_ENUM( GradientType )
2965
2966
2974 {
2975 Feature,
2976 Viewport,
2977 };
2978 Q_ENUM( SymbolCoordinateReference )
2979
2980
2989 {
2990 Pad,
2991 Reflect,
2992 Repeat,
2993 };
2994 Q_ENUM( GradientSpread )
2995
2996
3004 {
3005 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
3006 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
3007 };
3008 Q_ENUM( PointCountMethod )
3009
3010
3015 enum class MarkerClipMode : int
3016 {
3017 NoClipping,
3018 Shape,
3019 CentroidWithin,
3020 CompletelyWithin,
3021 };
3022 Q_ENUM( MarkerClipMode )
3023
3024
3029 enum class LineClipMode : int
3030 {
3031 ClipPainterOnly,
3032 ClipToIntersection,
3033 NoClipping,
3034 };
3035 Q_ENUM( LineClipMode )
3036
3037
3043 {
3044 NoRule,
3045 FullDash,
3046 HalfDash,
3047 FullGap,
3048 HalfGap,
3049 };
3050 Q_ENUM( DashPatternLineEndingRule )
3051
3052
3058 {
3059 ScaleBothDashAndGap,
3060 ScaleDashOnly,
3061 ScaleGapOnly,
3062 };
3063 Q_ENUM( DashPatternSizeAdjustment )
3064
3065
3073 {
3074 Color SIP_MONKEYPATCH_COMPAT_NAME( GraduatedColor ),
3075 Size SIP_MONKEYPATCH_COMPAT_NAME( GraduatedSize ),
3076 };
3077 Q_ENUM( GraduatedMethod )
3078
3079
3085 {
3086 NoLabels,
3087 EveryLabel,
3088 FirstLabel,
3089 LastLabel,
3090 FirstAndLastLabels,
3091 };
3092 Q_ENUM( PlotAxisSuffixPlacement )
3093
3094
3098 enum class DpiMode
3099 {
3100 All = 7,
3101 Off = 0,
3102 QGIS = 1,
3103 UMN = 2,
3104 GeoServer = 4,
3105 };
3106 Q_ENUM( DpiMode )
3107
3108
3113 {
3114 Undefined = 0,
3115 StandardDpi = 1,
3116 HighDpi = 2,
3117 };
3118 Q_ENUM( TilePixelRatio )
3119
3120 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
3121
3122
3130 {
3131 MixedCase = 0,
3132 AllUppercase = 1,
3133 AllLowercase = 2,
3134 ForceFirstLetterToCapital = 4,
3135 SmallCaps = 5,
3136 TitleCase = 1004,
3137 UpperCamelCase = 1005,
3138 AllSmallCaps = 1006,
3139 };
3140 Q_ENUM( Capitalization )
3141
3142
3147 enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
3148 {
3149 WrapLines = 1 << 0,
3150 };
3151 Q_ENUM( TextRendererFlag )
3153 Q_FLAG( TextRendererFlags )
3154
3161 {
3162 MapBox,
3163 Esri,
3164 };
3166
3173 {
3174 Clockwise,
3175 CounterClockwise,
3176 NoOrientation,
3177 };
3178 Q_ENUM( AngularDirection )
3179
3180
3185 enum class RendererUsage : int
3186 {
3187 View,
3188 Export,
3189 Unknown,
3190 };
3191 Q_ENUM( RendererUsage )
3192
3193
3198 enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
3199 {
3200 Sync3DTo2D = 1 << 0,
3201 Sync2DTo3D = 1 << 1,
3202 };
3203 Q_ENUM( ViewSyncModeFlag )
3205
3212 {
3213 Always,
3214 WhenOutsideVisibleExtent,
3215 Never,
3216 };
3217 Q_ENUM( MapRecenteringMode )
3218
3219
3224 enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
3225 {
3226 LocalProfile = 1 << 0,
3227// Project = 1 << 1, //!< QGIS Project (not yet implemented)
3228 };
3229 Q_ENUM( HistoryProviderBackend )
3231 Q_FLAG( HistoryProviderBackends )
3232
3241 {
3242 MapLayer SIP_MONKEYPATCH_COMPAT_NAME( TypeMapLayer ) = -2,
3243 VectorAnyGeometry SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorAnyGeometry ) = -1,
3244 VectorPoint SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPoint ) = 0,
3245 VectorLine SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorLine ) = 1,
3246 VectorPolygon SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPolygon ) = 2,
3247 Raster SIP_MONKEYPATCH_COMPAT_NAME( TypeRaster ) = 3,
3248 File SIP_MONKEYPATCH_COMPAT_NAME( TypeFile ) = 4,
3249 Vector SIP_MONKEYPATCH_COMPAT_NAME( TypeVector ) = 5,
3250 Mesh SIP_MONKEYPATCH_COMPAT_NAME( TypeMesh ) = 6,
3251 Plugin SIP_MONKEYPATCH_COMPAT_NAME( TypePlugin ) = 7,
3252 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( TypePointCloud ) = 8,
3253 Annotation SIP_MONKEYPATCH_COMPAT_NAME( TypeAnnotation ) = 9,
3254 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorTile ) = 10
3255 };
3256 Q_ENUM( ProcessingSourceType )
3257
3258
3259
3267 {
3268 DeemphasiseSearchResults SIP_MONKEYPATCH_COMPAT_NAME( FlagDeemphasiseSearchResults ) = 1 << 1,
3269 CompatibleWithVirtualRaster SIP_MONKEYPATCH_COMPAT_NAME( FlagCompatibleWithVirtualRaster ) = 1 << 2,
3270 };
3272
3281 Q_FLAG( ProcessingProviderFlags )
3282
3283
3291 {
3292 HideFromToolbox SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromToolbox ) = 1 << 1,
3293 HideFromModeler SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromModeler ) = 1 << 2,
3294 SupportsBatch SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsBatch ) = 1 << 3,
3295 CanCancel SIP_MONKEYPATCH_COMPAT_NAME( FlagCanCancel ) = 1 << 4,
3296 RequiresMatchingCrs SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresMatchingCrs ) = 1 << 5,
3297 NoThreading SIP_MONKEYPATCH_COMPAT_NAME( FlagNoThreading ) = 1 << 6,
3298 DisplayNameIsLiteral SIP_MONKEYPATCH_COMPAT_NAME( FlagDisplayNameIsLiteral ) = 1 << 7,
3299 SupportsInPlaceEdits SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsInPlaceEdits ) = 1 << 8,
3300 KnownIssues SIP_MONKEYPATCH_COMPAT_NAME( FlagKnownIssues ) = 1 << 9,
3301 CustomException SIP_MONKEYPATCH_COMPAT_NAME( FlagCustomException ) = 1 << 10,
3302 PruneModelBranchesBasedOnAlgorithmResults SIP_MONKEYPATCH_COMPAT_NAME( FlagPruneModelBranchesBasedOnAlgorithmResults ) = 1 << 11,
3303 SkipGenericModelLogging SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGenericModelLogging ) = 1 << 12,
3304 NotAvailableInStandaloneTool SIP_MONKEYPATCH_COMPAT_NAME( FlagNotAvailableInStandaloneTool ) = 1 << 13,
3305 RequiresProject SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresProject ) = 1 << 14,
3306 Deprecated SIP_MONKEYPATCH_COMPAT_NAME( FlagDeprecated ) = HideFromToolbox | HideFromModeler,
3307 };
3309
3318 Q_FLAG( ProcessingAlgorithmFlags )
3319
3320
3326 {
3327 RegeneratesPrimaryKey = 1 << 0,
3328 RegeneratesPrimaryKeyInSomeScenarios = 1 << 1,
3329 };
3330 Q_ENUM( ProcessingAlgorithmDocumentationFlag )
3331
3332
3339
3349 {
3350 NotAvailable,
3351 Available,
3352 };
3353 Q_ENUM( ProcessingPropertyAvailability )
3354
3355
3363 {
3364 DefaultLevel = 0,
3365 Verbose,
3366 ModelDebug,
3367 };
3368 Q_ENUM( ProcessingLogLevel )
3369
3370
3378 {
3379 OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck ) = 1 << 0,
3380 CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature ) = 1 << 1,
3381 };
3382 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3383
3384
3393
3402 {
3403 SkipGeometryValidityChecks SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGeometryValidityChecks ) = 1 << 1,
3404 };
3405 Q_ENUM( ProcessingFeatureSourceFlag )
3406
3407
3416
3428 {
3429 ExposeToModeler = 1
3430 };
3431 Q_ENUM( ProcessingParameterTypeFlag )
3432
3433
3445
3454 {
3455 Advanced SIP_MONKEYPATCH_COMPAT_NAME( FlagAdvanced ) = 1 << 1,
3456 Hidden SIP_MONKEYPATCH_COMPAT_NAME( FlagHidden ) = 1 << 2,
3457 Optional SIP_MONKEYPATCH_COMPAT_NAME( FlagOptional ) = 1 << 3,
3458 IsModelOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagIsModelOutput ) = 1 << 4,
3459 };
3460 Q_ENUM( ProcessingParameterFlag )
3461
3462
3470 Q_FLAG( ProcessingParameterFlags )
3471
3480 {
3481 File = 0,
3482 Folder,
3483 };
3484 Q_ENUM( ProcessingFileParameterBehavior )
3485
3486
3494 {
3495 Integer,
3496 Double,
3497 };
3498 Q_ENUM( ProcessingNumberParameterType )
3499
3500
3508 {
3509 Any = -1,
3510 Numeric = 0,
3511 String = 1,
3512 DateTime = 2,
3513 Binary = 3,
3514 Boolean = 4,
3515 };
3516 Q_ENUM( ProcessingFieldParameterDataType )
3517
3518
3526 {
3527 DateTime,
3528 Date,
3529 Time,
3530 };
3531 Q_ENUM( ProcessingDateTimeParameterDataType )
3532
3533
3539 {
3540 ModelParameter,
3541 ChildOutput,
3542 StaticValue,
3543 Expression,
3544 ExpressionText,
3545 ModelOutput,
3546 };
3547 Q_ENUM( ProcessingModelChildParameterSource )
3548
3549
3555 {
3556 NotExecuted,
3557 Success,
3558 Failed,
3559 };
3560 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
3561
3562
3570 {
3571 Vertices,
3572 StructureLines,
3573 BreakLines
3574 };
3575 Q_ENUM( ProcessingTinInputLayerType )
3576
3577
3583 {
3584 Wkt SIP_MONKEYPATCH_COMPAT_NAME( FormatWkt ),
3585 Proj SIP_MONKEYPATCH_COMPAT_NAME( FormatProj ),
3586 };
3587 Q_ENUM( CrsDefinitionFormat )
3588
3589
3597 enum class FieldDomainSplitPolicy : int
3598 {
3599 DefaultValue,
3600 Duplicate,
3601 GeometryRatio,
3602 UnsetField,
3603 };
3604 Q_ENUM( FieldDomainSplitPolicy )
3605
3606
3614 enum class FieldDomainMergePolicy : int
3615 {
3616 DefaultValue,
3617 Sum,
3618 GeometryWeighted,
3619 };
3620 Q_ENUM( FieldDomainMergePolicy )
3621
3622
3629 enum class FieldDuplicatePolicy : int
3630 {
3631 DefaultValue,
3632 Duplicate,
3633 UnsetField,
3634 };
3635 Q_ENUM( FieldDuplicatePolicy )
3636
3637
3642 enum class FieldDomainType : int
3643 {
3644 Coded,
3645 Range,
3646 Glob,
3647 };
3648 Q_ENUM( FieldDomainType )
3649
3650
3655 enum class TransactionMode : int
3656 {
3657 Disabled = 0,
3658 AutomaticGroups = 1,
3659 BufferedGroups = 2,
3660 };
3661 Q_ENUM( TransactionMode )
3662
3663
3668 enum class AltitudeClamping : int
3669 {
3670 Absolute,
3671 Relative,
3672 Terrain,
3673 };
3674 Q_ENUM( AltitudeClamping )
3675
3676
3681 enum class AltitudeBinding : int
3682 {
3683 Vertex,
3684 Centroid,
3685 };
3686 Q_ENUM( AltitudeBinding )
3687
3688
3693 enum class RangeLimits : int
3694 {
3695 IncludeBoth = 0,
3696 IncludeLowerExcludeUpper,
3697 ExcludeLowerIncludeUpper,
3698 ExcludeBoth,
3699 };
3700 Q_ENUM( RangeLimits )
3701
3702
3707 enum class RasterElevationMode : int
3708 {
3709 FixedElevationRange = 0,
3710 RepresentsElevationSurface = 1,
3711 FixedRangePerBand = 2,
3712 DynamicRangePerBand = 3,
3713 };
3714 Q_ENUM( RasterElevationMode )
3715
3716
3721 enum class MeshElevationMode : int
3722 {
3723 FixedElevationRange = 0,
3724 FromVertices = 1,
3725 FixedRangePerGroup = 2,
3726 };
3727 Q_ENUM( MeshElevationMode )
3728
3729
3735 {
3736 NoConstraint,
3737 Perpendicular,
3738 Parallel
3739 };
3740 Q_ENUM( BetweenLineConstraint )
3741
3742
3747 enum class LineExtensionSide : int
3748 {
3749 BeforeVertex,
3750 AfterVertex,
3751 NoVertex,
3752 };
3753 Q_ENUM( LineExtensionSide )
3754
3755
3756
3760 enum class CadConstraintType : int
3761 {
3762 Generic,
3763 Angle,
3764 Distance,
3765 XCoordinate,
3766 YCoordinate,
3767 ZValue,
3768 MValue,
3769 };
3770 Q_ENUM( CadConstraintType )
3771
3772
3773
3778 enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
3779 {
3780 EvaluateDefaultValuesOnProviderSide = 1 << 0,
3781 TrustStoredLayerStatistics = 1 << 1,
3782 RememberLayerEditStatusBetweenSessions = 1 << 2,
3783 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
3784 };
3785 Q_ENUM( ProjectFlag )
3786 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
3787 Q_FLAG( ProjectFlags )
3788
3794 enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
3795 {
3796 ShowContextMenu = 1 << 0,
3797 };
3798 Q_ENUM( PlotToolFlag )
3799 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
3800 Q_FLAG( PlotToolFlags )
3801
3802
3810 enum class Point3DShape : int
3811 {
3812 Cylinder,
3813 Sphere,
3814 Cone,
3815 Cube,
3816 Torus,
3817 Plane,
3818 ExtrudedText,
3819 Model,
3820 Billboard,
3821 };
3822 Q_ENUM( Point3DShape )
3823
3824
3829 enum class LightSourceType : int
3830 {
3831 Point,
3832 Directional,
3833 };
3834 Q_ENUM( LightSourceType )
3835
3836
3841 enum class NavigationMode : int
3842 {
3843 TerrainBased,
3844 Walk
3845 };
3846 Q_ENUM( NavigationMode )
3847
3848
3853 enum class VerticalAxisInversion : int
3854 {
3855 Never,
3856 WhenDragging,
3857 Always,
3858 };
3859 Q_ENUM( VerticalAxisInversion )
3860
3861
3867 {
3868 Line,
3869 FillBelow,
3870 FillAbove,
3871 };
3873
3879 enum class VectorProfileType : int
3880 {
3881 IndividualFeatures,
3882 ContinuousSurface,
3883 };
3885
3891 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
3892 {
3893 RespectsMaximumErrorMapUnit = 1 << 0,
3894 RespectsDistanceRange = 1 << 1,
3895 RespectsElevationRange = 1 << 2,
3896 };
3897 Q_ENUM( ProfileGeneratorFlag )
3899 Q_FLAG( ProfileGeneratorFlags )
3900
3906 enum class ProfileExportType : int
3907 {
3908 Features3D,
3909 Profile2D,
3910 DistanceVsElevationTable,
3911 };
3913
3920 {
3921 Square,
3922 Circle,
3923 };
3924 Q_ENUM( PointCloudSymbol )
3925
3926
3932 {
3933 Default,
3934 BottomToTop,
3935 TopToBottom,
3936 };
3937 Q_ENUM( PointCloudDrawOrder )
3938
3939
3947 {
3948 AllowIntersections,
3949 AvoidIntersectionsCurrentLayer,
3950 AvoidIntersectionsLayers,
3951 };
3952 Q_ENUM( AvoidIntersectionsMode )
3953
3954
3962 {
3963 Qgz,
3964 Qgs,
3965 };
3966 Q_ENUM( ProjectFileFormat )
3967
3968
3976 {
3977 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers ) = 1 << 0,
3978 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts ) = 1 << 1,
3979 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata ) = 1 << 2,
3980 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
3981 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
3982 DontLoadProjectStyles = 1 << 5,
3983 ForceReadOnlyLayers = 1 << 6,
3984 DontUpgradeAnnotations = 1 << 7,
3985 };
3986 Q_ENUM( ProjectReadFlag )
3987
3988
3996 Q_FLAG( ProjectReadFlags )
3997
4006 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
4007 {
4008 ProjectStyles = 1 << 0,
4009 };
4010 Q_ENUM( ProjectCapability )
4011
4012
4018 Q_FLAG( ProjectCapabilities )
4019
4026 {
4027 Vector,
4028 Raster,
4029 RasterDem,
4030 GeoJson,
4031 Image,
4032 Video,
4033 Unknown,
4034 };
4035 Q_ENUM( MapBoxGlStyleSourceType )
4036
4037
4045 {
4046 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
4047 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
4048 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
4049 GlobeServer,
4050 GPServer,
4051 GeocodeServer,
4052 Unknown,
4053 };
4054 Q_ENUM( ArcGisRestServiceType )
4055
4056
4064 {
4065 Normal,
4066 Generated,
4067 };
4068 Q_ENUM( RelationshipType )
4069
4070
4078 {
4079 Association,
4080 Composition,
4081 };
4082 Q_ENUM( RelationshipStrength )
4083
4084
4090 {
4091 OneToOne,
4092 OneToMany,
4093 ManyToOne,
4094 ManyToMany,
4095 };
4096 Q_ENUM( RelationshipCardinality )
4097
4098
4103 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
4104 {
4105 MultipleFieldKeys = 1 << 0,
4106 ForwardPathLabel = 1 << 1,
4107 BackwardPathLabel = 1 << 2,
4108 };
4109 Q_ENUM( RelationshipCapability )
4110
4111
4117 Q_FLAG( RelationshipCapabilities )
4118
4124 enum class CoordinateDisplayType : int
4125 {
4126 MapCrs,
4127 MapGeographic,
4128 CustomCrs,
4129 };
4130 Q_ENUM( CoordinateDisplayType )
4131
4132
4137 enum class SettingsOrigin : int
4138 {
4139 Any,
4140 Global,
4141 Local,
4142 };
4143 Q_ENUM( SettingsOrigin )
4144
4145
4150 enum class ScriptLanguage : int
4151 {
4152 Css,
4153 QgisExpression,
4154 Html,
4155 JavaScript,
4156 Json,
4157 Python,
4158 R,
4159 Sql,
4160 Batch,
4161 Bash,
4162 Unknown,
4163 };
4164 Q_ENUM( ScriptLanguage )
4165
4166
4174 {
4175 Reformat = 1 << 0,
4176 CheckSyntax = 1 << 1,
4177 ToggleComment = 1 << 2,
4178 };
4179 Q_ENUM( ScriptLanguageCapability )
4180
4181
4188
4195 {
4196 AboveInsertionPoint,
4197 TopOfTree,
4198 OptimalInInsertionGroup,
4199 };
4200 Q_ENUM( LayerTreeInsertionMethod )
4201
4202
4207 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
4208 {
4209 SkipVisibilityCheck = 1 << 0,
4210 };
4211 Q_ENUM( LayerTreeFilterFlag )
4212
4213
4219 Q_FLAG( LayerTreeFilterFlags )
4220
4221
4229 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
4230 {
4231 ShowRuleDetails = 1 << 0,
4232 };
4233 Q_ENUM( LegendJsonRenderFlag )
4235 Q_FLAG( LegendJsonRenderFlags )
4236
4244 enum class ActionType : int
4245 {
4246 Invalid,
4247 MapLayerAction,
4248 AttributeAction
4249 };
4250 Q_ENUM( ActionType )
4251
4252
4259 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
4260 {
4261 Layer = 1 << 0,
4262 SingleFeature = 1 << 1,
4263 MultipleFeatures = 1 << 2,
4264 AllActions = Layer | SingleFeature | MultipleFeatures
4265 };
4266 Q_ENUM( MapLayerActionTarget )
4267
4268
4276 Q_FLAG( MapLayerActionTargets )
4277
4285 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
4286 {
4287 EnabledOnlyWhenEditable = 1 << 1,
4288 };
4289 Q_ENUM( MapLayerActionFlag )
4290
4291
4299 Q_FLAG( MapLayerActionFlags )
4300
4309 {
4310 Generic,
4311 GenericPython,
4312 Mac,
4313 Windows,
4314 Unix,
4315 OpenUrl,
4316 SubmitUrlEncoded,
4317 SubmitUrlMultipart,
4318 };
4319 Q_ENUM( AttributeActionType )
4320
4321
4327 {
4328 Created,
4329 Published,
4330 Revised,
4331 Superseded,
4332 };
4333 Q_ENUM( MetadataDateType )
4334
4335
4345 {
4346 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
4347 GrayIndex = 1,
4348 PaletteIndex = 2,
4349 RedBand = 3,
4350 GreenBand = 4,
4351 BlueBand = 5,
4352 AlphaBand = 6,
4353 HueBand = 7,
4354 SaturationBand = 8,
4355 LightnessBand = 9,
4356 CyanBand = 10,
4357 MagentaBand = 11,
4358 YellowBand = 12,
4359 BlackBand = 13,
4360 YCbCr_YBand = 14,
4361 YCbCr_CbBand = 15,
4362 YCbCr_CrBand = 16,
4363 ContinuousPalette = 17
4364 };
4365 Q_ENUM( RasterColorInterpretation )
4366
4367
4375 {
4376 GrayOrUndefined,
4377 Palette,
4378 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
4379 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
4380 };
4381 Q_ENUM( RasterLayerType )
4382
4383
4391 {
4392 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
4393 SingleBandGray,
4394 SingleBandPseudoColor,
4395 PalettedColor,
4396 PalettedSingleBandGray,
4397 PalettedSingleBandPseudoColor,
4398 PalettedMultiBandColor,
4399 MultiBandSingleBandGray,
4400 MultiBandSingleBandPseudoColor,
4401 MultiBandColor,
4402 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
4403 };
4404 Q_ENUM( RasterDrawingStyle )
4405
4406
4413 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
4414 {
4415 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
4416 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
4417 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
4418 };
4419 Q_ENUM( RasterPyramidFormat )
4420
4421
4429 {
4430 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
4431 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
4432 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
4433 };
4434 Q_ENUM( RasterBuildPyramidOption )
4435
4436
4444 {
4445 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
4446 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
4447 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
4448 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
4449 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
4450 };
4451 Q_ENUM( RasterIdentifyFormat )
4452
4453 // TODO QGIS 4 -- remove NoCapabilities and rely on RasterInterfaceCapabilities() instead
4454 // remove deprecated members
4455 // Remove "Identify" member, and replace with combinations of IdentifyValue/IdentifyText/etc
4456
4457
4465 {
4466 NoCapabilities = 0,
4467 Size = 1 << 1,
4468 Create = 1 << 2,
4469 Remove = 1 << 3,
4470 BuildPyramids = 1 << 4,
4471 Identify = 1 << 5,
4472 IdentifyValue = 1 << 6,
4473 IdentifyText = 1 << 7,
4474 IdentifyHtml = 1 << 8,
4475 IdentifyFeature = 1 << 9,
4476 Prefetch = 1 << 10,
4477 };
4478 Q_ENUM( RasterInterfaceCapability )
4479
4480
4487
4488 // TODO QGIS 4 -- remove NoProviderCapabilities and rely on RasterProviderCapabilities() instead
4489
4498 {
4499 NoProviderCapabilities = 0,
4500 ReadLayerMetadata = 1 << 1,
4501 WriteLayerMetadata = 1 << 2,
4502 ProviderHintBenefitsFromResampling = 1 << 3,
4503 ProviderHintCanPerformProviderResampling = 1 << 4,
4504 ReloadData = 1 << 5,
4505 DpiDependentData = 1 << 6,
4506 NativeRasterAttributeTable = 1 << 7,
4507 BuildPyramids = 1 << 8,
4508 };
4509 Q_ENUM( RasterProviderCapability )
4510
4511
4520
4527 {
4528 HighestElevation,
4529 NewerElevation,
4530 };
4531 Q_ENUM( ElevationMapCombineMethod )
4532
4533
4542 {
4543 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
4544 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
4545 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
4546 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
4547 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
4548 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
4549 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
4550 Burn SIP_MONKEYPATCH_COMPAT_NAME( BlendBurn ),
4551 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
4552 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
4553 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
4554 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
4555 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
4556 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
4557 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
4558 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
4559 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
4560 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
4561 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
4562 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
4563 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
4564 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
4565 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
4566 Xor SIP_MONKEYPATCH_COMPAT_NAME( BlendXor ),
4567 };
4568 Q_ENUM( BlendMode )
4569
4570
4578 {
4579 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
4580 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
4581 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
4582 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
4583 };
4584 Q_ENUM( SystemOfMeasurement )
4585
4586
4593 {
4594 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
4595 Pixels,
4596 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
4597 };
4598 Q_ENUM( MapToolUnit )
4599
4600
4608 {
4609 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
4610 Area SIP_MONKEYPATCH_COMPAT_NAME( TypeArea ),
4611 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
4612 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
4613 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
4614 };
4615 Q_ENUM( UnitType )
4616
4617
4625 {
4626 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
4627 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
4628 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
4629 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
4630 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
4631 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
4632 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
4633 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
4634 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
4635 Inches,
4636 ChainsInternational,
4637 ChainsBritishBenoit1895A,
4638 ChainsBritishBenoit1895B,
4639 ChainsBritishSears1922Truncated,
4640 ChainsBritishSears1922,
4641 ChainsClarkes,
4642 ChainsUSSurvey,
4643 FeetBritish1865,
4644 FeetBritish1936,
4645 FeetBritishBenoit1895A,
4646 FeetBritishBenoit1895B,
4647 FeetBritishSears1922Truncated,
4648 FeetBritishSears1922,
4649 FeetClarkes,
4650 FeetGoldCoast,
4651 FeetIndian,
4652 FeetIndian1937,
4653 FeetIndian1962,
4654 FeetIndian1975,
4655 FeetUSSurvey,
4656 LinksInternational,
4657 LinksBritishBenoit1895A,
4658 LinksBritishBenoit1895B,
4659 LinksBritishSears1922Truncated,
4660 LinksBritishSears1922,
4661 LinksClarkes,
4662 LinksUSSurvey,
4663 YardsBritishBenoit1895A,
4664 YardsBritishBenoit1895B,
4665 YardsBritishSears1922Truncated,
4666 YardsBritishSears1922,
4667 YardsClarkes,
4668 YardsIndian,
4669 YardsIndian1937,
4670 YardsIndian1962,
4671 YardsIndian1975,
4672 MilesUSSurvey,
4673 Fathoms,
4674 MetersGermanLegal,
4675 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
4676 };
4677 Q_ENUM( DistanceUnit )
4678
4679
4687 {
4688 Standard,
4689 Geographic,
4690 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
4691 };
4692 Q_ENUM( DistanceUnitType )
4693
4694
4702 {
4703 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
4704 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
4705 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
4706 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
4707 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
4708 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
4709 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
4710 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
4711 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
4712 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
4713 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
4714 SquareInches,
4715 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
4716 };
4717 Q_ENUM( AreaUnit )
4718
4719
4727 {
4728 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
4729 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
4730 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
4731 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
4732 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
4733 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
4734 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
4735 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
4736 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
4737 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
4738 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
4739 };
4740 Q_ENUM( VolumeUnit )
4741
4742
4750 {
4751 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
4752 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
4753 Gon SIP_MONKEYPATCH_COMPAT_NAME( AngleGon ),
4754 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
4755 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
4756 Turn SIP_MONKEYPATCH_COMPAT_NAME( AngleTurn ),
4757 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
4758 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
4759 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
4760 };
4761 Q_ENUM( AngleUnit )
4762
4763
4771 {
4772 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
4773 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
4774 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
4775 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
4776 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
4777 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
4778 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
4779 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
4780 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
4781 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
4782 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
4783 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
4784 };
4785 Q_ENUM( TemporalUnit )
4786
4787
4795 {
4796 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
4797 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
4798 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
4799 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
4800 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
4801 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
4802 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
4803 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
4804 };
4805 Q_ENUM( RenderUnit )
4806
4807
4815 {
4816 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
4817 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
4818 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
4819 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
4820 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
4821 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
4822 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
4823 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
4824 };
4825 Q_ENUM( LayoutUnit )
4826
4827
4835 {
4836 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
4837 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
4838 };
4839 Q_ENUM( LayoutUnitType )
4840
4841
4849 {
4850 SVG SIP_MONKEYPATCH_COMPAT_NAME( FormatSVG ) = 0,
4851 Raster SIP_MONKEYPATCH_COMPAT_NAME( FormatRaster ),
4852 Unknown SIP_MONKEYPATCH_COMPAT_NAME( FormatUnknown ),
4853 };
4854 Q_ENUM( PictureFormat )
4855
4856
4857
4865 {
4866 Left SIP_MONKEYPATCH_COMPAT_NAME( AlignLeft ) = 0,
4867 Middle SIP_MONKEYPATCH_COMPAT_NAME( AlignMiddle ),
4868 Right SIP_MONKEYPATCH_COMPAT_NAME( AlignRight ),
4869 };
4870 Q_ENUM( ScaleBarAlignment )
4871
4872
4880 {
4881 Fixed SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFixed ) = 0,
4882 FitWidth SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFitWidth ) = 1
4883 };
4884 Q_ENUM( ScaleBarSegmentSizeMode )
4885
4886
4894 {
4895 AboveSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelAboveSegment ) = 0,
4896 BelowSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelBelowSegment ),
4897 };
4898 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
4899
4900
4908 {
4909 CenteredEdge SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredEdge ) = 0,
4910 CenteredSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredSegment ),
4911 };
4912 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
4913
4914
4919 enum class InputControllerType : int
4920 {
4921 Map2D,
4922 Map3D
4923 };
4925
4932 {
4933 NotSet,
4934 Unknown,
4935 OrdinaryTable,
4936 Index,
4937 Sequence,
4938 View,
4939 MaterializedView,
4940 CompositeType,
4941 ToastTable,
4942 ForeignTable,
4943 PartitionedTable,
4944 };
4945 Q_ENUM( PostgresRelKind )
4946
4947
4953 {
4954 SetFieldComment = 1 << 0,
4955 SetFieldAlias = 1 << 1,
4956 };
4957 Q_ENUM( DatabaseProviderConnectionCapability2 )
4960
4967 {
4968 SaveToDatabase = 1 << 1,
4969 LoadFromDatabase = 1 << 2,
4970 DeleteFromDatabase = 1 << 3
4971 };
4975
4976
4982 {
4983 LastProfile,
4984 DefaultProfile,
4985 AskUser,
4986 };
4987 Q_ENUM( UserProfileSelectionPolicy )
4988
4989
4997 {
4998 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
4999 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
5000 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
5001 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
5002 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
5003 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
5004 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
5005 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
5006 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
5007 };
5008 Q_ENUM( AttributeEditorType )
5009
5010
5016 {
5017 GroupBox,
5018 Tab,
5019 Row,
5020 };
5021 Q_ENUM( AttributeEditorContainerType )
5022
5023
5031 {
5032 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
5033 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
5034 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
5035 };
5036 Q_ENUM( AttributeFormLayout )
5037
5038
5046 {
5047 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
5048 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
5049 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
5050 };
5051 Q_ENUM( AttributeFormSuppression )
5052
5053
5061 {
5062 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
5063 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
5064 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
5065 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
5066 };
5067 Q_ENUM( AttributeFormPythonInitCodeSource )
5068
5069
5075 {
5076 Qgis,
5077 PointCloud,
5078 RasterCalculator,
5079 };
5080 Q_ENUM( ExpressionType )
5081
5082
5090 {
5091 NoSymbology = 0,
5092 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
5093 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
5094 };
5095 Q_ENUM( FeatureSymbologyExport )
5096
5097
5102 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
5103 {
5104 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
5105 };
5106 Q_ENUM( VectorTileProviderFlag )
5107
5108
5114 Q_FLAG( VectorTileProviderFlags )
5115
5121 {
5122 ReadLayerMetadata = 1 << 1,
5123 };
5124 Q_ENUM( VectorTileProviderCapability )
5125
5126
5133
5140 {
5141 Available,
5142 NotAvailable,
5143 AvailableNoChildren,
5144 UseLowerZoomLevelTile,
5145 };
5146 Q_ENUM( TileAvailability )
5147
5148
5154 {
5155 ReadLayerMetadata = 1 << 1,
5156 };
5157 Q_ENUM( TiledSceneProviderCapability )
5158
5159
5166
5173 {
5174 Region,
5175 OrientedBox,
5176 Sphere,
5177 };
5178 Q_ENUM( TiledSceneBoundingVolumeType )
5179
5180
5189 {
5190 Replacement,
5191 Additive,
5192 };
5193 Q_ENUM( TileRefinementProcess )
5194
5195
5201 {
5202 NoChildren,
5203 Available,
5204 NeedFetching,
5205 };
5206 Q_ENUM( TileChildrenAvailability )
5207
5208
5213 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
5214 {
5215 NoHierarchyFetch = 1 << 0,
5216 };
5217 Q_ENUM( TiledSceneRequestFlag )
5218
5219
5225 Q_FLAG( TiledSceneRequestFlags )
5226
5232 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
5233 {
5234 RequiresTextures = 1 << 0,
5235 ForceRasterRender = 1 << 1,
5236 RendersTriangles = 1 << 2,
5237 RendersLines = 1 << 3,
5238 };
5239 Q_ENUM( TiledSceneRendererFlag )
5240
5241
5247 Q_FLAG( TiledSceneRendererFlags )
5248
5254 enum class GdalResampleAlgorithm : int
5255 {
5256 RA_NearestNeighbour = 0,
5257 RA_Bilinear = 1,
5258 RA_Cubic = 2,
5259 RA_CubicSpline = 3,
5260 RA_Lanczos = 4,
5261 RA_Average = 5,
5262 RA_Mode = 6,
5263 RA_Max = 8,
5264 RA_Min = 9,
5265 RA_Median = 10,
5266 RA_Q1 = 11,
5267 RA_Q3 = 12,
5268 };
5269 Q_ENUM( GdalResampleAlgorithm )
5270
5271
5276 enum class VsiHandlerType : int
5277 {
5278 Invalid,
5279 Archive,
5280 Network,
5281 Cloud,
5282 Memory,
5283 Other,
5284 };
5285 Q_ENUM( VsiHandlerType )
5286
5287
5292 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
5293 {
5294 Count = 1,
5295 Sum = 2,
5296 Mean = 4,
5297 Median = 8,
5298 StDev = 16,
5299 Min = 32,
5300 Max = 64,
5301 Range = 128,
5302 Minority = 256,
5303 Majority = 512,
5304 Variety = 1024,
5305 Variance = 2048,
5306 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
5307 Default = Count | Sum | Mean,
5308 };
5309 Q_ENUM( ZonalStatistic )
5310
5311
5317 Q_FLAG( ZonalStatistics )
5318
5324 enum class ZonalStatisticResult : int
5325 {
5326 Success = 0,
5327 LayerTypeWrong = 1,
5328 LayerInvalid,
5329 RasterInvalid,
5330 RasterBandInvalid,
5331 FailedToCreateField = 8,
5332 Canceled = 9
5333 };
5334 Q_ENUM( ZonalStatisticResult )
5335
5336
5343 {
5344 Count,
5345 CountDistinct,
5346 CountMissing,
5347 Min,
5348 Max,
5349 Sum,
5350 Mean,
5351 Median,
5352 StDev,
5353 StDevSample,
5354 Range,
5355 Minority,
5356 Majority,
5357 FirstQuartile,
5358 ThirdQuartile,
5359 InterQuartileRange,
5360 StringMinimumLength,
5361 StringMaximumLength,
5362 StringConcatenate,
5363 GeometryCollect,
5364 ArrayAggregate,
5365 StringConcatenateUnique
5366 };
5367 Q_ENUM( Aggregate )
5368
5369
5375 {
5376 Count = 1 << 0,
5377 CountMissing = 1 << 15,
5378 Sum = 1 << 1,
5379 Mean = 1 << 2,
5380 Median = 1 << 3,
5381 StDev = 1 << 4,
5382 StDevSample = 1 << 5,
5383 Min = 1 << 6,
5384 Max = 1 << 7,
5385 Range = 1 << 8,
5386 Minority = 1 << 9,
5387 Majority = 1 << 10,
5388 Variety = 1 << 11,
5389 FirstQuartile = 1 << 12,
5390 ThirdQuartile = 1 << 13,
5391 InterQuartileRange = 1 << 14,
5392 First = 1 << 16,
5393 Last = 1 << 17,
5394 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
5395 };
5396 Q_ENUM( Statistic )
5397
5398
5404 Q_FLAG( Statistics )
5405
5412 {
5413 Count = 1,
5414 CountDistinct = 2,
5415 CountMissing = 4,
5416 Min = 8,
5417 Max = 16,
5418 Range = 32,
5419 All = Count | CountDistinct | CountMissing | Min | Max | Range,
5420 };
5421 Q_ENUM( DateTimeStatistic )
5422
5423
5429 Q_FLAG( DateTimeStatistics )
5430
5437 {
5438 Count = 1,
5439 CountDistinct = 2,
5440 CountMissing = 4,
5441 Min = 8,
5442 Max = 16,
5443 MinimumLength = 32,
5444 MaximumLength = 64,
5445 MeanLength = 128,
5446 Minority = 256,
5447 Majority = 512,
5448 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
5449 };
5450 Q_ENUM( StringStatistic )
5451
5452
5458 Q_FLAG( StringStatistics )
5459
5466 {
5467 NoStatistic = 0,
5468 Min = 1,
5469 Max = 1 << 1,
5470 Range = 1 << 2,
5471 Sum = 1 << 3,
5472 Mean = 1 << 4,
5473 StdDev = 1 << 5,
5474 SumOfSquares = 1 << 6,
5475 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
5476 };
5477 Q_ENUM( RasterBandStatistic )
5478
5479
5485 Q_FLAG( RasterBandStatistics )
5486
5492 enum class SensorThingsEntity : int
5493 {
5494 Invalid,
5495 Thing,
5496 Location,
5497 HistoricalLocation,
5498 Datastream,
5499 Sensor,
5500 ObservedProperty,
5501 Observation,
5502 FeatureOfInterest,
5503 MultiDatastream,
5504 };
5505 Q_ENUM( SensorThingsEntity )
5506
5507
5512 enum class ColorModel : int
5513 {
5514 Rgb,
5515 Cmyk,
5516 };
5517 Q_ENUM( ColorModel )
5518
5519
5522 static const double DEFAULT_SEARCH_RADIUS_MM;
5523
5525 static const float DEFAULT_MAPTOPIXEL_THRESHOLD;
5526
5532 static const QColor DEFAULT_HIGHLIGHT_COLOR;
5533
5537 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
5538
5542 static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
5543
5549 static const double SCALE_PRECISION;
5550
5555 static const double DEFAULT_Z_COORDINATE;
5556
5562 static const double DEFAULT_M_COORDINATE;
5563
5568 static const double UI_SCALE_FACTOR;
5569
5573 static const double DEFAULT_SNAP_TOLERANCE;
5574
5578 static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS;
5579
5585 static QString defaultProjectScales();
5586
5592 static int geosVersionInt();
5593
5599 static int geosVersionMajor();
5600
5606 static int geosVersionMinor();
5607
5613 static int geosVersionPatch();
5614
5620 static QString geosVersion();
5621};
5622
5625
5704
5705// hack to workaround warnings when casting void pointers
5706// retrieved from QLibrary::resolve to function pointers.
5707// It's assumed that this works on all systems supporting
5708// QLibrary
5709#define cast_to_fptr(f) f
5710
5711
5719// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
5720template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
5721{
5722 public:
5723
5728 explicit QgsSignalBlocker( Object *object )
5729 : mObject( object )
5730 , mPreviousState( object->blockSignals( true ) )
5731 {}
5732
5734 {
5735 mObject->blockSignals( mPreviousState );
5736 }
5737
5739 Object *operator->() { return mObject; }
5740
5741 private:
5742
5743 Object *mObject = nullptr;
5744 bool mPreviousState;
5745
5746};
5747
5760// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
5761template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
5762{
5763 return QgsSignalBlocker<Object>( object );
5764}
5765
5767CORE_EXPORT uint qHash( const QVariant &variant );
5768
5774inline QString qgsDoubleToString( double a, int precision = 17 )
5775{
5776 QString str;
5777 if ( precision )
5778 {
5779 if ( precision < 0 )
5780 {
5781 const double roundFactor = std::pow( 10, -precision );
5782 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
5783 }
5784 else
5785 {
5786 str = QString::number( a, 'f', precision );
5787 if ( str.contains( QLatin1Char( '.' ) ) )
5788 {
5789 // remove ending 0s
5790 int idx = str.length() - 1;
5791 while ( str.at( idx ) == '0' && idx > 1 )
5792 {
5793 idx--;
5794 }
5795 if ( idx < str.length() - 1 )
5796 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
5797 }
5798 }
5799 }
5800 else
5801 {
5802 str = QString::number( a, 'f', precision );
5803 }
5804 // avoid printing -0
5805 // see https://bugreports.qt.io/browse/QTBUG-71439
5806 if ( str == QLatin1String( "-0" ) )
5807 {
5808 return QLatin1String( "0" );
5809 }
5810 return str;
5811}
5812
5819inline bool qgsNanCompatibleEquals( double a, double b )
5820{
5821 const bool aIsNan = std::isnan( a );
5822 const bool bIsNan = std::isnan( b );
5823 if ( aIsNan || bIsNan )
5824 return aIsNan && bIsNan;
5825
5826 return a == b;
5827}
5828
5829#ifndef SIP_RUN
5830
5838template<typename T>
5839inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
5840{
5841 const bool aIsNan = std::isnan( a );
5842 const bool bIsNan = std::isnan( b );
5843 if ( aIsNan || bIsNan )
5844 return aIsNan && bIsNan;
5845
5846 const T diff = a - b;
5847 return diff >= -epsilon && diff <= epsilon;
5848}
5849#endif
5850
5857inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
5858{
5859 return qgsNumberNear<double>( a, b, epsilon );
5860}
5861
5868inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
5869{
5870 return qgsNumberNear<float>( a, b, epsilon );
5871}
5872
5874inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
5875{
5876 const bool aIsNan = std::isnan( a );
5877 const bool bIsNan = std::isnan( b );
5878 if ( aIsNan || bIsNan )
5879 return aIsNan && bIsNan;
5880
5881 // The most simple would be to print numbers as %.xe and compare as strings
5882 // but that is probably too costly
5883 // Then the fastest would be to set some bits directly, but little/big endian
5884 // has to be considered (maybe TODO)
5885 // Is there a better way?
5886 int aexp, bexp;
5887 const double ar = std::frexp( a, &aexp );
5888 const double br = std::frexp( b, &bexp );
5889
5890 return aexp == bexp &&
5891 std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
5892}
5893
5898inline double qgsRound( double number, int places )
5899{
5900 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
5901 const double scaleFactor = std::pow( 10.0, places );
5902 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
5903}
5904
5905#ifndef SIP_RUN
5906
5913template<class Key, class Value>
5914QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
5915{
5916 QString result;
5917 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
5918 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
5919
5920 result.chop( separator.size() );
5921 return result;
5922}
5923
5930template<class Key, class Value>
5931QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
5932{
5933 QString result;
5934 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
5935 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
5936
5937 result.chop( separator.size() );
5938 return result;
5939}
5940
5947template<class T>
5948QString qgsSetJoin( const QSet<T> &set, const QString &separator )
5949{
5950 QString result;
5951 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
5952 result += QString( "%1%2" ).arg( *it ).arg( separator );
5953
5954 result.chop( separator.size() );
5955 return result;
5956}
5957
5959
5969namespace qgis
5970{
5971
5984 template<typename To, typename From> inline To down_cast( From *f )
5985 {
5986 static_assert(
5987 ( std::is_base_of<From,
5988 typename std::remove_pointer<To>::type>::value ),
5989 "target type not derived from source type" );
5990 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
5991 return static_cast<To>( f );
5992 }
5993
5994 template<class T>
5995 QSet<T> listToSet( const QList<T> &list )
5996 {
5997 return QSet<T>( list.begin(), list.end() );
5998 }
5999
6000 template<class T>
6001 QList<T> setToList( const QSet<T> &set )
6002 {
6003 return QList<T>( set.begin(), set.end() );
6004 }
6005}
6006
6008#endif
6009
6014template<class T> const QList<T> qgsEnumList() SIP_SKIP
6015{
6016 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6017 Q_ASSERT( metaEnum.isValid() );
6018 QList<T> enumList;
6019 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
6020 {
6021 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
6022 }
6023 return enumList;
6024}
6025
6031template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
6032{
6033 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6034 Q_ASSERT( metaEnum.isValid() );
6035 QMap<T, QString> enumMap;
6036 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
6037 {
6038 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
6039 }
6040 return enumMap;
6041}
6042
6048template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
6049{
6050 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6051 Q_ASSERT( metaEnum.isValid() );
6052 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
6053 if ( returnOk )
6054 {
6055 *returnOk = key ? true : false;
6056 }
6057 return QString::fromUtf8( key );
6058}
6059
6067template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
6068{
6069 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6070 Q_ASSERT( metaEnum.isValid() );
6071 bool ok = false;
6072 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
6073 if ( returnOk )
6074 {
6075 *returnOk = ok;
6076 }
6077 if ( ok )
6078 {
6079 return v;
6080 }
6081 else
6082 {
6083 // if conversion has failed, try with conversion from int value
6084 if ( tryValueAsKey )
6085 {
6086 bool canConvert = false;
6087 const int intValue = key.toInt( &canConvert );
6088 if ( canConvert && metaEnum.valueToKey( intValue ) )
6089 {
6090 if ( returnOk )
6091 {
6092 *returnOk = true;
6093 }
6094 return static_cast<T>( intValue );
6095 }
6096 }
6097 }
6098 return defaultValue;
6099}
6100
6106template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
6107{
6108 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6109 Q_ASSERT( metaEnum.isValid() );
6110 int intValue = static_cast<int>( value );
6111 const QByteArray ba = metaEnum.valueToKeys( intValue );
6112 // check that the int value does correspond to a flag
6113 // see https://stackoverflow.com/a/68495949/1548052
6114 const int intValueCheck = metaEnum.keysToValue( ba );
6115 bool ok = intValue == intValueCheck;
6116 if ( returnOk )
6117 *returnOk = ok;
6118 return ok ? QString::fromUtf8( ba ) : QString();
6119}
6120
6128template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
6129{
6130 if ( keys.isEmpty() )
6131 {
6132 if ( returnOk )
6133 {
6134 *returnOk = false;
6135 }
6136 return defaultValue;
6137 }
6138 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6139 Q_ASSERT( metaEnum.isValid() );
6140 bool ok = false;
6141 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
6142 if ( returnOk )
6143 {
6144 *returnOk = ok;
6145 }
6146 if ( ok )
6147 {
6148 return v;
6149 }
6150 else
6151 {
6152 // if conversion has failed, try with conversion from int value
6153 if ( tryValueAsKey )
6154 {
6155 bool canConvert = false;
6156 const int intValue = keys.toInt( &canConvert );
6157 if ( canConvert )
6158 {
6159 const QByteArray keys = metaEnum.valueToKeys( intValue );
6160 const int intValueCheck = metaEnum.keysToValue( keys );
6161 if ( intValue == intValueCheck )
6162 {
6163 if ( returnOk )
6164 {
6165 *returnOk = true;
6166 }
6167 return T( intValue );
6168 }
6169 }
6170 }
6171 }
6172 return defaultValue;
6173}
6174
6175
6184CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
6185
6194CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
6195
6205CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
6206
6216CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
6217
6226CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
6227
6234CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
6235
6236#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
6237
6244inline bool operator> ( const QVariant &v1, const QVariant &v2 )
6245{
6246 return qgsVariantGreaterThan( v1, v2 );
6247}
6248
6258inline bool operator< ( const QVariant &v1, const QVariant &v2 )
6259{
6260 return qgsVariantLessThan( v1, v2 );
6261}
6262#endif
6263
6264
6265#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
6266
6270template<> CORE_EXPORT bool qMapLessThanKey<QVariantList>( const QVariantList &key1, const QVariantList &key2 ) SIP_SKIP;
6271#endif
6272
6273CORE_EXPORT QString qgsVsiPrefix( const QString &path );
6274
6280void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
6281
6286void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
6287
6288#ifndef SIP_RUN
6289
6290#ifdef _MSC_VER
6291#define CONSTLATIN1STRING inline const QLatin1String
6292#else
6293#define CONSTLATIN1STRING constexpr QLatin1String
6294#endif
6295
6297class ScopedIntIncrementor
6298{
6299 public:
6300
6301 ScopedIntIncrementor( int *variable )
6302 : mVariable( variable )
6303 {
6304 ( *mVariable )++;
6305 }
6306
6307 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
6308 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
6309
6310 void release()
6311 {
6312 if ( mVariable )
6313 ( *mVariable )--;
6314
6315 mVariable = nullptr;
6316 }
6317
6318 ~ScopedIntIncrementor()
6319 {
6320 release();
6321 }
6322
6323 private:
6324 int *mVariable = nullptr;
6325};
6327
6333{
6334 return QLatin1String(
6335 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]] )"""
6336 );
6337}
6338
6341{
6342 return QLatin1String( "+proj=longlat +datum=WGS84 +no_defs" );
6343}
6344
6347{
6348 return QLatin1String( "EPSG:4326" );
6349}
6350
6353{
6354 return QLatin1String( "NONE" );
6355}
6356
6358
6360const int PREVIEW_JOB_DELAY_MS = 250;
6361
6363const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
6364
6366
6367#endif
6368
6370const long GEOSRID = 4326;
6371
6373const long GEOCRS_ID = 3452;
6374
6376const long GEO_EPSG_CRS_ID = 4326;
6377
6382const int USER_CRS_START_ID = 100000;
6383
6384//
6385// Constants for point symbols
6386//
6387
6389const double DEFAULT_POINT_SIZE = 2.0;
6390const double DEFAULT_LINE_WIDTH = 0.26;
6391
6393const double DEFAULT_SEGMENT_EPSILON = 1e-8;
6394
6395typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
6396
6405typedef unsigned long long qgssize;
6406
6407#ifndef SIP_RUN
6408#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
6409
6410#define Q_NOWARN_DEPRECATED_PUSH \
6411 _Pragma("GCC diagnostic push") \
6412 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
6413#define Q_NOWARN_DEPRECATED_POP \
6414 _Pragma("GCC diagnostic pop");
6415#define Q_NOWARN_UNREACHABLE_PUSH
6416#define Q_NOWARN_UNREACHABLE_POP
6417
6418#elif defined(_MSC_VER)
6419
6420#define Q_NOWARN_DEPRECATED_PUSH \
6421 __pragma(warning(push)) \
6422 __pragma(warning(disable:4996))
6423#define Q_NOWARN_DEPRECATED_POP \
6424 __pragma(warning(pop))
6425#define Q_NOWARN_UNREACHABLE_PUSH \
6426 __pragma(warning(push)) \
6427 __pragma(warning(disable:4702))
6428#define Q_NOWARN_UNREACHABLE_POP \
6429 __pragma(warning(pop))
6430
6431#else
6432
6433#define Q_NOWARN_DEPRECATED_PUSH
6434#define Q_NOWARN_DEPRECATED_POP
6435#define Q_NOWARN_UNREACHABLE_PUSH
6436#define Q_NOWARN_UNREACHABLE_POP
6437
6438#endif
6439#endif
6440
6441#ifndef QGISEXTERN
6442#ifdef Q_OS_WIN
6443# define QGISEXTERN extern "C" __declspec( dllexport )
6444#else
6445# if defined(__GNUC__) || defined(__clang__)
6446# define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
6447# else
6448# define QGISEXTERN extern "C"
6449# endif
6450#endif
6451#endif
6452#endif
6453
6454// see https://infektor.net/posts/2017-01-19-using-cpp17-attributes-today.html#using-the-nodiscard-attribute
6455#if __cplusplus >= 201703L
6456#define NODISCARD [[nodiscard]]
6457#elif defined(__clang__)
6458#define NODISCARD [[nodiscard]]
6459#elif defined(_MSC_VER)
6460#define NODISCARD // no support
6461#elif defined(__has_cpp_attribute)
6462#if __has_cpp_attribute(nodiscard)
6463#define NODISCARD [[nodiscard]]
6464#elif __has_cpp_attribute(gnu::warn_unused_result)
6465#define NODISCARD [[gnu::warn_unused_result]]
6466#else
6467#define NODISCARD Q_REQUIRED_RESULT
6468#endif
6469#else
6470#define NODISCARD Q_REQUIRED_RESULT
6471#endif
6472
6473#if __cplusplus >= 201703L
6474#define MAYBE_UNUSED [[maybe_unused]]
6475#elif defined(__clang__)
6476#define MAYBE_UNUSED [[maybe_unused]]
6477#elif defined(_MSC_VER)
6478#define MAYBE_UNUSED // no support
6479#elif defined(__has_cpp_attribute)
6480#if __has_cpp_attribute(gnu::unused)
6481#define MAYBE_UNUSED [[gnu::unused]]
6482#else
6483#define MAYBE_UNUSED
6484#endif
6485#else
6486#define MAYBE_UNUSED
6487#endif
6488
6489#ifndef FINAL
6490#define FINAL final
6491#endif
6492
6493#ifndef SIP_RUN
6494#ifdef _MSC_VER
6495#define BUILTIN_UNREACHABLE \
6496 __assume(false);
6497#elif defined(__GNUC__) && !defined(__clang__)
6498// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
6499// like:
6500// switch( mVariableThatCanOnlyBeXorY )
6501// {
6502// case X:
6503// return "foo";
6504// case Y:
6505// return "foo";
6506// }
6507// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
6508#define BUILTIN_UNREACHABLE \
6509 __builtin_unreachable();
6510#else
6511#define BUILTIN_UNREACHABLE
6512#endif
6513#endif // SIP_RUN
6514
6515#ifdef SIP_RUN
6516
6521QString CORE_EXPORT geoWkt();
6522
6524QString CORE_EXPORT geoProj4();
6525
6527QString CORE_EXPORT geoEpsgCrsAuthId();
6528
6530QString CORE_EXPORT geoNone();
6531
6532#endif
The Qgis class provides global constants for use throughout the application.
Definition qgis.h:54
DistanceUnitType
Types of distance units.
Definition qgis.h:4687
GnssConstellation
GNSS constellation.
Definition qgis.h:1751
SettingsOption
Settings options.
Definition qgis.h:688
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition qgis.h:3892
ProcessingSourceType
Processing data source types.
Definition qgis.h:3241
GpsQualityIndicator
GPS signal quality indicator.
Definition qgis.h:1769
DataItemProviderCapability
Capabilities for data item providers.
Definition qgis.h:910
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3480
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
Definition qgis.h:2612
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:3976
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
Definition qgis.h:1864
MapToolUnit
Type of unit of tolerance value from settings.
Definition qgis.h:4593
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:3085
ProcessingModelChildAlgorithmExecutionStatus
Reflects the status of a child algorithm in a Processing model.
Definition qgis.h:3555
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
Definition qgis.h:1831
ScaleBarDistanceLabelHorizontalPlacement
Scale bar distance label horizontal placement.
Definition qgis.h:4908
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:3920
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
Definition qgis.h:750
GeometryValidityFlag
Geometry validity check flags.
Definition qgis.h:1918
QFlags< RasterProviderCapability > RasterProviderCapabilities
Raster data provider capabilities.
Definition qgis.h:4518
ExpressionType
Expression types.
Definition qgis.h:5075
MapLayerActionFlag
Map layer action flags.
Definition qgis.h:4286
ScaleBarDistanceLabelVerticalPlacement
Scale bar distance label vertical placement.
Definition qgis.h:4894
MapLayerProperty
Generic map layer properties.
Definition qgis.h:2113
VectorProviderCapability
Vector data provider capabilities.
Definition qgis.h:463
BufferSide
Side of line to buffer.
Definition qgis.h:1943
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1380
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
Definition qgis.h:4275
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
Definition qgis.h:5121
AltitudeClamping
Altitude clamping.
Definition qgis.h:3669
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:5103
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:2412
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
Definition qgis.h:1319
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
Definition qgis.h:4017
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1206
CoordinateDisplayType
Formats for displaying coordinates.
Definition qgis.h:4125
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3428
QFlags< VectorRenderingSimplificationFlag > VectorRenderingSimplificationFlags
Simplification flags for vector feature rendering.
Definition qgis.h:2811
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:3058
GpsFixStatus
GPS fix status.
Definition qgis.h:1736
AnnotationItemNodeType
Annotation item node types.
Definition qgis.h:2339
static const char * QGIS_DEV_VERSION
The development version.
Definition qgis.h:82
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1004
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
Definition qgis.h:2556
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
Definition qgis.h:2249
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
Definition qgis.h:1404
AngularDirection
Angular directions.
Definition qgis.h:3173
DriveType
Drive types.
Definition qgis.h:1057
UnitType
Unit types.
Definition qgis.h:4608
ContentStatus
Status for fetched or stored content.
Definition qgis.h:1692
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
Definition qgis.h:1654
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition qgis.h:713
LayoutUnit
Layout measurement units.
Definition qgis.h:4815
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:4078
Q_ENUM(GnssConstellation)
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:2896
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Definition qgis.h:3995
Point3DShape
3D point shape types.
Definition qgis.h:3811
GeometryOperationResult
Success or failure of a geometry operation.
Definition qgis.h:1889
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
Definition qgis.h:5457
BrowserItemState
Browser item states.
Definition qgis.h:872
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:5016
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
Definition qgis.h:5164
FeatureRequestFilterType
Types of feature request filters.
Definition qgis.h:2056
MarkerClipMode
Marker clipping modes.
Definition qgis.h:3016
GpsNavigationStatus
GPS navigation status.
Definition qgis.h:1789
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:2296
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:2820
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Definition qgis.h:3570
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Definition qgis.h:2147
Statistic
Available generic statistics.
Definition qgis.h:5375
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:733
AngleUnit
Units of angles.
Definition qgis.h:4750
CaptureTechnique
Capture technique.
Definition qgis.h:376
SpatialIndexPresence
Enumeration of spatial index presence states.
Definition qgis.h:522
BrowserItemCapability
Browser item capabilities.
Definition qgis.h:885
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition qgis.h:5046
QFlags< AuthConfigurationStorageCapability > AuthConfigurationStorageCapabilities
Authentication configuration storage capabilities.
Definition qgis.h:145
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition qgis.h:4218
LayerTreeInsertionMethod
Layer tree insertion methods.
Definition qgis.h:4195
RasterProviderCapability
Raster data provider capabilities.
Definition qgis.h:4498
LineClipMode
Line clipping modes.
Definition qgis.h:3030
VectorRenderingSimplificationFlag
Simplification flags for vector feature rendering.
Definition qgis.h:2796
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
Definition qgis.h:1922
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition qgis.h:959
VsiHandlerType
GDAL VSI handler types.
Definition qgis.h:5277
SettingsTreeNodeType
Type of tree node.
Definition qgis.h:618
TilePixelRatio
DpiMode enum.
Definition qgis.h:3113
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:4953
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition qgis.h:1172
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
Definition qgis.h:3898
LabelPrioritization
Label prioritization.
Definition qgis.h:1111
GradientColorSource
Gradient color sources.
Definition qgis.h:2945
FileFilterType
Type of file filters.
Definition qgis.h:1285
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:1125
RasterLayerType
Raster layer types.
Definition qgis.h:4375
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
Definition qgis.h:395
ScaleBarAlignment
Scalebar alignment.
Definition qgis.h:4865
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:4414
VectorExportResult
Vector layer export result codes.
Definition qgis.h:983
DistanceUnit
Units of distance.
Definition qgis.h:4625
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:2483
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition qgis.h:814
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:2989
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
Definition qgis.h:2329
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1231
ScaleMethod
Scale methods.
Definition qgis.h:588
SldExportOption
SLD export options.
Definition qgis.h:660
VectorSimplificationAlgorithm
Simplification algorithms for vector features.
Definition qgis.h:2780
FilePathType
File path types.
Definition qgis.h:1523
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:3761
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:5061
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:3004
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
Definition qgis.h:675
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:4208
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:5031
FeatureRequestFlag
Flags for controlling feature requests.
Definition qgis.h:2028
VertexType
Types of vertex.
Definition qgis.h:2833
ShaderInterpolationMethod
Color ramp shader interpolation methods.
Definition qgis.h:1335
DataProviderFlag
Generic data provider flags.
Definition qgis.h:2141
Q_ENUM(GpsNavigationStatus)
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg)
Definition qgis.h:5255
GeometryValidationEngine
Available engines for validating geometries.
Definition qgis.h:1931
TransactionMode
Transaction mode.
Definition qgis.h:3656
Q_ENUM(ScaleToTileZoomLevelMethod)
QFlags< FeatureRendererFlag > FeatureRendererFlags
Flags controlling behavior of vector feature renderers.
Definition qgis.h:772
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:4527
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:4391
GeosCreationFlag
Flags which control geos geometry creation behavior.
Definition qgis.h:1981
GpsInformationComponent
GPS information component.
Definition qgis.h:1803
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:3199
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3267
FileOperationFlag
File operation flags.
Definition qgis.h:2098
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
Definition qgis.h:926
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:4007
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
Definition qgis.h:1849
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Definition qgis.h:821
QFlags< RasterInterfaceCapability > RasterInterfaceCapabilities
Raster interface capabilities.
Definition qgis.h:4485
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
Definition qgis.h:4309
TemporalNavigationMode
Temporal navigation modes.
Definition qgis.h:2366
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:3508
AreaUnit
Units of area.
Definition qgis.h:4702
StringStatistic
Available string statistics.
Definition qgis.h:5437
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:3615
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:5293
MessageLevel
Level for messages This will be used both for message log and message bar in application.
Definition qgis.h:154
SqlKeywordCategory
SqlKeywordCategory enum represents the categories of the SQL keywords used by the SQL query editor.
Definition qgis.h:1039
QFlags< SnappingType > SnappingTypes
Snapping types.
Definition qgis.h:724
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:3073
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1221
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
Definition qgis.h:5173
TextLayoutMode
Text layout modes.
Definition qgis.h:2697
PropertyType
Property types.
Definition qgis.h:646
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2590
LayerFilter
Filter for layers.
Definition qgis.h:188
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
Definition qgis.h:1323
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition qgis.h:1394
PythonEmbeddedMode
Authorisation to run Python Embedded in projects.
Definition qgis.h:403
CrsType
Coordinate reference system types.
Definition qgis.h:2159
QFlags< GeosCreationFlag > GeosCreationFlags
Geos geometry creation behavior flags.
Definition qgis.h:1992
SensorThingsEntity
OGC SensorThings API entity types.
Definition qgis.h:5493
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1506
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:3598
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:4045
RasterFileWriterResult
Raster file export results.
Definition qgis.h:1489
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition qgis.h:2351
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
Definition qgis.h:3349
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:3212
ActionType
Action types.
Definition qgis.h:4245
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:1074
PlaybackOperation
Media playback operations.
Definition qgis.h:2395
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
Definition qgis.h:844
QFlags< TextRendererFlag > TextRendererFlags
Definition qgis.h:3152
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:4967
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:3947
MarkerShape
Marker shapes.
Definition qgis.h:2847
LegendJsonRenderFlag
Legend JSON export flags.
Definition qgis.h:4230
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:4542
RasterElevationMode
Raster layer elevation modes.
Definition qgis.h:3708
Capitalization
String capitalization options.
Definition qgis.h:3130
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:2468
PictureFormat
Picture formats.
Definition qgis.h:4849
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1243
LabelQuadrantPosition
Label quadrant positions.
Definition qgis.h:1186
QFlags< PlotToolFlag > PlotToolFlags
Definition qgis.h:3799
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:3161
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition qgis.h:1302
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1014
TextOrientation
Text orientations.
Definition qgis.h:2682
TemporalUnit
Temporal units.
Definition qgis.h:4771
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
Definition qgis.h:1425
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
Definition qgis.h:801
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:1086
CrsDefinitionFormat
CRS definition formats.
Definition qgis.h:3583
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:2085
QFlags< ProcessingParameterTypeFlag > ProcessingParameterTypeFlags
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3443
TileAvailability
Possible availability states for a tile within a tile matrix.
Definition qgis.h:5140
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:3779
FeatureRendererFlag
Flags controlling behavior of vector feature renderers.
Definition qgis.h:762
BrowserItemType
Browser item types.
Definition qgis.h:853
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
Definition qgis.h:2045
SettingsType
Types of settings entries.
Definition qgis.h:599
QFlags< SettingsOption > SettingsOptions
Definition qgis.h:693
RasterTemporalMode
Raster layer temporal modes.
Definition qgis.h:2453
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1463
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:2637
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:337
RelationshipType
Relationship types.
Definition qgis.h:4064
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:4174
RasterInterfaceCapability
Raster interface capabilities.
Definition qgis.h:4465
JoinStyle
Join styles for buffers.
Definition qgis.h:1968
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:3932
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
Definition qgis.h:5484
ProcessingAlgorithmDocumentationFlag
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3326
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:2765
FieldDuplicatePolicy
Duplicate policy for fields.
Definition qgis.h:3630
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:4982
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Definition qgis.h:2103
DpiMode
DpiMode enum.
Definition qgis.h:3099
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition qgis.h:935
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3317
AltitudeBinding
Altitude binding.
Definition qgis.h:3682
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:5233
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:4260
ShaderClassificationMethod
Color ramp shader classification methods.
Definition qgis.h:1350
ZonalStatisticResult
Zonal statistics result codes.
Definition qgis.h:5325
ScriptLanguage
Scripting languages.
Definition qgis.h:4151
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
Definition qgis.h:899
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
Definition qgis.h:541
TiledSceneProviderCapability
Tiled scene data provider capabilities.
Definition qgis.h:5154
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:1269
RasterBandStatistic
Available raster band statistics.
Definition qgis.h:5466
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
Definition qgis.h:5131
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:5316
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:2440
TextRenderFormat
Options for rendering text.
Definition qgis.h:2623
DataType
Raster data types.
Definition qgis.h:351
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
Definition qgis.h:3204
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition qgis.h:1309
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:4578
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
Definition qgis.h:1434
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition qgis.h:3854
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
Definition qgis.h:2525
RelationshipCapability
Relationship capabilities.
Definition qgis.h:4104
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:4429
QFlags< VectorProviderCapability > VectorProviderCapabilities
Vector data provider capabilities.
Definition qgis.h:500
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:3842
LinearReferencingPlacement
Defines how/where the labels should be placed in a linear referencing symbol layer.
Definition qgis.h:2916
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:5201
LayerType
Types of layers that can be added to a map.
Definition qgis.h:169
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
Definition qgis.h:2302
FieldOrigin
Field origin.
Definition qgis.h:1551
LinearReferencingLabelSource
Defines what quantity to use for the labels shown in a linear referencing symbol layer.
Definition qgis.h:2930
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
Definition qgis.h:5403
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition qgis.h:3795
RenderUnit
Rendering size units.
Definition qgis.h:4795
CoordinateOrder
Order of coordinates.
Definition qgis.h:2234
SelectionFlag
Flags which control feature selection behavior.
Definition qgis.h:1644
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
Definition qgis.h:635
EndCapStyle
End cap styles for buffers.
Definition qgis.h:1955
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
Definition qgis.h:5224
QFlags< MapLayerActionFlag > MapLayerActionFlags
Map layer action flags.
Definition qgis.h:4298
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
Definition qgis.h:2118
QFlags< LoadStyleFlag > LoadStyleFlags
Flags for loading layer styles.
Definition qgis.h:225
BabelCommandFlag
Babel command flags, which control how commands and arguments are generated for executing GPSBabel pr...
Definition qgis.h:1860
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
Definition qgis.h:2657
FieldDomainType
Types of field domain.
Definition qgis.h:3643
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2600
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2566
RasterPipeInterfaceRole
Raster pipe interface roles.
Definition qgis.h:1363
CoverageValidityResult
Coverage validity results.
Definition qgis.h:2001
DataProviderReadFlag
Flags which control data provider construction.
Definition qgis.h:431
ScaleBarSegmentSizeMode
Modes for setting size for scale bar segments.
Definition qgis.h:4880
Aggregate
Available aggregates to calculate.
Definition qgis.h:5343
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
Definition qgis.h:796
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
Definition qgis.h:2325
MapBoxGlStyleSourceType
Available MapBox GL style source types.
Definition qgis.h:4026
LayoutUnitType
Types of layout units.
Definition qgis.h:4835
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:3043
FieldMetadataProperty
Standard field metadata values.
Definition qgis.h:1592
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:5214
RasterRendererCapability
Raster renderer capabilities.
Definition qgis.h:1415
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition qgis.h:1680
HistoryProviderBackend
History provider backends.
Definition qgis.h:3225
RasterExportType
Raster file export types.
Definition qgis.h:1476
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition qgis.h:1535
TextVerticalAlignment
Text vertical alignment.
Definition qgis.h:2749
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:4090
GradientType
Gradient types.
Definition qgis.h:2959
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
Definition qgis.h:4186
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:3880
GpsFeatureType
GPS feature types.
Definition qgis.h:1874
VectorLayerTypeFlag
Vector layer type flags.
Definition qgis.h:390
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition qgis.h:2014
RangeLimits
Describes how the limits of a range are handled.
Definition qgis.h:3694
QFlags< ProjectFlag > ProjectFlags
Definition qgis.h:3786
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:2428
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3469
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
Definition qgis.h:1022
VectorEditResult
Specifies the result of a vector layer edit operation.
Definition qgis.h:1665
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:566
Axis
Cartesian axes.
Definition qgis.h:2283
QFlags< ProcessingAlgorithmDocumentationFlag > ProcessingAlgorithmDocumentationFlags
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3337
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
Definition qgis.h:4116
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:741
VolumeUnit
Units of volume.
Definition qgis.h:4727
AttributeEditorType
Attribute editor types.
Definition qgis.h:4997
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
Definition qgis.h:4234
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
Definition qgis.h:4973
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
Definition qgis.h:834
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:2072
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition qgis.h:787
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3391
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:3907
MeshElevationMode
Mesh layer elevation modes.
Definition qgis.h:3722
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:3962
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:4345
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:3867
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:2668
Q_ENUM(ProcessingAlgorithmFlag)
ColorModel
Color model types.
Definition qgis.h:5513
RendererUsage
Usage of the renderer.
Definition qgis.h:3186
SettingsTreeNodeOption
Options for named list nodes.
Definition qgis.h:630
BabelFormatCapability
Babel GPS format capabilities.
Definition qgis.h:1841
PostgresRelKind
Postgres database relkind options.
Definition qgis.h:4932
GpsConnectionType
GPS connection types.
Definition qgis.h:1707
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
Definition qgis.h:4958
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
Definition qgis.h:3378
LoadStyleFlag
Flags for loading layer styles.
Definition qgis.h:215
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:3735
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
Definition qgis.h:5113
MetadataDateType
Date types for metadata.
Definition qgis.h:4327
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
Definition qgis.h:2493
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3402
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:4444
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:2730
SymbolFlag
Flags controlling behavior of symbols.
Definition qgis.h:781
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition qgis.h:3748
HttpMethod
Different methods of HTTP requests.
Definition qgis.h:971
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:256
QFlags< SldExportOption > SldExportOptions
Definition qgis.h:666
SymbolCoordinateReference
Symbol coordinate reference modes.
Definition qgis.h:2974
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3280
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:5189
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
Definition qgis.h:5428
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1605
InputControllerType
Input controller types.
Definition qgis.h:4920
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:3148
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1632
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:2184
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:3539
QFlags< MarkerLinePlacement > MarkerLinePlacements
Definition qgis.h:2907
CrsWktVariant
Coordinate reference system WKT formatting variants.
Definition qgis.h:2264
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:5246
AutoRefreshMode
Map layer automatic refresh modes.
Definition qgis.h:2128
AnnotationPlacementMode
Annotation item placement modes.
Definition qgis.h:2312
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3291
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1568
SettingsOrigin
The setting origin describes where a setting is stored.
Definition qgis.h:4138
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3454
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:1098
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:5090
QFlags< LayerFilter > LayerFilters
Definition qgis.h:206
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:3526
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:2514
TextComponent
Text components.
Definition qgis.h:2714
DateTimeStatistic
Available date/time statistics.
Definition qgis.h:5412
AnimationState
Animation states.
Definition qgis.h:2382
TransformDirection
Indicates the direction (forward or inverse) of a transform.
Definition qgis.h:2502
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:3830
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3414
QFlags< HistoryProviderBackend > HistoryProviderBackends
Definition qgis.h:3230
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition qgis.h:1146
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1583
UpsideDownLabelHandling
Handling techniques for upside down labels.
Definition qgis.h:1254
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:1721
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3494
MapSettingsFlag
Flags which adjust the way maps are rendered.
Definition qgis.h:2534
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
Definition qgis.h:1030
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
Definition qgis.h:3363
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1618
Utility class that encapsulates an action based on vector attributes.
Definition qgsaction.h:37
Utility class for calculating aggregates for a field (or expression) over the features from a vector ...
Utility functions for working with ArcGIS REST services.
This is an abstract base class for any elements of a drag and drop form.
A ramp shader will color a raster pixel based on a list of values ranges in a ramp.
This class represents a coordinate reference system (CRS).
Class for doing transforms between two map coordinate systems.
Abstract base class for curved geometry type.
Definition qgscurve.h:35
Base class for all items in the model.
Definition qgsdataitem.h:46
Abstract base class for spatial data provider implementations.
Calculator for summary statistics and aggregates for a list of datetimes.
Contains configuration settings for an editor form.
This class wraps a request for features to a vector layer (or directly its vector data provider).
An interface for objects which provide features via a getFeatures method.
Container of fields for a vector layer.
Definition qgsfields.h:46
A geometry is the spatial representation of a feature.
Encapsulates information relating to a GPS position fix.
A fill symbol layer which draws a smooth color gradient over a polygon.
A vector feature renderer which uses numeric attributes to classify features into different ranges.
Stores global configuration for labeling engine.
Contains constants and enums relating to labeling.
Definition qgslabeling.h:32
Item that represents a layer that can be opened with one of the providers.
A layout item subclass that displays SVG files or raster format images (jpg, png, ....
The QgsMapLayerProxyModel class provides an easy to use model to display the list of layers in widget...
Base class for all map layer types.
Definition qgsmaplayer.h:76
The QgsMapSettings class contains configuration for rendering of the map.
Registry for temporary fetched files.
Contains miscellaneous painting utility functions.
Definition qgspainting.h:32
Contains settings for how a map layer will be labeled.
Abstract base class for 2d point cloud renderers.
Abstract base class for processing algorithms.
Contains information about the context in which a processing algorithm is executed.
Encapsulates settings relating to a feature source input to a processing algorithm.
QgsFeatureSource subclass which proxies methods to an underlying QgsFeatureSource,...
A datetime (or pure date or time) parameter for processing algorithms.
Base class for the definition of processing parameters.
A vector layer or feature source field parameter for processing algorithms.
An input file or folder parameter for processing algorithms.
A numeric parameter for processing algorithms.
A parameter for processing algorithms that need a list of input vector layers to construct a TIN.
Makes metadata of processing parameters available.
Abstract base class for processing providers.
Contains enumerations and other constants for use in processing algorithms and parameters.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition qgsproject.h:107
A store for object properties.
Holds data provider key, description, and associated shared library file or function pointer informat...
A fill symbol layer which places markers at random locations within polygons.
The RasterBandStats struct is a container for statistics about a single raster band.
Implementation of data provider temporal properties for QgsRasterDataProviders.
Base class for raster data providers.
The raster file writer which allows you to save a raster to a new file.
Base class for processing filters like renderers, reprojector, resampler etc.
Implementation of map layer temporal properties for raster layers.
Represents a raster layer.
Contains a pipeline of raster interfaces for sequential raster processing.
Raster namespace.
Definition qgsraster.h:32
Represents a relationship between two vector layers.
Definition qgsrelation.h:44
Contains information about the context of a rendering operation.
The QgsScaleBarSettings class stores the appearance and layout settings for scalebar drawing with Qgs...
Represent settings entry and provides methods for reading and writing settings values.
RAII signal blocking class.
Definition qgis.h:5721
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:5739
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:5728
Abstract base class for simple marker symbol layers.
This is a container for configuration of the snapping of the project.
Calculator for summary statistics for a list of doubles.
Calculator for summary statistics and aggregates for a list of strings.
Utility functions for working with strings.
Contains utility functions for working with symbols and symbol layers.
Abstract base class for all rendered symbols.
Definition qgssymbol.h:231
Base class for templated line symbols, e.g.
Implements a temporal controller based on a frame by frame navigation and animation.
Container for all settings relating to text rendering.
Handles rendering text using rich formatting options, including drop shadows, buffers and background ...
This is the class is providing tolerance value in map unit values.
Helper functions for various unit types.
Implementation of data provider temporal properties for QgsVectorDataProviders.
This is the base class for vector data providers.
A convenience class for writing vector layers to disk based formats (e.g.
A convenience class for exporting vector layers to a destination data provider.
Implementation of map layer temporal properties for vector layers.
Represents a vector layer which manages a vector based data sets.
This class contains information how to simplify geometries fetched from a vector layer.
Handles storage of information regarding WKB types and their properties.
Definition qgswkbtypes.h:42
FeatureCountState
Enumeration of feature count states.
Definition qgis.h:509
@ Points
Point based rendering, requires point data.
As part of the API refactoring and improvements which landed in QGIS
void * qgsMalloc(size_t size)
Allocates size bytes and returns a pointer to the allocated memory.
Definition qgis.cpp:93
qlonglong qgsPermissiveToLongLong(QString string, bool &ok)
Converts a string to an qlonglong in a permissive way, e.g., allowing for incorrect numbers of digits...
Definition qgis.cpp:86
bool qgsVariantEqual(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether they are equal, two NULL values are always treated a...
Definition qgis.cpp:247
uint qHash(const QVariant &variant)
Hash for QVariant.
Definition qgis.cpp:198
double qgsPermissiveToDouble(QString string, bool &ok)
Converts a string to a double in a permissive way, e.g., allowing for incorrect numbers of digits bet...
Definition qgis.cpp:72
int qgsPermissiveToInt(QString string, bool &ok)
Converts a string to an integer in a permissive way, e.g., allowing for incorrect numbers of digits b...
Definition qgis.cpp:79
void qgsFree(void *ptr)
Frees the memory space pointed to by ptr.
Definition qgis.cpp:115
#define str(x)
Definition qgis.cpp:38
QString qgsVsiPrefix(const QString &path)
Definition qgis.cpp:193
bool qgsVariantLessThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is less than the second.
Definition qgis.cpp:120
bool qgsVariantGreaterThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is greater than the second.
Definition qgis.cpp:188
CONSTLATIN1STRING geoNone()
Constant that holds the string representation for "No ellips/No CRS".
Definition qgis.h:6352
const double DEFAULT_LINE_WIDTH
Definition qgis.h:6390
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:6244
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:6067
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:5774
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:5931
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:6048
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:6106
const long GEO_EPSG_CRS_ID
Magic number for a geographic coord sys in EpsgCrsId ID format.
Definition qgis.h:6376
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:5914
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:6128
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:6405
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:6031
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference)
Definition qgis.h:5868
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:5948
const QList< T > qgsEnumList()
Returns a list all enum entries.
Definition qgis.h:6014
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:5898
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
Definition qgis.h:5857
CONSTLATIN1STRING geoProj4()
PROJ4 string that represents a geographic coord sys.
Definition qgis.h:6340
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:5819
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:5761
const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition qgis.h:6393
QMap< QString, QString > QgsStringMap
Definition qgis.h:6395
#define CONSTLATIN1STRING
Definition qgis.h:6293
CONSTLATIN1STRING geoWkt()
Wkt string that represents a geographic coord sys.
Definition qgis.h:6332
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:5874
const int USER_CRS_START_ID
Magick number that determines whether a projection crsid is a system (srs.db) or user (~/....
Definition qgis.h:6382
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:5839
const long GEOSRID
Magic number for a geographic coord sys in POSTGIS SRID.
Definition qgis.h:6370
#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:6258
CONSTLATIN1STRING geoEpsgCrsAuthId()
Geographic coord sys from EPSG authority.
Definition qgis.h:6346
const long GEOCRS_ID
Magic number for a geographic coord sys in QGIS srs.db tbl_srs.srs_id.
Definition qgis.h:6373
const double DEFAULT_POINT_SIZE
Magic number that determines the default point size for point symbols.
Definition qgis.h:6389
#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