QGIS API Documentation 4.1.0-Master (376402f9aeb)
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 <cfloat>
23#include <cmath>
24#include <memory>
25
26#include "qgis_core.h"
27#include "qgis_sip.h"
28
29#include <QMetaEnum>
30#include <QString>
31#include <QTimeZone>
32
33using namespace Qt::StringLiterals;
34
35#ifdef SIP_RUN
36// clang-format off
37% ModuleHeaderCode
38#include <qgis.h>
39% End
40
41% ModuleCode
42int QgisEvent = QEvent::User + 1;
43% End
44// clang-format on
45#endif
46
47#ifndef SIP_RUN
48// qHash implementation for scoped enum type
49// https://gitlab.com/frostasm/programming-knowledge-base/-/snippets/20120
50#define QHASH_FOR_CLASS_ENUM( T ) \
51 inline uint qHash( const T &t, uint seed ) \
52 { \
53 return ::qHash( static_cast<typename std::underlying_type<T>::type>( t ), seed ); \
54 }
55#endif
56
61 class CORE_EXPORT Qgis
62{
63 Q_GADGET
64 Q_CLASSINFO( "RegisterEnumClassesUnscoped", "false" )
65
66 public:
72 static QString version();
73
79 static int versionInt();
80
86 static QString releaseName();
87
89 static const char *QGIS_DEV_VERSION;
90
96 static QString devVersion();
97
98 // Enumerations
99 //
100
107 {
108 ClearStorage = 1 << 0,
109
110 ReadConfiguration = 1 << 1,
111 UpdateConfiguration = 1 << 2,
112 DeleteConfiguration = 1 << 3,
113 CreateConfiguration = 1 << 4,
114
115 ReadCertificateIdentity = 1 << 5,
116 UpdateCertificateIdentity = 1 << 6,
117 DeleteCertificateIdentity = 1 << 7,
118 CreateCertificateIdentity = 1 << 8,
119
120 ReadSslCertificateCustomConfig = 1 << 9,
121 UpdateSslCertificateCustomConfig = 1 << 10,
122 DeleteSslCertificateCustomConfig = 1 << 11,
123 CreateSslCertificateCustomConfig = 1 << 12,
124
125 ReadCertificateAuthority = 1 << 13,
126 UpdateCertificateAuthority = 1 << 14,
127 DeleteCertificateAuthority = 1 << 15,
128 CreateCertificateAuthority = 1 << 16,
129
130 ReadCertificateTrustPolicy = 1 << 17,
131 UpdateCertificateTrustPolicy = 1 << 18,
132 DeleteCertificateTrustPolicy = 1 << 19,
133 CreateCertificateTrustPolicy = 1 << 20,
134
135 ReadMasterPassword = 1 << 21,
136 UpdateMasterPassword = 1 << 22,
137 DeleteMasterPassword = 1 << 23,
138 CreateMasterPassword = 1 << 24,
139
140 ReadSetting = 1 << 25,
141 UpdateSetting = 1 << 26,
142 DeleteSetting = 1 << 27,
143 CreateSetting = 1 << 28,
144
145 };
146 Q_ENUM( AuthConfigurationStorageCapability )
147
148
154
160 {
161 Info = 0,
166 };
167 Q_ENUM( MessageLevel )
168
169
175 {
176 PlainText SIP_MONKEYPATCH_COMPAT_NAME( MessageText ),
177 Html SIP_MONKEYPATCH_COMPAT_NAME( MessageHtml ),
178 };
179 Q_ENUM( StringFormat )
180
181
186 enum class NetworkRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
187 {
188 DisableMessageLogging = 1 << 0,
189 };
190 Q_ENUM( NetworkRequestFlag )
191
192
198 Q_FLAG( NetworkRequestFlags )
199
206 {
207 Vector SIP_MONKEYPATCH_COMPAT_NAME( VectorLayer ),
208 Raster SIP_MONKEYPATCH_COMPAT_NAME( RasterLayer ),
209 Plugin SIP_MONKEYPATCH_COMPAT_NAME( PluginLayer ),
210 Mesh SIP_MONKEYPATCH_COMPAT_NAME( MeshLayer ),
211 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( VectorTileLayer ),
212 Annotation SIP_MONKEYPATCH_COMPAT_NAME( AnnotationLayer ),
213 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( PointCloudLayer ),
214 Group SIP_MONKEYPATCH_COMPAT_NAME( GroupLayer ),
215 TiledScene,
216 };
217 Q_ENUM( LayerType )
218
219
225 {
226 RasterLayer = 1,
227 NoGeometry = 2,
228 PointLayer = 4,
229 LineLayer = 8,
230 PolygonLayer = 16,
231 HasGeometry = PointLayer | LineLayer | PolygonLayer,
232 VectorLayer = NoGeometry | HasGeometry,
233 PluginLayer = 32,
234 WritableLayer = 64,
235 MeshLayer = 128,
236 VectorTileLayer = 256,
237 PointCloudLayer = 512,
238 AnnotationLayer = 1024,
239 TiledSceneLayer = 2048,
240 All = RasterLayer | VectorLayer | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer,
241 SpatialLayer = RasterLayer | HasGeometry | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer
242 };
243 Q_DECLARE_FLAGS( LayerFilters, LayerFilter )
244 Q_FLAG( LayerFilters )
245
246
251 enum class LoadStyleFlag : int SIP_ENUM_BASETYPE( IntFlag )
252 {
253 IgnoreMissingStyleErrors
254 = 1 << 0,
255 };
256 Q_ENUM( LoadStyleFlag )
257
258
263 Q_DECLARE_FLAGS( LoadStyleFlags, LoadStyleFlag )
264 Q_FLAG( LoadStyleFlags )
265
294 {
295 Unknown = 0,
296 Point = 1,
297 LineString = 2,
298 Polygon = 3,
299 Triangle = 17,
300 MultiPoint = 4,
301 MultiLineString = 5,
302 MultiPolygon = 6,
303 GeometryCollection = 7,
304 CircularString = 8,
305 CompoundCurve = 9,
306 CurvePolygon = 10,
307 MultiCurve = 11,
308 MultiSurface = 12,
309 PolyhedralSurface = 15,
310 TIN = 16,
311 NurbsCurve = 21,
312 NoGeometry = 100,
313 PointZ = 1001,
314 LineStringZ = 1002,
315 PolygonZ = 1003,
316 TriangleZ = 1017,
317 MultiPointZ = 1004,
318 MultiLineStringZ = 1005,
319 MultiPolygonZ = 1006,
320 GeometryCollectionZ = 1007,
321 CircularStringZ = 1008,
322 CompoundCurveZ = 1009,
323 CurvePolygonZ = 1010,
324 MultiCurveZ = 1011,
325 MultiSurfaceZ = 1012,
326 PolyhedralSurfaceZ = 1015,
327 TINZ = 1016,
328 NurbsCurveZ = 1021,
329 PointM = 2001,
330 LineStringM = 2002,
331 PolygonM = 2003,
332 TriangleM = 2017,
333 MultiPointM = 2004,
334 MultiLineStringM = 2005,
335 MultiPolygonM = 2006,
336 GeometryCollectionM = 2007,
337 CircularStringM = 2008,
338 CompoundCurveM = 2009,
339 CurvePolygonM = 2010,
340 MultiCurveM = 2011,
341 MultiSurfaceM = 2012,
342 PolyhedralSurfaceM = 2015,
343 TINM = 2016,
344 NurbsCurveM = 2021,
345 PointZM = 3001,
346 LineStringZM = 3002,
347 PolygonZM = 3003,
348 MultiPointZM = 3004,
349 MultiLineStringZM = 3005,
350 MultiPolygonZM = 3006,
351 GeometryCollectionZM = 3007,
352 CircularStringZM = 3008,
353 CompoundCurveZM = 3009,
354 CurvePolygonZM = 3010,
355 MultiCurveZM = 3011,
356 MultiSurfaceZM = 3012,
357 PolyhedralSurfaceZM = 3015,
358 TINZM = 3016,
359 TriangleZM = 3017,
360 NurbsCurveZM = 3021,
361 Point25D = 0x80000001,
362 LineString25D,
363 Polygon25D,
364 MultiPoint25D,
365 MultiLineString25D,
366 MultiPolygon25D
367 };
368 Q_ENUM( WkbType )
369
370
379 {
380 Point SIP_MONKEYPATCH_COMPAT_NAME( PointGeometry ),
381 Line SIP_MONKEYPATCH_COMPAT_NAME( LineGeometry ),
382 Polygon SIP_MONKEYPATCH_COMPAT_NAME( PolygonGeometry ),
383 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownGeometry ),
384 Null SIP_MONKEYPATCH_COMPAT_NAME( NullGeometry ),
385 };
386 Q_ENUM( GeometryType )
387
388
393 {
394 UnknownDataType = 0,
395 Byte = 1,
396 Int8 = 14,
397 UInt16 = 2,
398 Int16 = 3,
399 UInt32 = 4,
400 Int32 = 5,
401 Float32 = 6,
402 Float64 = 7,
403 CInt16 = 8,
404 CInt32 = 9,
405 CFloat32 = 10,
406 CFloat64 = 11,
407 ARGB32 = 12,
408 ARGB32_Premultiplied = 13
409 };
410 Q_ENUM( DataType )
411
412
417 enum class CaptureTechnique : int
418 {
419 StraightSegments,
420 CircularString,
421 Streaming,
422 Shape,
423 PolyBezier,
424 NurbsCurve,
425 };
426 Q_ENUM( CaptureTechnique )
427
428
429
434 enum class VectorLayerTypeFlag : int SIP_ENUM_BASETYPE( IntFlag )
435 {
436 SqlQuery = 1 << 0
437 };
438 Q_ENUM( VectorLayerTypeFlag )
441 Q_FLAG( VectorLayerTypeFlags )
442
447 enum class EmbeddedScriptMode SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, PythonMacroMode ) : int
448 {
449 Never = 0,
450 Ask = 1,
451 SessionOnly = 2,
452 Always = 3,
453 NotForThisSession = 4,
454 NeverAsk = 5,
455 };
456 Q_ENUM( EmbeddedScriptMode )
457
458
462 enum class EmbeddedScriptType : int
463 {
464 Macro = 0,
465 ExpressionFunction = 1,
466 Action = 2,
467 FormInitCode = 3,
468 };
469 Q_ENUM( EmbeddedScriptType )
470
471
475 enum class ProjectTrustStatus : int
476 {
477 Undetermined = 0,
478 Trusted = 1,
479 Untrusted = 2,
480 };
481 Q_ENUM( ProjectTrustStatus )
482
483
491 {
492 TrustDataSource SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustDataSource )
493 = 1 << 0,
494 SkipFeatureCount = 1 << 1,
495 LoadDefaultStyle SIP_MONKEYPATCH_COMPAT_NAME( FlagLoadDefaultStyle ) = 1 << 2,
496 SkipGetExtent = 1 << 3,
497 SkipFullScan = 1 << 4,
498 ForceReadOnly = 1 << 5,
499 SkipCredentialsRequest
500 = 1 << 6,
501 ParallelThreadLoading = 1 << 7,
502 };
503 Q_ENUM( DataProviderReadFlag )
504
505
513 Q_FLAG( DataProviderReadFlags )
514
515 // TODO QGIS 5 -- remove NoCapabilities and rely on VectorProviderCapabilities() instead
516
525 {
526 NoCapabilities = 0,
527 AddFeatures = 1,
528 DeleteFeatures = 1 << 1,
529 ChangeAttributeValues = 1 << 2,
530 AddAttributes = 1 << 3,
531 DeleteAttributes = 1 << 4,
532 CreateSpatialIndex = 1 << 6,
533 SelectAtId = 1 << 7,
534 ChangeGeometries = 1 << 8,
535 SelectEncoding = 1 << 13,
536 CreateAttributeIndex = 1 << 12,
537 SimplifyGeometries = 1 << 14,
538 SimplifyGeometriesWithTopologicalValidation = 1 << 15,
539 TransactionSupport = 1 << 16,
540 CircularGeometries = 1 << 17,
541 ChangeFeatures = 1 << 18,
542 RenameAttributes = 1 << 19,
543 FastTruncate = 1 << 20,
544 ReadLayerMetadata = 1 << 21,
545 WriteLayerMetadata = 1 << 22,
546 CancelSupport = 1 << 23,
547 CreateRenderer = 1 << 24,
548 CreateLabeling = 1 << 25,
549 ReloadData = 1 << 26,
550 FeatureSymbology = 1 << 27,
551 CacheData = 1 << 28,
552 EditingCapabilities = AddFeatures | DeleteFeatures | ChangeAttributeValues | ChangeGeometries | AddAttributes | DeleteAttributes | RenameAttributes,
553 };
554 Q_ENUM( VectorProviderCapability )
555
556
565
572 {
573 Uncounted = -2,
574 UnknownCount = -1,
575 };
576 Q_ENUM( FeatureCountState )
577
578
585 {
586 Unknown SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexUnknown ) = 0,
587 NotPresent SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexNotPresent ) = 1,
588 Present SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexPresent ) = 2,
589 };
590 Q_ENUM( SpatialIndexPresence )
591
592
604 {
605 NoFeaturesAvailable = 0,
606 FeaturesAvailable,
607 FeaturesMaybeAvailable
608 };
609 Q_ENUM( FeatureAvailability )
610
611
617 {
618 EditAlias = 1 << 0,
619 EditComment = 1 << 1,
620 };
621
622 Q_ENUM( VectorDataProviderAttributeEditCapability )
623
624
631
637 {
638 Marker,
639 Line,
640 Fill,
641 Hybrid
642 };
643 Q_ENUM( SymbolType )
644
645
651 {
652 ScaleArea,
653 ScaleDiameter
654 };
655 Q_ENUM( ScaleMethod )
656
657
662 {
663 Custom,
664 Variant,
665 String,
666 StringList,
667 VariantMap,
668 Bool,
669 Integer,
670 Double,
671 EnumFlag,
672 Color
673 };
674 Q_ENUM( SettingsType )
675
676
681 {
682 Root,
683 Standard,
684 NamedList,
685 };
686 Q_ENUM( SettingsTreeNodeType )
687
688
692 enum class SettingsTreeNodeOption : int SIP_ENUM_BASETYPE( IntFlag )
693 {
694 NamedListSelectedItemSetting = 1 << 0,
695 };
696
697 Q_ENUM( SettingsTreeNodeOption )
700
709 {
710 Invalid SIP_MONKEYPATCH_COMPAT_NAME( InvalidProperty ),
711 Static SIP_MONKEYPATCH_COMPAT_NAME( StaticProperty ),
712 Field SIP_MONKEYPATCH_COMPAT_NAME( FieldBasedProperty ),
713 Expression SIP_MONKEYPATCH_COMPAT_NAME( ExpressionBasedProperty ),
714 };
715 Q_ENUM( PropertyType )
716
717
722 enum class SldExportOption : int SIP_ENUM_BASETYPE( IntFlag )
723 {
724 NoOptions = 0,
725 Svg = 1 << 0,
726 Png = 1 << 1,
727 };
728 Q_ENUM( SldExportOption )
730 Q_FLAG( SldExportOptions )
731
737 enum class SldExportVendorExtension : int SIP_ENUM_BASETYPE( IntFlag )
738 {
739 NoVendorExtension = 0,
740 GeoServerVendorExtension = 1 << 1,
741 DeegreeVendorExtension = 1 << 2,
742 };
743 Q_ENUM( SldExportVendorExtension )
744
745
746
750 enum class SettingsOption : int SIP_ENUM_BASETYPE( IntFlag )
751 {
752 SaveFormerValue = 1 << 1,
753 SaveEnumFlagAsInt = 1 << 2,
754 };
755 Q_ENUM( SettingsOption )
756 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
757 Q_FLAG( SettingsOptions )
758
764 {
765 ActiveLayer = 1,
766 AllLayers = 2,
767 AdvancedConfiguration = 3,
768 };
769 Q_ENUM( SnappingMode )
770
771
776 {
777 NoSnap SIP_MONKEYPATCH_COMPAT_NAME( NoSnapFlag ) = 0,
778 Vertex SIP_MONKEYPATCH_COMPAT_NAME( VertexFlag ) = 1 << 0,
779 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentFlag ) = 1 << 1,
780 Area SIP_MONKEYPATCH_COMPAT_NAME( AreaFlag ) = 1 << 2,
781 Centroid SIP_MONKEYPATCH_COMPAT_NAME( CentroidFlag ) = 1 << 3,
782 MiddleOfSegment SIP_MONKEYPATCH_COMPAT_NAME( MiddleOfSegmentFlag ) = 1 << 4,
783 LineEndpoint SIP_MONKEYPATCH_COMPAT_NAME( LineEndpointFlag ) = 1 << 5,
784 };
785 Q_ENUM( SnappingType )
788 Q_FLAG( SnappingTypes )
789
796 {
797 DynamicRotation = 1 << 1,
798 IsSymbolLayerSubSymbol = 1 << 2,
799 ForceVectorRendering = 1 << 3,
800 ExcludeSymbolBuffers = 1 << 4,
801 };
802 Q_ENUM( SymbolRenderHint )
805 Q_FLAG( SymbolRenderHints )
806
813 {
814 ReadSymbol = 1 << 0,
815 WriteSymbol = 1 << 1,
816 };
817
818 Q_ENUM( SymbolConverterCapability )
819
820
827
833 enum class SymbolRotationMode : int
834 {
835 RespectMapRotation,
836 IgnoreMapRotation,
837 };
838 Q_ENUM( SymbolRotationMode )
839
840
841
853 Q_ENUM( HorizontalAnchorPoint )
854
855
868 Q_ENUM( VerticalAnchorPoint )
869
870
875 enum class FeatureRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
876 {
877 AffectsLabeling = 1 << 0,
878 };
879 Q_ENUM( FeatureRendererFlag )
880
881
887 Q_FLAG( FeatureRendererFlags )
888
894 enum class SymbolFlag : int SIP_ENUM_BASETYPE( IntFlag )
895 {
896 RendererShouldUseSymbolLevels = 1 << 0,
897 AffectsLabeling = 1 << 1,
898 };
899 Q_ENUM( SymbolFlag )
901 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
902 Q_FLAG( SymbolFlags )
903
910 {
911 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
912 };
913 Q_ENUM( SymbolPreviewFlag )
916 Q_FLAG( SymbolPreviewFlags )
917
927 enum class SymbolLayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
928 {
929 DisableFeatureClipping = 1 << 0,
930 CanCalculateMaskGeometryPerFeature = 1 << 1,
931 AffectsLabeling = 1 << 2,
932 };
933 Q_ENUM( SymbolLayerFlag )
936 Q_FLAG( SymbolLayerFlags )
937
947 enum class SymbolLayerUserFlag : int SIP_ENUM_BASETYPE( IntFlag )
948 {
949 DisableSelectionRecoloring = 1 << 0,
950 };
951 Q_ENUM( SymbolLayerUserFlag )
952
953
959 Q_FLAG( SymbolLayerUserFlags )
960
967 {
968 Collection,
969 Directory,
970 Layer,
971 Error,
972 Favorites,
973 Project,
974 Custom,
975 Fields,
976 Field,
977 };
978 Q_ENUM( BrowserItemType )
979
980
986 {
987 NotPopulated,
988 Populating,
989 Populated,
990 };
991 Q_ENUM( BrowserItemState )
992
993
999 {
1000 NoCapabilities = 0,
1001 SetCrs = 1 << 0,
1002 Fertile = 1 << 1,
1003 Fast = 1 << 2,
1004 Collapse = 1 << 3,
1005 Rename = 1 << 4,
1006 Delete = 1 << 5,
1007 ItemRepresentsFile = 1 << 6,
1008 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
1009 ReadOnly = 1 << 8,
1010 };
1011 Q_ENUM( BrowserItemCapability )
1014 Q_FLAG( BrowserItemCapabilities )
1015
1021 enum class BrowserItemFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
1022 {
1023 HideWhenNotFilteringByLayerType = 1 << 0,
1024 };
1025 Q_ENUM( BrowserItemFilterFlag )
1026
1027
1033 Q_FLAG( BrowserItemFilterFlags )
1034
1043 {
1044 NoCapabilities SIP_MONKEYPATCH_COMPAT_NAME( NoDataCapabilities ) = 0,
1046 Directories SIP_MONKEYPATCH_COMPAT_NAME( Dir ) = 1 << 1,
1047 Databases SIP_MONKEYPATCH_COMPAT_NAME( Database ) = 1 << 2,
1048 NetworkSources SIP_MONKEYPATCH_COMPAT_NAME( Net ) = 1 << 3,
1049 };
1050 Q_ENUM( DataItemProviderCapability )
1051
1052
1061
1068 {
1069 NoType,
1070 Vector,
1071 Raster,
1072 Point,
1073 Line,
1074 Polygon,
1075 TableLayer,
1076 Database,
1077 Table,
1078 Plugin,
1079 Mesh,
1080 VectorTile,
1081 PointCloud,
1082 TiledScene,
1083 };
1084 Q_ENUM( BrowserLayerType )
1085
1086
1092 {
1093 Default,
1094 NeverMonitor,
1095 AlwaysMonitor,
1096 };
1097 Q_ENUM( BrowserDirectoryMonitoring )
1098
1099
1103 enum class HttpMethod : int
1104 {
1105 Get = 0,
1106 Post = 1,
1107 Head,
1108 Put,
1109 Delete,
1110 };
1111 Q_ENUM( HttpMethod )
1112
1113
1119 {
1121 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
1122 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
1123 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
1124 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
1125 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
1126 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
1127 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
1128 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
1129 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
1130 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
1131 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
1132 };
1133 Q_ENUM( VectorExportResult )
1134
1135
1140 {
1141 FieldAliases = 1 << 0,
1142 FieldComments = 1 << 2,
1143 };
1144 Q_ENUM( VectorFileWriterCapability )
1145
1146
1152
1158 {
1159 SubsetStringFilter = 1 << 1,
1160 GeometryColumn = 1 << 2,
1161 PrimaryKeys = 1 << 3,
1162 UnstableFeatureIds = 1 << 4
1163 };
1164 Q_ENUM( SqlLayerDefinitionCapability )
1168
1174 enum class SqlKeywordCategory : int
1175 {
1176 Keyword,
1177 Constant,
1178 Function,
1179 Geospatial,
1180 Operator,
1181 Math,
1183 String,
1184 Identifier
1185 };
1186 Q_ENUM( SqlKeywordCategory )
1187
1188
1192 enum class DriveType : int
1193 {
1194 Unknown,
1195 Invalid,
1196 Removable,
1197 Fixed,
1198 Remote,
1199 CdRom,
1200 RamDisk,
1201 Cloud,
1202 };
1203 Q_ENUM( DriveType )
1204
1205
1210 {
1211 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
1212 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
1213 };
1214 Q_ENUM( ActionStart )
1215
1216
1222 {
1223 FollowEngineSetting,
1224 NeverShow,
1225 };
1226 Q_ENUM( UnplacedLabelVisibility )
1227
1228
1233 enum class LabelOverlapHandling : int
1234 {
1235 PreventOverlap,
1236 AllowOverlapIfRequired,
1237 AllowOverlapAtNoCost,
1238 };
1239 Q_ENUM( LabelOverlapHandling )
1240
1241
1247 {
1248 TreatWhitespaceAsCollision,
1249 IgnoreWhitespaceCollisions,
1250 };
1251 Q_ENUM( LabelWhitespaceCollisionHandling )
1252
1253
1258 enum class LabelPrioritization : int
1259 {
1260 PreferCloser,
1261 PreferPositionOrdering,
1262 };
1263 Q_ENUM( LabelPrioritization )
1264
1265
1273 {
1274 AroundPoint,
1275 OverPoint,
1276 Line,
1277 Curved,
1278 Horizontal,
1279 Free,
1280 OrderedPositionsAroundPoint,
1281 PerimeterCurved,
1282 OutsidePolygons,
1283 };
1284 Q_ENUM( LabelPlacement )
1285
1286
1291 enum class CurvedLabelMode : int
1292 {
1293 Default,
1294 PlaceCharactersAtVertices,
1295 StretchCharacterSpacingToFitLine,
1296 StretchWordSpacingToFitLine,
1297 };
1298 Q_ENUM( CurvedLabelMode )
1299
1300
1308 {
1309 TopLeft,
1310 TopSlightlyLeft,
1311 TopMiddle,
1312 TopSlightlyRight,
1313 TopRight,
1314 MiddleLeft,
1315 MiddleRight,
1316 BottomLeft,
1317 BottomSlightlyLeft,
1318 BottomMiddle,
1319 BottomSlightlyRight,
1320 BottomRight,
1321 OverPoint,
1322 };
1323 Q_ENUM( LabelPredefinedPointPosition )
1324
1325
1331 {
1332 LabelLargestPartOnly,
1333 LabelEveryPartWithEntireLabel,
1334 SplitLabelTextLinesOverParts,
1335 };
1336 Q_ENUM( MultiPartLabelingBehavior )
1337
1338
1347 {
1348 FromPoint,
1349 FromSymbolBounds,
1350 };
1351 Q_ENUM( LabelOffsetType )
1352
1353
1361 {
1362 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
1363 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
1364 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
1366 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
1368 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
1369 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
1370 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
1371 };
1372 Q_ENUM( LabelQuadrantPosition )
1373
1374
1381 {
1382 OnLine = 1,
1383 AboveLine = 2,
1384 BelowLine = 4,
1385 MapOrientation = 8,
1386 };
1387 Q_ENUM( LabelLinePlacementFlag )
1388
1389
1397 Q_FLAG( LabelLinePlacementFlags )
1398
1406 {
1407 AllowPlacementOutsideOfPolygon = 1 << 0,
1408 AllowPlacementInsideOfPolygon = 1 << 1,
1409 };
1410 Q_ENUM( LabelPolygonPlacementFlag )
1411
1412
1420
1429 {
1430 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
1431 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
1432 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
1433 };
1434 Q_ENUM( UpsideDownLabelHandling )
1435
1436
1444 {
1446 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
1448 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
1449 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
1450 };
1451 Q_ENUM( LabelMultiLineAlignment )
1452
1453
1460 {
1461 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
1462 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1463 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1464 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1465 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1466 VectorTile,
1467 TiledScene,
1468 };
1469 Q_ENUM( FileFilterType )
1470
1471
1476 enum class UriCleaningFlag : int SIP_ENUM_BASETYPE( IntFlag )
1477 {
1478 RemoveCredentials = 1 << 0,
1479 RedactCredentials = 1 << 1,
1480 };
1481 Q_ENUM( UriCleaningFlag )
1482
1483
1489 Q_FLAG( UriCleaningFlags )
1490
1496 enum class SourceHierarchyLevel : int
1497 {
1498 Connection,
1499 Group,
1500 Object,
1501 };
1502 Q_ENUM( SourceHierarchyLevel )
1503
1504
1509 enum class SublayerQueryFlag : int SIP_ENUM_BASETYPE( IntFlag )
1510 {
1511 FastScan = 1 << 0,
1512 ResolveGeometryType = 1 << 1,
1513 CountFeatures = 1 << 2,
1514 IncludeSystemTables = 1 << 3,
1515 OpenLayersToResolveDescriptions = 1 << 4,
1516 };
1517
1520 Q_FLAG( SublayerQueryFlags )
1521
1522
1527 enum class SublayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
1528 {
1529 SystemTable = 1 << 0,
1530 };
1531
1532 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1534 Q_FLAG( SublayerFlags )
1535
1536
1544 {
1545 Linear SIP_MONKEYPATCH_COMPAT_NAME( Interpolated ) = 0,
1546 Discrete = 1,
1547 Exact = 2,
1548 };
1549 Q_ENUM( ShaderInterpolationMethod )
1550
1551
1559 {
1560 Continuous = 1,
1561 EqualInterval = 2,
1562 Quantile = 3,
1563 };
1564 Q_ENUM( ShaderClassificationMethod )
1565
1566
1572 {
1573 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1574 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1575 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1576 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1577 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1578 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1579 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1580 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1581 };
1582 Q_ENUM( RasterPipeInterfaceRole )
1583
1584
1589 {
1590 ResampleFilter,
1591 Provider,
1592 };
1593 Q_ENUM( RasterResamplingStage )
1594
1595
1603 {
1604 Nearest,
1605 Bilinear,
1606 Cubic,
1607 CubicSpline,
1608 Lanczos,
1609 Average,
1610 Mode,
1611 Gauss
1612 };
1613 Q_ENUM( RasterResamplingMethod )
1614
1615
1620 enum class RasterRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
1621 {
1622 InternalLayerOpacityHandling = 1 << 0,
1623 UseNoDataForOutOfRangePixels
1624 = 1 << 1,
1625 };
1626
1633
1635 Q_FLAG( RasterRendererFlags )
1636
1637
1643 {
1644 UsesMultipleBands = 1 << 0,
1645 };
1646 Q_ENUM( RasterRendererCapability )
1647
1648
1655
1664 {
1666 MinimumMaximum SIP_MONKEYPATCH_COMPAT_NAME( MinMax ),
1667 StdDev,
1668 CumulativeCut
1669 };
1670 Q_ENUM( RasterRangeLimit )
1671
1672
1680 {
1681 WholeRaster SIP_MONKEYPATCH_COMPAT_NAME( None_ ),
1682 FixedCanvas SIP_MONKEYPATCH_COMPAT_NAME( CurrentCanvas ),
1683 UpdatedCanvas,
1684 };
1685 Q_ENUM( RasterRangeExtent )
1686
1687
1695 {
1696 Exact,
1697 Estimated,
1698 };
1699 Q_ENUM( RasterRangeAccuracy )
1700
1701
1707 {
1708 Generic = 0,
1709 PixelCount = 1,
1710 Name = 2,
1711 Min = 3,
1712 Max = 4,
1713 MinMax = 5,
1714 Red = 6,
1715 Green = 7,
1716 Blue = 8,
1717 Alpha = 9,
1718 RedMin = 10,
1719 GreenMin = 11,
1720 BlueMin = 12,
1721 AlphaMin = 13,
1722 RedMax = 14,
1723 GreenMax = 15,
1724 BlueMax = 16,
1725 AlphaMax = 17,
1726 MaxCount
1727 };
1728 Q_ENUM( RasterAttributeTableFieldUsage )
1729
1730
1736 {
1737 Thematic = 0,
1738 Athematic = 1
1739 };
1740 Q_ENUM( RasterAttributeTableType )
1741
1742
1749 {
1750 Raw = 0,
1751 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1752 };
1753 Q_ENUM( RasterExportType )
1754
1755
1762 {
1764 SourceProviderError = 1,
1765 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1766 CreateDatasourceError = 3,
1767 WriteError = 4,
1768 NoDataConflict = 5,
1769 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1770 };
1771 Q_ENUM( RasterFileWriterResult )
1772
1773
1778 enum class MeshEditingErrorType : int
1779 {
1780 NoError,
1781 InvalidFace,
1782 TooManyVerticesInFace,
1783 FlatFace,
1784 UniqueSharedVertex,
1785 InvalidVertex,
1786 ManifoldFace,
1787 };
1788 Q_ENUM( MeshEditingErrorType )
1789
1790
1795 enum class FilePathType : int
1796 {
1797 Absolute,
1798 Relative,
1799 };
1800 Q_ENUM( FilePathType )
1801
1802
1807 enum class SublayerPromptMode : int
1808 {
1809 AlwaysAsk,
1810 AskExcludingRasterBands,
1811 NeverAskSkip,
1812 NeverAskLoadAll,
1813 };
1814 Q_ENUM( SublayerPromptMode )
1815
1816
1824 {
1825 Unknown SIP_MONKEYPATCH_COMPAT_NAME( OriginUnknown ),
1826 Provider SIP_MONKEYPATCH_COMPAT_NAME( OriginProvider ),
1827 Join SIP_MONKEYPATCH_COMPAT_NAME( OriginJoin ),
1828 Edit SIP_MONKEYPATCH_COMPAT_NAME( OriginEdit ),
1829 Expression SIP_MONKEYPATCH_COMPAT_NAME( OriginExpression )
1830 };
1831 Q_ENUM( FieldOrigin )
1832
1833
1840 enum class FieldConfigurationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1841 {
1842 NoFlag = 0,
1843 NotSearchable = 1 << 1,
1844 HideFromWms = 1 << 2,
1845 HideFromWfs = 1 << 3,
1846 };
1847 Q_ENUM( FieldConfigurationFlag )
1848
1849
1857 Q_FLAG( FieldConfigurationFlags )
1858
1864 enum class FieldMetadataProperty : int
1865 {
1866 GeometryCrs = 0x1000,
1867 GeometryWkbType = 0x1001,
1868 CustomProperty = 0x100000,
1869 };
1870 Q_ENUM( FieldMetadataProperty )
1871
1872
1877 enum class SelectionRenderingMode : int
1878 {
1879 Default,
1880 CustomColor,
1881 CustomSymbol,
1882 };
1883 Q_ENUM( SelectionRenderingMode )
1884
1885
1891 {
1892 SetSelection,
1893 AddToSelection,
1894 IntersectSelection,
1895 RemoveFromSelection,
1896 };
1897 Q_ENUM( SelectBehavior )
1898
1899
1905 {
1906 Intersect,
1907 Within,
1908 };
1909 Q_ENUM( SelectGeometryRelationship )
1910
1911
1916 enum class SelectionFlag : int SIP_ENUM_BASETYPE( IntFlag )
1917 {
1918 SingleFeatureSelection = 1 << 0,
1919 ToggleSelection = 1 << 1,
1920 };
1921
1927 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1928
1930 Q_FLAG( SelectionFlags )
1931
1932
1938 {
1940 EmptyGeometry = 1,
1941 EditFailed = 2,
1942 FetchFeatureFailed = 3,
1943 InvalidLayer = 4,
1944 };
1945 Q_ENUM( VectorEditResult )
1946
1947
1953 {
1954 SemiTransparentCircle,
1955 Cross,
1956 NoMarker,
1957 };
1958 Q_ENUM( VertexMarkerType )
1959
1960
1964 enum class ContentStatus : int
1965 {
1966 NotStarted,
1967 Running,
1968 Finished,
1969 Failed,
1970 Canceled,
1971 };
1972 Q_ENUM( ContentStatus )
1973
1974
1979 enum class GpsConnectionType : int
1980 {
1981 Automatic,
1982 Internal,
1983 Serial,
1984 Gpsd,
1985 };
1986 Q_ENUM( GpsConnectionType )
1987
1988
1993 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
1994 {
1995 Disconnected,
1996 Connecting,
1997 Connected,
1998 };
1999 Q_ENUM( DeviceConnectionStatus )
2000
2001
2009 {
2010 NoData,
2011 NoFix,
2012 Fix2D,
2013 Fix3D
2014 };
2016
2017
2024 {
2025 Unknown,
2026 Gps,
2027 Glonass,
2028 Galileo,
2029 BeiDou,
2030 Qzss,
2031 Navic,
2032 Sbas,
2033 };
2035
2042 {
2043 Unknown = -1,
2044 Invalid,
2045 GPS,
2046 DGPS,
2047 PPS,
2048 RTK,
2049 FloatRTK,
2050 Estimated,
2051 Manual,
2052 Simulation,
2053 };
2054 Q_ENUM( GpsQualityIndicator )
2055
2056
2061 enum class GpsNavigationStatus : int
2062 {
2063 NotValid,
2064 Safe,
2065 Caution,
2066 Unsafe,
2067 };
2069
2075 enum class GpsInformationComponent : int SIP_ENUM_BASETYPE( IntFlag )
2076 {
2077 Location = 1 << 0,
2078 Altitude = 1 << 1,
2079 GroundSpeed = 1 << 2,
2080 Bearing = 1 << 3,
2081 TotalTrackLength = 1 << 4,
2082 TrackDistanceFromStart = 1 << 5,
2083 Pdop = 1 << 6,
2084 Hdop = 1 << 7,
2085 Vdop = 1 << 8,
2086 HorizontalAccuracy = 1 << 9,
2087 VerticalAccuracy = 1 << 10,
2088 HvAccuracy = 1 << 11,
2089 SatellitesUsed = 1 << 12,
2090 Timestamp = 1 << 13,
2091 TrackStartTime = 1 << 14,
2092 TrackEndTime = 1 << 15,
2093 TrackDistanceSinceLastPoint = 1 << 16,
2094 TrackTimeSinceLastPoint = 1 << 17,
2095 GeoidalSeparation = 1 << 18,
2096 EllipsoidAltitude = 1 << 19,
2097 };
2098
2106 Q_FLAG( GpsInformationComponents )
2107
2108
2113 enum class BabelFormatCapability : int SIP_ENUM_BASETYPE( IntFlag )
2114 {
2115 Import = 1 << 0,
2116 Export = 1 << 1,
2117 Waypoints = 1 << 2,
2118 Routes = 1 << 3,
2119 Tracks = 1 << 4,
2120 };
2121
2124 Q_FLAG( BabelFormatCapabilities )
2125
2126
2132 enum class BabelCommandFlag : int SIP_ENUM_BASETYPE( IntFlag )
2133 {
2134 QuoteFilePaths = 1 << 0,
2135 };
2136
2139 Q_FLAG( BabelCommandFlags )
2140
2141
2146 enum class GpsFeatureType : int
2147 {
2148 Waypoint,
2149 Route,
2150 Track,
2151 };
2152 Q_ENUM( GpsFeatureType )
2153
2154
2162 {
2164 NothingHappened = 1000,
2165 InvalidBaseGeometry,
2166 InvalidInputGeometryType,
2167 SelectionIsEmpty,
2168 SelectionIsGreaterThanOne,
2169 GeometryEngineError,
2170 LayerNotEditable,
2171 // Add part issues
2172 AddPartSelectedGeometryNotFound,
2173 AddPartNotMultiGeometry,
2174 // Add ring issues
2175 AddRingNotClosed,
2176 AddRingNotValid,
2177 AddRingCrossesExistingRings,
2178 AddRingNotInExistingFeature,
2179 // Split features
2180 SplitCannotSplitPoint,
2181 GeometryTypeHasChanged,
2182 };
2183 Q_ENUM( GeometryOperationResult )
2184
2185
2191 {
2192 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles )
2193 = 1 << 0,
2194 };
2195
2198 Q_FLAG( GeometryValidityFlags )
2199
2200
2205 {
2206 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
2207 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
2208 };
2209 Q_ENUM( GeometryValidationEngine )
2210
2211
2221 Q_ENUM( BufferSide )
2222
2223
2234 Q_ENUM( EndCapStyle )
2235
2236
2242 {
2243 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
2244 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
2245 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
2246 };
2247 Q_ENUM( JoinStyle )
2248
2249
2254 enum class JoinStyle3D : int
2255 {
2256 Round = 1,
2257 Flat,
2258 CylindersAndSpheres,
2259 };
2260 Q_ENUM( JoinStyle3D )
2261
2262
2267 enum class GeometryBackend : int
2268 {
2269 QGIS = 1,
2270 GEOS,
2271 };
2272 Q_ENUM( GeometryBackend )
2273
2274
2279 enum class GeosCreationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2280 {
2281 RejectOnInvalidSubGeometry = 1 << 0,
2282 SkipEmptyInteriorRings = 1 << 1,
2283 };
2284 Q_ENUM( GeosCreationFlag )
2285
2286
2292 Q_FLAG( GeosCreationFlags )
2293
2299 enum class CoverageValidityResult : int
2300 {
2301 Invalid = 0,
2302 Valid = 1,
2303 Error = 2,
2304 };
2305 Q_ENUM( CoverageValidityResult )
2306
2307
2312 enum class MakeValidMethod : int
2313 {
2314 Linework = 0,
2315 Structure = 1,
2316 };
2317 Q_ENUM( MakeValidMethod )
2318
2319
2327 {
2328 NoFlags = 0,
2329 NoGeometry = 1,
2330 SubsetOfAttributes = 2,
2331 ExactIntersect = 4,
2332 IgnoreStaticNodesDuringExpressionCompilation
2333 = 8,
2334 EmbeddedSymbols = 16,
2335 };
2336 Q_ENUM( FeatureRequestFlag )
2337
2338
2346 Q_FLAG( FeatureRequestFlags )
2347
2356 {
2357 NoFilter SIP_MONKEYPATCH_COMPAT_NAME( FilterNone ),
2359 Expression SIP_MONKEYPATCH_COMPAT_NAME( FilterExpression ),
2361 };
2362 Q_ENUM( FeatureRequestFilterType )
2363
2364
2372 {
2373 NoCheck SIP_MONKEYPATCH_COMPAT_NAME( GeometryNoCheck ) = 0,
2374 SkipInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometrySkipInvalid ) = 1,
2375 AbortOnInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometryAbortOnInvalid ) = 2,
2376 };
2377 Q_ENUM( InvalidGeometryCheck )
2378
2379
2384 enum class SpatialFilterType : int
2385 {
2386 NoFilter,
2387 BoundingBox,
2388 DistanceWithin,
2389 };
2390 Q_ENUM( SpatialFilterType )
2391
2392
2397 enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2398 {
2399 IncludeMetadataFile = 1 << 0,
2400 IncludeStyleFile = 1 << 1,
2401 };
2402
2405 Q_FLAG( FileOperationFlags )
2406
2407
2412 enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
2413 {
2414 UsersCannotToggleEditing
2415 = 1 << 0,
2416 IsBasemapLayer = 1 << 1,
2417 Is3DBasemapLayer = 1 << 2,
2418 };
2419
2422 Q_FLAG( MapLayerProperties )
2423
2424
2429 enum class AutoRefreshMode : int
2430 {
2431 Disabled = 0,
2432 ReloadData = 1,
2433 RedrawOnly = 2,
2434 };
2435 Q_ENUM( AutoRefreshMode )
2436
2437
2442 enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
2443 {
2444 IsBasemapSource = 1 << 1,
2445 FastExtent2D = 1 << 2,
2446 FastExtent3D = 1 << 3,
2447 Is3DBasemapSource = 1 << 4,
2448 };
2449
2452 Q_FLAG( DataProviderFlags )
2453
2454
2461 enum class CrsType : int
2462 {
2463 Unknown,
2464 Geodetic,
2465 Geocentric,
2466 Geographic2d,
2467 Geographic3d,
2468 Vertical,
2469 Projected,
2470 Compound,
2471 Temporal,
2472 Engineering,
2473 Bound,
2474 Other,
2475 DerivedProjected,
2476 };
2477 Q_ENUM( CrsType )
2478
2479
2486 enum class CrsAxisDirection : int
2487 {
2488 North,
2489 NorthNorthEast,
2490 NorthEast,
2491 EastNorthEast,
2492 East,
2493 EastSouthEast,
2494 SouthEast,
2495 SouthSouthEast,
2496 South,
2497 SouthSouthWest,
2498 SouthWest,
2499 WestSouthWest,
2500 West,
2501 WestNorthWest,
2502 NorthWest,
2503 NorthNorthWest,
2504 GeocentricX,
2505 GeocentricY,
2506 GeocentricZ,
2509 Forward,
2510 Aft,
2511 Port,
2512 Starboard,
2513 Clockwise,
2514 CounterClockwise,
2515 ColumnPositive,
2516 ColumnNegative,
2517 RowPositive,
2518 RowNegative,
2519 DisplayRight,
2520 DisplayLeft,
2521 DisplayUp,
2522 DisplayDown,
2523 Future,
2524 Past,
2525 Towards,
2526 AwayFrom,
2527 Unspecified,
2528 };
2529 Q_ENUM( CrsAxisDirection )
2530
2531
2536 enum class CoordinateOrder : int
2537 {
2538 Default,
2539 XY,
2540 YX,
2541 };
2542 Q_ENUM( CoordinateOrder )
2543
2544
2552 {
2553 ShortString,
2554 MediumString,
2555 FullString,
2556 };
2557 Q_ENUM( CrsIdentifierType )
2558
2559
2567 {
2569 WKT1_GDAL
2570 ),
2571 Wkt1Esri SIP_MONKEYPATCH_COMPAT_NAME( WKT1_ESRI ),
2572 Wkt2_2015 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015 ),
2573 Wkt2_2015Simplified SIP_MONKEYPATCH_COMPAT_NAME(
2574 WKT2_2015_SIMPLIFIED
2575 ),
2577 WKT2_2019
2578 ),
2579 Wkt2_2019Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019_SIMPLIFIED ),
2580 Preferred SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED ) = Wkt2_2019,
2581 PreferredSimplified SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_SIMPLIFIED )
2582 = Wkt2_2019Simplified,
2583 PreferredGdal SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_GDAL ) = Wkt2_2019,
2584 };
2585 Q_ENUM( CrsWktVariant )
2586
2587
2593 {
2594 NoAction = 0,
2595 PromptUserForCrs = 1,
2596 UseProjectCrs = 2,
2597 UseDefaultCrs = 3,
2598 };
2599 Q_ENUM( UnknownLayerCrsBehavior )
2600
2601
2606 enum class Axis : int
2607 {
2608 X,
2609 Y,
2611 };
2612 Q_ENUM( Axis )
2613
2614
2619 enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
2620 {
2621 ScaleDependentBoundingBox = 1 << 0,
2622 SupportsReferenceScale = 1 << 1,
2623 SupportsCallouts = 1 << 2,
2624 };
2625
2628 Q_FLAG( AnnotationItemFlags )
2629
2630
2636 {
2637 SpatialBounds = 0,
2638 FixedSize,
2639 RelativeToMapFrame,
2640 };
2641 Q_ENUM( AnnotationPlacementMode )
2642
2643
2648 enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
2649 {
2650 FlagNoCreationTools = 1 << 0,
2651 };
2652
2655 Q_FLAG( AnnotationItemGuiFlags )
2656
2657
2662 enum class AnnotationItemNodeType : int
2663 {
2664 VertexHandle,
2665 CalloutHandle,
2666 };
2667 Q_ENUM( AnnotationItemNodeType )
2668
2669
2675 {
2677 Invalid,
2678 ItemCleared,
2679 };
2680 Q_ENUM( AnnotationItemEditOperationResult )
2681
2682
2690 {
2691 Disabled SIP_MONKEYPATCH_COMPAT_NAME( NavigationOff ),
2692 Animated,
2693 FixedRange,
2694 Movie,
2695 };
2696 Q_ENUM( TemporalNavigationMode )
2697
2698
2711 Q_ENUM( AnimationState )
2712
2713
2718 enum class PlaybackOperation : int
2719 {
2720 SkipToStart,
2721 PreviousFrame,
2722 PlayReverse,
2723 Pause,
2724 PlayForward,
2725 NextFrame,
2726 SkipToEnd,
2727 };
2728 Q_ENUM( PlaybackOperation )
2729
2730
2736 {
2737 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2738 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
2739 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
2740 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
2741 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
2743 ModeRedrawLayerOnly
2744 ),
2745 };
2746 Q_ENUM( VectorTemporalMode )
2747
2748
2754 {
2755 IncludeBeginExcludeEnd = 0,
2756 IncludeBeginIncludeEnd,
2757 };
2758 Q_ENUM( VectorTemporalLimitMode )
2759
2760
2766 {
2767 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
2768 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
2769 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2770 };
2771 Q_ENUM( VectorDataProviderTemporalMode )
2772
2773
2779 {
2780 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2781 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
2782 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly )
2783 = 2,
2784 FixedRangePerBand = 3,
2785 RepresentsTemporalValues = 4,
2786 FixedDateTime = 5,
2787 };
2788 Q_ENUM( RasterTemporalMode )
2789
2790
2796 {
2797 MatchUsingWholeRange,
2798 MatchExactUsingStartOfRange,
2799 MatchExactUsingEndOfRange,
2800 FindClosestMatchToStartOfRange,
2801 FindClosestMatchToEndOfRange
2802 };
2803 Q_ENUM( TemporalIntervalMatchMethod )
2804
2805
2811 {
2812 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges
2813 = 1 << 0,
2814 };
2815 Q_ENUM( RasterTemporalCapabilityFlag )
2816
2817
2824
2835 Q_ENUM( TransformDirection )
2836
2837
2843 {
2844 BallparkTransformsAreAppropriate
2845 = 1 << 0,
2846 IgnoreImpossibleTransformations
2847 = 1 << 1,
2848 };
2849 Q_ENUM( CoordinateTransformationFlag )
2850
2851
2858
2865 {
2866 Default,
2867 PreferVector,
2868 ForceVector,
2869 };
2870 Q_ENUM( RasterizedRenderingPolicy )
2871
2872
2878 {
2879 Antialiasing = 0x01,
2880 DrawEditingInfo = 0x02,
2881 ForceVectorOutput = 0x04,
2882 UseAdvancedEffects = 0x08,
2883 DrawLabeling = 0x10,
2884 UseRenderingOptimization = 0x20,
2885 DrawSelection = 0x40,
2886 DrawSymbolBounds = 0x80,
2887 RenderMapTile = 0x100,
2888 RenderPartialOutput = 0x200,
2889 RenderPreviewJob = 0x400,
2890 RenderBlocking = 0x800,
2891 LosslessImageRendering
2892 = 0x1000,
2893 Render3DMap = 0x2000,
2894 HighQualityImageTransforms = 0x4000,
2895 SkipSymbolRendering = 0x8000,
2896 ForceRasterMasks = 0x10000,
2897 RecordProfile = 0x20000,
2898 AlwaysUseGlobalMasks
2899 = 0x40000,
2900 };
2901
2904 Q_FLAG( MapSettingsFlags )
2905
2906
2912 {
2913 DrawEditingInfo = 0x01,
2914 ForceVectorOutput = 0x02,
2915 UseAdvancedEffects = 0x04,
2916 UseRenderingOptimization = 0x08,
2917 DrawSelection = 0x10,
2918 DrawSymbolBounds = 0x20,
2919 RenderMapTile = 0x40,
2920 Antialiasing = 0x80,
2921 RenderPartialOutput = 0x100,
2922 RenderPreviewJob = 0x200,
2923 RenderBlocking = 0x400,
2924 RenderSymbolPreview = 0x800,
2925 LosslessImageRendering = 0x1000,
2926 ApplyScalingWorkaroundForTextRendering = 0x2000,
2927 Render3DMap = 0x4000,
2928 ApplyClipAfterReprojection = 0x8000,
2929 RenderingSubSymbol = 0x10000,
2930 HighQualityImageTransforms = 0x20000,
2931 SkipSymbolRendering = 0x40000,
2932 RecordProfile = 0x80000,
2933 AlwaysUseGlobalMasks = 0x100000,
2934 DisableSymbolClippingToExtent = 0x200000,
2935 RenderLayerTree = 0x400000
2936 };
2937
2940 Q_FLAG( RenderContextFlags )
2941
2942
2947 enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2948 {
2949 RenderPartialOutputs = 1 << 0,
2950 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2951 AffectsLabeling = 1 << 2,
2952 };
2953 Q_ENUM( MapLayerRendererFlag )
2954
2955
2961 Q_FLAG( MapLayerRendererFlags )
2962
2968 enum class PaintEffectFlag : int SIP_ENUM_BASETYPE( IntFlag )
2969 {
2970 RequiresRasterization = 1 << 0,
2971 };
2972 Q_ENUM( PaintEffectFlag )
2973
2974
2980 Q_FLAG( PaintEffectFlags )
2981
2982 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
2983 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
2984
2990 {
2992 TextFormatAlwaysOutlines
2993 ),
2995 TextFormatAlwaysText
2996 ),
2997 PreferText,
2998 };
2999 Q_ENUM( TextRenderFormat )
3000
3001
3009 {
3010 UseAllLabels = 1 << 1,
3011 UsePartialCandidates = 1 << 2,
3012 // TODO QGIS 5.0: remove
3013 RenderOutlineLabels = 1 << 3,
3014 DrawLabelRectOnly = 1 << 4,
3015 DrawCandidates = 1 << 5,
3016 DrawUnplacedLabels = 1 << 6,
3017 CollectUnplacedLabels = 1 << 7,
3018 DrawLabelMetrics = 1 << 8,
3019 };
3020 Q_ENUM( LabelingFlag )
3021
3022
3030 Q_FLAG( LabelingFlags )
3031
3040 {
3041 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
3042 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
3043 };
3044 Q_ENUM( LabelPlacementEngineVersion )
3045
3046
3054 {
3055 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
3056 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
3057 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
3058 };
3059 Q_ENUM( TextOrientation )
3060
3061
3069 {
3071 Point,
3073 RectangleCapHeightBased,
3074 RectangleAscentBased,
3075 };
3076 Q_ENUM( TextLayoutMode )
3077
3078
3086 {
3087 Text = 1 << 0,
3088 Buffer = 1 << 1,
3089 Background = 1 << 2,
3090 Shadow = 1 << 3,
3091 };
3092 Q_ENUM( TextComponent )
3093
3094
3099 Q_DECLARE_FLAGS( TextComponents, TextComponent )
3100 Q_FLAG( TextComponents )
3101
3116 Q_ENUM( TextHorizontalAlignment )
3117
3118
3129 {
3131 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
3132 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
3133 };
3134 Q_ENUM( TextVerticalAlignment )
3135
3136
3145 {
3146 Normal,
3147 SuperScript,
3148 SubScript,
3149 };
3150 Q_ENUM( TextCharacterVerticalAlignment )
3151
3152
3158 {
3159 TruncateStringWhenLineIsTooShort = 1 << 0,
3160 UseBaselinePlacement = 1 << 1,
3161 UprightCharactersOnly = 1 << 2,
3162 ExtendLineToFitText = 1 << 3,
3163 };
3164 Q_ENUM( CurvedTextFlag )
3165
3166
3172
3181 {
3182 Distance = 0,
3183 SnapToGrid = 1,
3184 Visvalingam = 2,
3185 SnappedToGridGlobal = 3,
3186 };
3187 Q_ENUM( VectorSimplificationAlgorithm )
3188
3189
3197 {
3198 NoSimplification = 0,
3199 GeometrySimplification = 1,
3200 AntialiasingSimplification = 2,
3201 FullSimplification = 3,
3202 };
3203 Q_ENUM( VectorRenderingSimplificationFlag )
3204
3205
3214
3221 {
3222 Generic,
3223 ShadowOffset,
3224 BlurSize,
3225 GlowSpread,
3226 };
3227 Q_ENUM( RenderSubcomponentProperty )
3228
3229
3235 {
3236 SymbolLayer,
3237 Label,
3238 };
3239 Q_ENUM( SelectiveMaskSourceType )
3240
3241
3246 {
3247 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
3248 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
3249 ControlPoint SIP_MONKEYPATCH_COMPAT_NAME( ControlPointVertex ) = 3,
3250 };
3251 Q_ENUM( VertexType )
3252
3253
3261 {
3262 Square,
3263 Diamond,
3264 Pentagon,
3265 Hexagon,
3266 Triangle,
3267 EquilateralTriangle,
3268 Star,
3269 Arrow,
3270 Circle,
3271 Cross,
3272 CrossFill,
3273 Cross2,
3274 Line,
3275 ArrowHead,
3276 ArrowHeadFilled,
3277 SemiCircle,
3278 ThirdCircle,
3279 QuarterCircle,
3280 QuarterSquare,
3281 HalfSquare,
3282 DiagonalHalfSquare,
3283 RightHalfTriangle,
3284 LeftHalfTriangle,
3285 Octagon,
3286 SquareWithCorners,
3287 AsteriskFill,
3288 HalfArc,
3289 ThirdArc,
3290 QuarterArc,
3291 ParallelogramRight,
3292 ParallelogramLeft,
3293 Trapezoid,
3294 Shield,
3295 DiamondStar,
3296 Heart,
3297 Decagon,
3298 RoundedSquare,
3299 };
3300 Q_ENUM( MarkerShape )
3301
3302
3310 {
3311 Interval = 1 << 0,
3312 Vertex = 1 << 1,
3313 LastVertex = 1 << 2,
3314 FirstVertex = 1 << 3,
3315 CentralPoint = 1 << 4,
3316 CurvePoint = 1 << 5,
3317 SegmentCenter = 1 << 6,
3318 InnerVertices = 1 << 7,
3319 };
3320 Q_ENUM( MarkerLinePlacement )
3322 Q_FLAG( MarkerLinePlacements )
3323
3330 {
3331 IntervalCartesian2D = 1 << 0,
3332 IntervalZ = 1 << 1,
3333 IntervalM = 1 << 2,
3334 Vertex = 1 << 3,
3335 };
3336 Q_ENUM( LinearReferencingPlacement )
3337
3338
3344 {
3345 CartesianDistance2D,
3346 Z,
3347 M,
3348 };
3349 Q_ENUM( LinearReferencingLabelSource )
3350
3351
3359 {
3360 SimpleTwoColor,
3361 ColorRamp,
3362 };
3363 Q_ENUM( GradientColorSource )
3364
3365
3378 Q_ENUM( GradientType )
3379
3380
3388 {
3389 Feature,
3390 Viewport,
3391 };
3392 Q_ENUM( SymbolCoordinateReference )
3393
3394
3408 Q_ENUM( GradientSpread )
3409
3410
3418 {
3419 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
3420 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
3421 };
3422 Q_ENUM( PointCountMethod )
3423
3424
3429 enum class MarkerClipMode : int
3430 {
3431 NoClipping,
3432 Shape,
3433 CentroidWithin,
3434 CompletelyWithin,
3435 };
3436 Q_ENUM( MarkerClipMode )
3437
3438
3443 enum class LineClipMode : int
3444 {
3445 ClipPainterOnly,
3446 ClipToIntersection,
3447 NoClipping,
3448 };
3449 Q_ENUM( LineClipMode )
3450
3451
3457 {
3458 NoRule,
3459 FullDash,
3460 HalfDash,
3461 FullGap,
3462 HalfGap,
3463 };
3464 Q_ENUM( DashPatternLineEndingRule )
3465
3466
3472 {
3473 ScaleBothDashAndGap,
3474 ScaleDashOnly,
3475 ScaleGapOnly,
3476 };
3477 Q_ENUM( DashPatternSizeAdjustment )
3478
3479
3491 Q_ENUM( GraduatedMethod )
3492
3493
3499 {
3500 NoLabels,
3501 EveryLabel,
3502 FirstLabel,
3503 LastLabel,
3504 FirstAndLastLabels,
3505 };
3506 Q_ENUM( PlotAxisSuffixPlacement )
3507
3508
3509
3514 enum class PlotAxisType
3515 {
3516 Interval,
3517 Categorical,
3518 };
3519 Q_ENUM( PlotAxisType )
3520
3521
3526 enum class PieChartLabelType : int
3527 {
3528 NoLabels,
3529 Categories,
3530 Values,
3531 };
3532 Q_ENUM( PieChartLabelType )
3533
3534
3538 enum class DpiMode
3539 {
3540 All = 7,
3541 Off = 0,
3542 QGIS = 1,
3543 UMN = 2,
3544 GeoServer = 4,
3545 };
3546 Q_ENUM( DpiMode )
3547
3548
3553 {
3554 Undefined = 0,
3555 StandardDpi = 1,
3556 HighDpi = 2,
3557 };
3558 Q_ENUM( TilePixelRatio )
3559
3560 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
3561
3562
3570 {
3571 MixedCase = 0,
3572 AllUppercase = 1,
3573 AllLowercase = 2,
3574 ForceFirstLetterToCapital = 4,
3575 SmallCaps = 5,
3576 TitleCase = 1004,
3577 UpperCamelCase = 1005,
3578 AllSmallCaps = 1006,
3579 };
3580 Q_ENUM( Capitalization )
3581
3582
3587 enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
3588 {
3589 WrapLines = 1 << 0,
3590 };
3591 Q_ENUM( TextRendererFlag )
3593 Q_FLAG( TextRendererFlags )
3594
3601 {
3602 MapBox,
3603 Esri,
3604 };
3606
3613 {
3614 Clockwise,
3615 CounterClockwise,
3616 NoOrientation,
3617 };
3618 Q_ENUM( AngularDirection )
3619
3620
3625 enum class RendererUsage : int
3626 {
3627 View,
3628 Export,
3629 Unknown,
3630 };
3631 Q_ENUM( RendererUsage )
3632
3633
3638 enum class MapCanvasFlag : int SIP_ENUM_BASETYPE( IntFlag )
3639 {
3640 ShowMainAnnotationLayer = 1 << 0,
3641 };
3642 Q_ENUM( MapCanvasFlag )
3643
3644
3649 Q_DECLARE_FLAGS( MapCanvasFlags, MapCanvasFlag )
3650 Q_FLAG( MapCanvasFlags )
3651
3657 enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
3658 {
3659 Sync3DTo2D = 1 << 0,
3660 Sync2DTo3D = 1 << 1,
3661 };
3662 Q_ENUM( ViewSyncModeFlag )
3664
3671 {
3672 Always,
3673 WhenOutsideVisibleExtent,
3674 Never,
3675 };
3676 Q_ENUM( MapRecenteringMode )
3677
3678
3683 enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
3684 {
3685 LocalProfile = 1 << 0,
3686 // Project = 1 << 1, //!< QGIS Project (not yet implemented)
3687 };
3688 Q_ENUM( HistoryProviderBackend )
3690 Q_FLAG( HistoryProviderBackends )
3691
3697 enum class QueryStorageBackend : int
3698 {
3699 LocalProfile,
3700 CurrentProject,
3701 };
3702 Q_ENUM( QueryStorageBackend )
3703
3704
3712 {
3713 MapLayer SIP_MONKEYPATCH_COMPAT_NAME( TypeMapLayer ) = -2,
3714 VectorAnyGeometry SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorAnyGeometry ) = -1,
3715 VectorPoint SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPoint ) = 0,
3716 VectorLine SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorLine ) = 1,
3717 VectorPolygon SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPolygon ) = 2,
3718 Raster SIP_MONKEYPATCH_COMPAT_NAME( TypeRaster ) = 3,
3719 File SIP_MONKEYPATCH_COMPAT_NAME( TypeFile ) = 4,
3720 Vector SIP_MONKEYPATCH_COMPAT_NAME( TypeVector ) = 5,
3721 Mesh SIP_MONKEYPATCH_COMPAT_NAME( TypeMesh ) = 6,
3722 Plugin SIP_MONKEYPATCH_COMPAT_NAME( TypePlugin ) = 7,
3723 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( TypePointCloud ) = 8,
3724 Annotation SIP_MONKEYPATCH_COMPAT_NAME( TypeAnnotation ) = 9,
3725 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorTile ) = 10,
3726 TiledScene = 11
3727 };
3728 Q_ENUM( ProcessingSourceType )
3729
3730
3731
3739 {
3740 DeemphasiseSearchResults SIP_MONKEYPATCH_COMPAT_NAME( FlagDeemphasiseSearchResults )
3741 = 1 << 1,
3742 CompatibleWithVirtualRaster SIP_MONKEYPATCH_COMPAT_NAME( FlagCompatibleWithVirtualRaster ) = 1 << 2,
3743 };
3745
3754 Q_FLAG( ProcessingProviderFlags )
3755
3756
3764 {
3765 HideFromToolbox SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromToolbox ) = 1 << 1,
3766 HideFromModeler SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromModeler ) = 1 << 2,
3767 SupportsBatch SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsBatch ) = 1 << 3,
3768 CanCancel SIP_MONKEYPATCH_COMPAT_NAME( FlagCanCancel ) = 1 << 4,
3769 RequiresMatchingCrs SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresMatchingCrs ) = 1 << 5,
3770 NoThreading SIP_MONKEYPATCH_COMPAT_NAME( FlagNoThreading ) = 1 << 6,
3771 DisplayNameIsLiteral SIP_MONKEYPATCH_COMPAT_NAME( FlagDisplayNameIsLiteral ) = 1 << 7,
3772 SupportsInPlaceEdits SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsInPlaceEdits ) = 1 << 8,
3773 KnownIssues SIP_MONKEYPATCH_COMPAT_NAME( FlagKnownIssues ) = 1 << 9,
3774 CustomException SIP_MONKEYPATCH_COMPAT_NAME( FlagCustomException ) = 1 << 10,
3775 PruneModelBranchesBasedOnAlgorithmResults SIP_MONKEYPATCH_COMPAT_NAME( FlagPruneModelBranchesBasedOnAlgorithmResults ) = 1 << 11,
3776 SkipGenericModelLogging SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGenericModelLogging ) = 1 << 12,
3777 NotAvailableInStandaloneTool SIP_MONKEYPATCH_COMPAT_NAME( FlagNotAvailableInStandaloneTool ) = 1 << 13,
3778 RequiresProject SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresProject ) = 1 << 14,
3779 SecurityRisk = 1 << 15,
3780 Deprecated SIP_MONKEYPATCH_COMPAT_NAME( FlagDeprecated ) = HideFromToolbox | HideFromModeler,
3781 };
3783
3792 Q_FLAG( ProcessingAlgorithmFlags )
3793
3794
3800 {
3801 RegeneratesPrimaryKey = 1 << 0,
3802 RegeneratesPrimaryKeyInSomeScenarios = 1 << 1,
3803 RespectsEllipsoid = 1 << 2,
3804 };
3805 Q_ENUM( ProcessingAlgorithmDocumentationFlag )
3806
3807
3814
3824 {
3825 NotAvailable,
3826 Available,
3827 };
3828 Q_ENUM( ProcessingPropertyAvailability )
3829
3830
3838 {
3839 DefaultLevel = 0,
3840 Verbose,
3841 ModelDebug,
3842 };
3843 Q_ENUM( ProcessingLogLevel )
3844
3845
3853 {
3854 Standard,
3855 Batch,
3856 Modeler,
3857 };
3858 Q_ENUM( ProcessingMode )
3859
3860
3868 {
3869 OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck )
3870 = 1 << 0,
3871 CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature )
3872 = 1 << 1,
3873 };
3874 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3875
3876
3885
3894 {
3895 SkipGeometryValidityChecks SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGeometryValidityChecks ) = 1 << 1,
3896 };
3897 Q_ENUM( ProcessingFeatureSourceFlag )
3898
3899
3908
3920 {
3921 ExposeToModeler = 1
3922 };
3923 Q_ENUM( ProcessingParameterTypeFlag )
3924
3925
3937
3946 {
3947 Advanced SIP_MONKEYPATCH_COMPAT_NAME( FlagAdvanced ) = 1 << 1,
3948 Hidden SIP_MONKEYPATCH_COMPAT_NAME( FlagHidden ) = 1 << 2,
3949 Optional SIP_MONKEYPATCH_COMPAT_NAME( FlagOptional ) = 1 << 3,
3950 IsModelOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagIsModelOutput ) = 1 << 4,
3951 };
3952 Q_ENUM( ProcessingParameterFlag )
3953
3954
3962 Q_FLAG( ProcessingParameterFlags )
3963
3976 Q_ENUM( ProcessingFileParameterBehavior )
3977
3978
3990 Q_ENUM( ProcessingNumberParameterType )
3991
3992
4000 {
4001 Any = -1,
4002 Numeric = 0,
4003 String = 1,
4004 DateTime = 2,
4005 Binary = 3,
4006 Boolean = 4,
4007 };
4008 Q_ENUM( ProcessingFieldParameterDataType )
4009
4010
4023 Q_ENUM( ProcessingDateTimeParameterDataType )
4024
4025
4031 {
4032 ModelParameter,
4033 ChildOutput,
4034 StaticValue,
4035 Expression,
4036 ExpressionText,
4037 ModelOutput,
4038 };
4039 Q_ENUM( ProcessingModelChildParameterSource )
4040
4041
4047 {
4048 NotExecuted,
4050 Failed,
4051 };
4052 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
4053
4054
4062 {
4063 Vertices,
4064 StructureLines,
4065 BreakLines
4066 };
4067 Q_ENUM( ProcessingTinInputLayerType )
4068
4069
4079 Q_ENUM( CrsDefinitionFormat )
4080
4081
4089 enum class FieldDomainSplitPolicy : int
4090 {
4091 DefaultValue,
4092 Duplicate,
4093 GeometryRatio,
4094 UnsetField,
4095 };
4096 Q_ENUM( FieldDomainSplitPolicy )
4097
4098
4106 enum class FieldDomainMergePolicy : int
4107 {
4108 DefaultValue,
4109 Sum,
4110 GeometryWeighted,
4111 UnsetField,
4112 LargestGeometry,
4113 MinimumValue,
4114 MaximumValue,
4115 SetToNull,
4116 };
4117 Q_ENUM( FieldDomainMergePolicy )
4118
4119
4126 enum class FieldDuplicatePolicy : int
4127 {
4128 DefaultValue,
4129 Duplicate,
4130 UnsetField,
4131 };
4132 Q_ENUM( FieldDuplicatePolicy )
4133
4134
4139 enum class FieldDomainType : int
4140 {
4141 Coded,
4142 Range,
4143 Glob,
4144 };
4145 Q_ENUM( FieldDomainType )
4146
4147
4152 enum class TransactionMode : int
4153 {
4154 Disabled = 0,
4155 AutomaticGroups = 1,
4156 BufferedGroups = 2,
4157 };
4158 Q_ENUM( TransactionMode )
4159
4160
4165 enum class AltitudeClamping : int
4166 {
4167 Absolute,
4168 Relative,
4169 Terrain,
4170 };
4171 Q_ENUM( AltitudeClamping )
4172
4173
4178 enum class AltitudeBinding : int
4179 {
4180 Vertex,
4181 Centroid,
4182 };
4183 Q_ENUM( AltitudeBinding )
4184
4185
4190 enum class RangeLimits : int
4191 {
4192 IncludeBoth = 0,
4193 IncludeLowerExcludeUpper,
4194 ExcludeLowerIncludeUpper,
4195 ExcludeBoth,
4196 };
4197 Q_ENUM( RangeLimits )
4198
4199
4204 enum class RasterElevationMode : int
4205 {
4206 FixedElevationRange = 0,
4207 RepresentsElevationSurface = 1,
4208 FixedRangePerBand = 2,
4209 DynamicRangePerBand = 3,
4210 };
4211 Q_ENUM( RasterElevationMode )
4212
4213
4218 enum class MeshElevationMode : int
4219 {
4220 FixedElevationRange = 0,
4221 FromVertices = 1,
4222 FixedRangePerGroup = 2,
4223 };
4224 Q_ENUM( MeshElevationMode )
4225
4226
4232 {
4233 NoConstraint,
4234 Perpendicular,
4235 Parallel
4236 };
4237 Q_ENUM( BetweenLineConstraint )
4238
4239
4244 enum class LineExtensionSide : int
4245 {
4246 BeforeVertex,
4247 AfterVertex,
4248 NoVertex,
4249 };
4250 Q_ENUM( LineExtensionSide )
4251
4252
4253
4257 enum class CadConstraintType : int
4258 {
4259 Generic,
4260 Angle,
4261 Distance,
4262 XCoordinate,
4263 YCoordinate,
4264 ZValue,
4265 MValue,
4266 };
4267 Q_ENUM( CadConstraintType )
4268
4269
4274 {
4275 Hidden,
4276 Cartesian,
4277 Ellipsoidal,
4278 };
4279 Q_ENUM( CadMeasurementDisplayType )
4280
4281
4286 enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
4287 {
4288 EvaluateDefaultValuesOnProviderSide = 1 << 0,
4289 TrustStoredLayerStatistics
4290 = 1 << 1,
4291 RememberLayerEditStatusBetweenSessions = 1 << 2,
4292 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
4293 };
4294 Q_ENUM( ProjectFlag )
4295 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
4296 Q_FLAG( ProjectFlags )
4297
4303 enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
4304 {
4305 ShowContextMenu = 1 << 0,
4306 };
4307 Q_ENUM( PlotToolFlag )
4308 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
4309 Q_FLAG( PlotToolFlags )
4310
4311
4319 enum class Point3DShape : int
4320 {
4321 Cylinder,
4322 Sphere,
4323 Cone,
4324 Cube,
4325 Torus,
4326 Plane,
4327 ExtrudedText,
4328 Model,
4329 Billboard,
4330 };
4331 Q_ENUM( Point3DShape )
4332
4333
4342 {
4343 Triangles,
4344 Lines,
4345 InstancedPoints,
4346 Points,
4347 TrianglesWithFixedTexture,
4348 TrianglesFromModel,
4349 TrianglesDataDefined,
4350 Billboards,
4351 };
4352 Q_ENUM( MaterialRenderingTechnique )
4353
4354
4359 enum class LightSourceType : int
4360 {
4361 Point,
4362 Directional,
4363 };
4364 Q_ENUM( LightSourceType )
4365
4366
4371 enum class SkyboxType : int
4372 {
4373 DistinctTextures,
4374 // this is currently broken for z-up coordinate system
4375 //Panoramic, //!< Panoramic texture
4376 };
4377 Q_ENUM( SkyboxType )
4378
4379
4384 enum class SkyboxCubeMapping : int
4385 {
4386 NativeZUp,
4387 OpenGLYUp,
4388 GodotYUp,
4389 UnrealEngineZUp,
4390 LeftHandedYUpMirrored,
4391 };
4392 Q_ENUM( SkyboxCubeMapping )
4393
4394
4399 enum class NavigationMode : int
4400 {
4401 TerrainBased,
4402 Walk,
4403 GlobeTerrainBased
4404 };
4405 Q_ENUM( NavigationMode )
4406
4407
4412 enum class SceneMode : int
4413 {
4414 Local,
4415 Globe
4416 };
4417 Q_ENUM( SceneMode )
4418
4419
4424 enum class VerticalAxisInversion : int
4425 {
4426 Never,
4427 WhenDragging,
4428 Always,
4429 };
4430 Q_ENUM( VerticalAxisInversion )
4431
4432
4437 enum class Export3DSceneFormat : int
4438 {
4439 Obj,
4440 StlAscii
4441 };
4442 Q_ENUM( Export3DSceneFormat )
4443
4444
4450 {
4451 Line,
4452 FillBelow,
4453 FillAbove,
4454 };
4456
4462 enum class VectorProfileType : int
4463 {
4464 IndividualFeatures,
4465 ContinuousSurface,
4466 };
4468
4474 enum class PointCloudProfileType : int
4475 {
4476 IndividualPoints,
4477 TriangulatedSurface,
4478 };
4480
4486 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
4487 {
4488 RespectsMaximumErrorMapUnit = 1 << 0,
4489 RespectsDistanceRange = 1 << 1,
4490 RespectsElevationRange = 1 << 2,
4491 };
4492 Q_ENUM( ProfileGeneratorFlag )
4494 Q_FLAG( ProfileGeneratorFlags )
4495
4501 enum class ProfileExportType : int
4502 {
4503 Features3D,
4504 Profile2D,
4505 DistanceVsElevationTable,
4506 };
4508
4515 {
4516 Square,
4517 Circle,
4518 };
4519 Q_ENUM( PointCloudSymbol )
4520
4521
4527 {
4528 Default,
4529 BottomToTop,
4530 TopToBottom,
4531 };
4532 Q_ENUM( PointCloudDrawOrder )
4533
4534
4542 {
4543 AllowIntersections,
4544 AvoidIntersectionsCurrentLayer,
4545 AvoidIntersectionsLayers,
4546 };
4547 Q_ENUM( AvoidIntersectionsMode )
4548
4549
4557 {
4558 Qgz,
4559 Qgs,
4560 };
4561 Q_ENUM( ProjectFileFormat )
4562
4563
4571 {
4572 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers )
4573 = 1 << 0,
4574 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts )
4575 = 1 << 1,
4576 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata )
4577 = 1 << 2,
4578 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
4579 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
4580 DontLoadProjectStyles = 1 << 5,
4581 ForceReadOnlyLayers = 1 << 6,
4582 DontUpgradeAnnotations = 1 << 7,
4583 };
4584 Q_ENUM( ProjectReadFlag )
4585
4586
4594 Q_FLAG( ProjectReadFlags )
4595
4604 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
4605 {
4606 ProjectStyles = 1 << 0,
4607 };
4608 Q_ENUM( ProjectCapability )
4609
4610
4616 Q_FLAG( ProjectCapabilities )
4617
4624 {
4625 Vector,
4626 Raster,
4627 RasterDem,
4628 GeoJson,
4629 Image,
4630 Video,
4631 Unknown,
4632 };
4633 Q_ENUM( MapBoxGlStyleSourceType )
4634
4635
4643 {
4644 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
4645 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
4646 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
4647 GlobeServer,
4648 GPServer,
4649 GeocodeServer,
4650 Unknown,
4651 SceneServer,
4652 };
4653 Q_ENUM( ArcGisRestServiceType )
4654
4655
4664 {
4665 Map = 1 << 0,
4666 Query = 1 << 1,
4667 Update = 1 << 2,
4668 Delete = 1 << 3,
4669 Create = 1 << 4,
4670 Image = 1 << 5,
4671 TilesOnly = 1 << 6,
4672 };
4673 Q_ENUM( ArcGisRestServiceCapability )
4674
4675
4682
4691 {
4692 Normal,
4693 Generated,
4694 };
4695 Q_ENUM( RelationshipType )
4696
4697
4705 {
4706 Association,
4707 Composition,
4708 };
4709 Q_ENUM( RelationshipStrength )
4710
4711
4717 {
4718 OneToOne,
4719 OneToMany,
4720 ManyToOne,
4721 ManyToMany,
4722 };
4723 Q_ENUM( RelationshipCardinality )
4724
4725
4730 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
4731 {
4732 MultipleFieldKeys = 1 << 0,
4733 ForwardPathLabel = 1 << 1,
4734 BackwardPathLabel = 1 << 2,
4735 };
4736 Q_ENUM( RelationshipCapability )
4737
4738
4744 Q_FLAG( RelationshipCapabilities )
4745
4751 enum class CoordinateDisplayType : int
4752 {
4753 MapCrs,
4754 MapGeographic,
4755 CustomCrs,
4756 };
4757 Q_ENUM( CoordinateDisplayType )
4758
4759
4764 enum class SettingsOrigin : int
4765 {
4766 Any,
4767 Global,
4768 Local,
4769 };
4770 Q_ENUM( SettingsOrigin )
4771
4772
4777 enum class ScriptLanguage : int
4778 {
4779 Css,
4780 QgisExpression,
4781 Html,
4782 JavaScript,
4783 Json,
4784 Python,
4785 R,
4786 Sql,
4787 Batch,
4788 Bash,
4789 Unknown,
4790 };
4791 Q_ENUM( ScriptLanguage )
4792
4793
4801 {
4802 Reformat = 1 << 0,
4803 CheckSyntax = 1 << 1,
4804 ToggleComment = 1 << 2,
4805 };
4806 Q_ENUM( ScriptLanguageCapability )
4807
4808
4815
4822 {
4823 AboveInsertionPoint,
4824 TopOfTree,
4825 OptimalInInsertionGroup,
4826 };
4827 Q_ENUM( LayerTreeInsertionMethod )
4828
4829
4834 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
4835 {
4836 SkipVisibilityCheck = 1 << 0,
4837 };
4838 Q_ENUM( LayerTreeFilterFlag )
4839
4840
4846 Q_FLAG( LayerTreeFilterFlags )
4847
4853 enum class MapLayerLegendFlag : int SIP_ENUM_BASETYPE( IntFlag )
4854 {
4855 ExcludeByDefault = 1 << 0,
4856 };
4857 Q_ENUM( MapLayerLegendFlag )
4858
4859
4865 Q_FLAG( MapLayerLegendFlags )
4866
4875 {
4876 Undefined,
4877 Hidden,
4878 Title,
4879 Group,
4880 Subgroup,
4881 Symbol,
4882 SymbolLabel,
4883 };
4884 // !!! WARNING: If adding new values to this enum, make sure you update QgsLegendSettings constructor accordingly!!
4885 Q_ENUM( LegendComponent )
4886
4887
4892 enum class LegendSyncMode : int
4893 {
4894 AllProjectLayers,
4895 VisibleLayers,
4896 Manual,
4897 };
4898 Q_ENUM( LegendSyncMode )
4899
4900
4907 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
4908 {
4909 ShowRuleDetails = 1 << 0,
4910 };
4911 Q_ENUM( LegendJsonRenderFlag )
4913 Q_FLAG( LegendJsonRenderFlags )
4914
4922 enum class ActionType : int
4923 {
4924 Invalid,
4925 MapLayerAction,
4926 AttributeAction
4927 };
4928 Q_ENUM( ActionType )
4929
4930
4937 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
4938 {
4939 Layer = 1 << 0,
4940 SingleFeature = 1 << 1,
4941 MultipleFeatures = 1 << 2,
4942 AllActions = Layer | SingleFeature | MultipleFeatures
4943 };
4944 Q_ENUM( MapLayerActionTarget )
4945
4946
4954 Q_FLAG( MapLayerActionTargets )
4955
4963 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
4964 {
4965 EnabledOnlyWhenEditable = 1 << 1,
4966 EnableOnlyWhenHasGeometry = 1 << 2,
4967 };
4968 Q_ENUM( MapLayerActionFlag )
4969
4970
4978 Q_FLAG( MapLayerActionFlags )
4979
4988 {
4989 Generic,
4990 GenericPython,
4991 Mac,
4992 Windows,
4993 Unix,
4994 OpenUrl,
4995 SubmitUrlEncoded,
4996 SubmitUrlMultipart,
4997 };
4998 Q_ENUM( AttributeActionType )
4999
5000
5006 {
5007 Created,
5008 Published,
5009 Revised,
5010 Superseded,
5011 };
5012 Q_ENUM( MetadataDateType )
5013
5014
5023
5025 {
5026 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
5027 GrayIndex = 1,
5028 PaletteIndex = 2,
5029 RedBand = 3,
5030 GreenBand = 4,
5031 BlueBand = 5,
5032 AlphaBand = 6,
5033 HueBand = 7,
5034 SaturationBand = 8,
5035 LightnessBand = 9,
5036 CyanBand = 10,
5037 MagentaBand = 11,
5038 YellowBand = 12,
5039 BlackBand = 13,
5040 YCbCr_YBand = 14,
5041 YCbCr_CbBand = 15,
5042 YCbCr_CrBand = 16,
5043 ContinuousPalette = 17,
5044
5045 // Note: values between PanBand and SAR_P_Band match additions done in
5046 // GDAL 3.10, except that the numeric values of the constant don't match GDAL ones
5047
5048 PanBand = 18,
5049 CoastalBand = 19,
5050 RedEdgeBand = 20,
5051 NIRBand = 21,
5052 SWIRBand = 22,
5053 MWIRBand = 23,
5054 LWIRBand = 24,
5055 TIRBand = 25,
5056 OtherIRBand = 26,
5057 SAR_Ka_Band = 27,
5058 SAR_K_Band = 28,
5059 SAR_Ku_Band = 30,
5060 SAR_X_Band = 31,
5061 SAR_C_Band = 32,
5062 SAR_S_Band = 33,
5063 SAR_L_Band = 34,
5064 SAR_P_Band = 35,
5065 };
5066 Q_ENUM( RasterColorInterpretation )
5067
5068
5076 {
5077 GrayOrUndefined,
5078 Palette,
5079 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
5080 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
5081 };
5082 Q_ENUM( RasterLayerType )
5083
5084
5092 {
5093 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
5094 SingleBandGray,
5095 SingleBandPseudoColor,
5096 PalettedColor,
5097 PalettedSingleBandGray,
5098 PalettedSingleBandPseudoColor,
5099 PalettedMultiBandColor,
5100 MultiBandSingleBandGray,
5101 MultiBandSingleBandPseudoColor,
5102 MultiBandColor,
5103 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
5104 };
5105 Q_ENUM( RasterDrawingStyle )
5106
5107
5114 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
5115 {
5116 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
5117 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
5118 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
5119 };
5120 Q_ENUM( RasterPyramidFormat )
5121
5122
5130 {
5131 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
5132 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
5133 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
5134 };
5135 Q_ENUM( RasterBuildPyramidOption )
5136
5137
5145 {
5146 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
5147 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
5148 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
5149 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
5150 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
5151 };
5152 Q_ENUM( RasterIdentifyFormat )
5153
5154 // TODO QGIS 5 -- remove NoCapabilities and rely on RasterInterfaceCapabilities() instead
5155 // remove deprecated members
5156 // Remove "Identify" member, and replace with combinations of IdentifyValue/IdentifyText/etc
5157
5158
5166 {
5167 NoCapabilities = 0,
5168 Size = 1 << 1,
5169 Create = 1 << 2,
5170 Remove = 1 << 3,
5171 BuildPyramids = 1 << 4,
5172 Identify = 1 << 5,
5173 IdentifyValue = 1 << 6,
5174 IdentifyText = 1 << 7,
5175 IdentifyHtml = 1 << 8,
5176 IdentifyFeature = 1 << 9,
5177 Prefetch = 1 << 10,
5178 };
5179 Q_ENUM( RasterInterfaceCapability )
5180
5181
5188
5189 // TODO QGIS 5 -- remove NoProviderCapabilities and rely on RasterProviderCapabilities() instead
5190
5199 {
5200 NoProviderCapabilities = 0,
5201 ReadLayerMetadata = 1 << 1,
5202 WriteLayerMetadata = 1 << 2,
5203 ProviderHintBenefitsFromResampling = 1 << 3,
5204 ProviderHintCanPerformProviderResampling = 1 << 4,
5205 ReloadData = 1 << 5,
5206 DpiDependentData = 1 << 6,
5207 NativeRasterAttributeTable = 1 << 7,
5208 BuildPyramids = 1 << 8,
5209 };
5210 Q_ENUM( RasterProviderCapability )
5211
5212
5221
5228 {
5229 HighestElevation,
5230 NewerElevation,
5231 };
5232 Q_ENUM( ElevationMapCombineMethod )
5233
5234
5243 {
5244 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
5245 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
5246 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
5247 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
5248 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
5249 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
5250 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
5252 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
5253 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
5254 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
5255 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
5256 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
5257 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
5258 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
5259 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
5260 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
5261 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
5262 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
5263 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
5264 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
5265 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
5266 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
5268 };
5269 Q_ENUM( BlendMode )
5270
5271
5279 {
5280 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
5281 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
5282 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
5283 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
5284 };
5285 Q_ENUM( SystemOfMeasurement )
5286
5287
5294 {
5295 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
5296 Pixels,
5297 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
5298 };
5299 Q_ENUM( MapToolUnit )
5300
5301
5309 {
5310 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
5312 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
5313 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
5314 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
5315 };
5316 Q_ENUM( UnitType )
5317
5318
5326 {
5327 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
5328 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
5329 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
5330 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
5331 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
5332 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
5333 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
5334 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
5335 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
5336 Inches,
5337 ChainsInternational,
5338 ChainsBritishBenoit1895A,
5339 ChainsBritishBenoit1895B,
5340 ChainsBritishSears1922Truncated,
5341 ChainsBritishSears1922,
5342 ChainsClarkes,
5343 ChainsUSSurvey,
5344 FeetBritish1865,
5345 FeetBritish1936,
5346 FeetBritishBenoit1895A,
5347 FeetBritishBenoit1895B,
5348 FeetBritishSears1922Truncated,
5349 FeetBritishSears1922,
5350 FeetClarkes,
5351 FeetGoldCoast,
5352 FeetIndian,
5353 FeetIndian1937,
5354 FeetIndian1962,
5355 FeetIndian1975,
5356 FeetUSSurvey,
5357 LinksInternational,
5358 LinksBritishBenoit1895A,
5359 LinksBritishBenoit1895B,
5360 LinksBritishSears1922Truncated,
5361 LinksBritishSears1922,
5362 LinksClarkes,
5363 LinksUSSurvey,
5364 YardsBritishBenoit1895A,
5365 YardsBritishBenoit1895B,
5366 YardsBritishSears1922Truncated,
5367 YardsBritishSears1922,
5368 YardsClarkes,
5369 YardsIndian,
5370 YardsIndian1937,
5371 YardsIndian1962,
5372 YardsIndian1975,
5373 MilesUSSurvey,
5374 Fathoms,
5375 MetersGermanLegal,
5376 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
5377 };
5378 Q_ENUM( DistanceUnit )
5379
5380
5388 {
5389 Standard,
5390 Geographic,
5391 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
5392 };
5393 Q_ENUM( DistanceUnitType )
5394
5395
5403 {
5404 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
5405 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
5406 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
5407 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
5408 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
5409 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
5410 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
5411 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
5412 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
5413 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
5414 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
5415 SquareInches,
5416 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
5417 };
5418 Q_ENUM( AreaUnit )
5419
5420
5428 {
5429 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
5430 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
5431 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
5432 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
5433 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
5434 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
5435 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
5436 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
5437 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
5438 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
5439 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
5440 };
5441 Q_ENUM( VolumeUnit )
5442
5443
5451 {
5452 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
5453 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
5455 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
5456 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
5458 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
5459 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
5460 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
5461 };
5462 Q_ENUM( AngleUnit )
5463
5464
5472 {
5473 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
5474 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
5475 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
5476 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
5477 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
5478 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
5479 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
5480 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
5481 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
5482 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
5483 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
5484 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
5485 };
5486 Q_ENUM( TemporalUnit )
5487
5488
5496 {
5497 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
5498 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
5499 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
5500 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
5501 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
5502 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
5503 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
5504 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
5505 };
5506 Q_ENUM( RenderUnit )
5507
5508
5516 {
5517 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
5518 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
5519 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
5520 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
5521 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
5522 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
5523 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
5524 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
5525 };
5526 Q_ENUM( LayoutUnit )
5527
5528
5536 {
5537 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
5538 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
5539 };
5540 Q_ENUM( LayoutUnitType )
5541
5542
5550 {
5551 Debug SIP_MONKEYPATCH_COMPAT_NAME( FlagDebug ) = 1 << 1,
5552 OutlineOnly SIP_MONKEYPATCH_COMPAT_NAME( FlagOutlineOnly ) = 1 << 2,
5553 Antialiasing SIP_MONKEYPATCH_COMPAT_NAME( FlagAntialiasing ) = 1 << 3,
5554 UseAdvancedEffects SIP_MONKEYPATCH_COMPAT_NAME( FlagUseAdvancedEffects ) = 1 << 4,
5555 ForceVectorOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagForceVectorOutput )
5556 = 1 << 5,
5557 HideCoverageLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagHideCoverageLayer ) = 1 << 6,
5558 DrawSelection SIP_MONKEYPATCH_COMPAT_NAME( FlagDrawSelection ) = 1 << 7,
5559 DisableTiledRasterLayerRenders SIP_MONKEYPATCH_COMPAT_NAME( FlagDisableTiledRasterLayerRenders )
5560 = 1 << 8,
5561 RenderLabelsByMapLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagRenderLabelsByMapLayer )
5562 = 1 << 9,
5563 LosslessImageRendering SIP_MONKEYPATCH_COMPAT_NAME( FlagLosslessImageRendering )
5564 = 1 << 10,
5565 SynchronousLegendGraphics SIP_MONKEYPATCH_COMPAT_NAME( FlagSynchronousLegendGraphics ) = 1 << 11,
5566 AlwaysUseGlobalMasks SIP_MONKEYPATCH_COMPAT_NAME( FlagAlwaysUseGlobalMasks )
5567 = 1 << 12,
5568 LimitCoverageLayerRenderToCurrentFeature = 1 << 13,
5569 };
5570 Q_ENUM( LayoutRenderFlag )
5571
5572
5580 Q_FLAG( LayoutRenderFlags )
5581
5590 {
5591 SVG SIP_MONKEYPATCH_COMPAT_NAME( FormatSVG ) = 0,
5592 Raster SIP_MONKEYPATCH_COMPAT_NAME( FormatRaster ),
5593 Unknown SIP_MONKEYPATCH_COMPAT_NAME( FormatUnknown ),
5594 };
5595 Q_ENUM( PictureFormat )
5596
5597
5602 enum class ScaleCalculationMethod : int
5603 {
5604 HorizontalTop = 0,
5605 HorizontalMiddle,
5606 HorizontalBottom,
5607 HorizontalAverage,
5608 AtEquator,
5609 };
5610 Q_ENUM( ScaleCalculationMethod )
5611
5612
5625 Q_ENUM( ScaleBarAlignment )
5626
5627
5635 {
5636 Fixed SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFixed ) = 0,
5637 FitWidth SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFitWidth ) = 1
5638 };
5639 Q_ENUM( ScaleBarSegmentSizeMode )
5640
5641
5649 {
5650 AboveSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelAboveSegment ) = 0,
5651 BelowSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelBelowSegment ),
5652 };
5653 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
5654
5655
5663 {
5664 CenteredEdge SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredEdge ) = 0,
5665 CenteredSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredSegment ),
5666 };
5667 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
5668
5669
5670
5678 {
5679 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( MapUnit ),
5682 DynamicPageSizeBased,
5683 };
5684 Q_ENUM( MapGridUnit )
5685
5686
5694 {
5695 Lines SIP_MONKEYPATCH_COMPAT_NAME( Solid ) = 0,
5696 LineCrosses SIP_MONKEYPATCH_COMPAT_NAME( Cross ),
5697 Markers,
5698 FrameAndAnnotationsOnly SIP_MONKEYPATCH_COMPAT_NAME( FrameAnnotationsOnly )
5699 };
5700 Q_ENUM( MapGridStyle )
5701
5702
5710 {
5711 ShowAll = 0,
5712 LatitudeOnly,
5713 LongitudeOnly,
5714 HideAll
5715 };
5716 Q_ENUM( MapGridComponentVisibility )
5717
5718
5726 {
5727 InsideMapFrame = 0,
5728 OutsideMapFrame,
5729 };
5730 Q_ENUM( MapGridAnnotationPosition )
5731
5732
5740 {
5741 Horizontal = 0,
5742 Vertical,
5743 VerticalDescending,
5744 BoundaryDirection,
5745 AboveTick,
5746 OnTick,
5747 UnderTick,
5748 };
5749 Q_ENUM( MapGridAnnotationDirection )
5750
5751
5759 {
5760 Decimal = 0,
5761 DegreeMinute,
5762 DegreeMinuteSecond,
5763 DecimalWithSuffix,
5764 DegreeMinuteNoSuffix,
5765 DegreeMinutePadded,
5766 DegreeMinuteSecondNoSuffix,
5767 DegreeMinuteSecondPadded,
5768 CustomFormat
5769 };
5770 Q_ENUM( MapGridAnnotationFormat )
5771
5772
5786 Q_ENUM( MapGridBorderSide )
5787
5788
5796 {
5797 NoFrame = 0,
5798 Zebra,
5799 InteriorTicks,
5800 ExteriorTicks,
5801 InteriorExteriorTicks,
5802 LineBorder,
5803 LineBorderNautical,
5804 ZebraNautical,
5805 };
5806 Q_ENUM( MapGridFrameStyle )
5807
5808
5816 {
5817 OrthogonalTicks = 0,
5818 NormalizedTicks,
5819 };
5820 Q_ENUM( MapGridTickLengthMode )
5821
5822
5823
5831 {
5832 Left SIP_MONKEYPATCH_COMPAT_NAME( FrameLeft ) = 0x01,
5833 Right SIP_MONKEYPATCH_COMPAT_NAME( FrameRight ) = 0x02,
5834 Top SIP_MONKEYPATCH_COMPAT_NAME( FrameTop ) = 0x04,
5835 Bottom SIP_MONKEYPATCH_COMPAT_NAME( FrameBottom ) = 0x08
5836 };
5837 Q_ENUM( MapGridFrameSideFlag )
5838
5839
5847 Q_FLAG( MapGridFrameSideFlags )
5848
5857 {
5858 Longitude = 0,
5859 Latitude
5860 };
5861 Q_ENUM( MapGridAnnotationType )
5862
5863
5868 enum class InputControllerType : int
5869 {
5870 Map2D,
5871 Map3D
5872 };
5874
5881 {
5882 NotSet,
5883 Unknown,
5884 OrdinaryTable,
5885 Index,
5886 Sequence,
5887 View,
5888 MaterializedView,
5889 CompositeType,
5890 ToastTable,
5891 ForeignTable,
5892 PartitionedTable,
5893 };
5894 Q_ENUM( PostgresRelKind )
5895
5896
5902 {
5903 SetFieldComment = 1 << 0,
5904 SetFieldAlias = 1 << 1,
5905 SetTableComment = 1 << 2,
5906 EditFieldDomain = 1 << 3,
5907 DeleteFieldDomain = 1 << 4,
5908 };
5909 Q_ENUM( DatabaseProviderConnectionCapability2 )
5912
5919 {
5920 SetGeometryColumnName = 1 << 0,
5921 SetPrimaryKeyName = 1 << 1,
5922 };
5923 Q_ENUM( DatabaseProviderTableImportCapability )
5926
5933 {
5934 SaveToDatabase = 1 << 1,
5935 LoadFromDatabase = 1 << 2,
5936 DeleteFromDatabase = 1 << 3
5937 };
5941
5942
5948 {
5949 LastProfile,
5950 DefaultProfile,
5951 AskUser,
5952 };
5953 Q_ENUM( UserProfileSelectionPolicy )
5954
5955
5963 {
5964 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
5965 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
5966 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
5967 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
5968 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
5969 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
5970 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
5971 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
5972 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
5973 };
5974 Q_ENUM( AttributeEditorType )
5975
5976
5982 {
5983 GroupBox,
5984 Tab,
5985 Row,
5986 };
5987 Q_ENUM( AttributeEditorContainerType )
5988
5989
5997 {
5998 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
5999 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
6000 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
6001 };
6002 Q_ENUM( AttributeFormLayout )
6003
6004
6012 {
6013 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
6014 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
6015 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
6016 };
6017 Q_ENUM( AttributeFormSuppression )
6018
6019
6027 {
6028 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
6029 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
6030 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
6031 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
6032 };
6033 Q_ENUM( AttributeFormPythonInitCodeSource )
6034
6035
6041 {
6042 NotAllowed = 0,
6043 AllowedDefaultOn = 1,
6044 AllowedDefaultOff = 2,
6045 };
6046 Q_ENUM( AttributeFormReuseLastValuePolicy )
6047
6048
6054 {
6056 PointCloud,
6057 RasterCalculator,
6058 };
6059 Q_ENUM( ExpressionType )
6060
6061
6069 {
6070 NoSymbology = 0,
6071 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
6072 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
6073 };
6074 Q_ENUM( FeatureSymbologyExport )
6075
6076
6081 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
6082 {
6083 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
6084 };
6085 Q_ENUM( VectorTileProviderFlag )
6086
6087
6093 Q_FLAG( VectorTileProviderFlags )
6094
6100 {
6101 ReadLayerMetadata = 1 << 1,
6102 };
6103 Q_ENUM( VectorTileProviderCapability )
6104
6105
6112
6119 {
6120 Available,
6121 NotAvailable,
6122 AvailableNoChildren,
6123 UseLowerZoomLevelTile,
6124 };
6125 Q_ENUM( TileAvailability )
6126
6127
6133 {
6134 ReadLayerMetadata = 1 << 1,
6135 };
6136 Q_ENUM( TiledSceneProviderCapability )
6137
6138
6145
6152 {
6153 Region,
6154 OrientedBox,
6155 Sphere,
6156 };
6157 Q_ENUM( TiledSceneBoundingVolumeType )
6158
6159
6168 {
6169 Replacement,
6170 Additive,
6171 };
6172 Q_ENUM( TileRefinementProcess )
6173
6174
6180 {
6181 NoChildren,
6182 Available,
6183 NeedFetching,
6184 };
6185 Q_ENUM( TileChildrenAvailability )
6186
6187
6192 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
6193 {
6194 NoHierarchyFetch = 1 << 0,
6195 };
6196 Q_ENUM( TiledSceneRequestFlag )
6197
6198
6204 Q_FLAG( TiledSceneRequestFlags )
6205
6211 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
6212 {
6213 RequiresTextures = 1 << 0,
6214 ForceRasterRender = 1 << 1,
6215 RendersTriangles = 1 << 2,
6216 RendersLines = 1 << 3,
6217 };
6218 Q_ENUM( TiledSceneRendererFlag )
6219
6220
6226 Q_FLAG( TiledSceneRendererFlags )
6227
6233 enum class GdalResampleAlgorithm : int
6234 {
6235 RA_NearestNeighbour = 0,
6236 RA_Bilinear = 1,
6237 RA_Cubic = 2,
6238 RA_CubicSpline = 3,
6239 RA_Lanczos = 4,
6240 RA_Average = 5,
6241 RA_Mode = 6,
6242 RA_Max = 8,
6243 RA_Min = 9,
6244 RA_Median = 10,
6245 RA_Q1 = 11,
6246 RA_Q3 = 12,
6247 };
6248 Q_ENUM( GdalResampleAlgorithm )
6249
6250
6255 enum class VsiHandlerType : int
6256 {
6257 Invalid,
6258 Archive,
6259 Network,
6260 Cloud,
6261 Memory,
6262 Other,
6263 };
6264 Q_ENUM( VsiHandlerType )
6265
6266 // TODO QGIS 5: make All include all values (we can't do this before 4.0, as we need to keep
6267 // compatibility with code which expects all these statistics to give numeric results)
6268
6269
6274 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
6275 {
6276 Count = 1 << 0,
6277 Sum = 1 << 1,
6278 Mean = 1 << 2,
6279 Median = 1 << 3,
6280 StDev = 1 << 4,
6281 Min = 1 << 5,
6282 Max = 1 << 6,
6283 Range = 1 << 7,
6284 Minority = 1 << 8,
6285 Majority = 1 << 9,
6286 Variety = 1 << 10,
6287 Variance = 1 << 11,
6288 MinimumPoint = 1 << 12,
6289 MaximumPoint = 1 << 13,
6290 // clang-format off
6291 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6292 // clang-format on
6293 AllNumeric = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6294 Default = Count | Sum | Mean,
6295 };
6296 Q_ENUM( ZonalStatistic )
6297
6298
6304 Q_FLAG( ZonalStatistics )
6305
6311 enum class ZonalStatisticResult : int
6312 {
6314 LayerTypeWrong = 1,
6315 LayerInvalid,
6316 RasterInvalid,
6317 RasterBandInvalid,
6318 FailedToCreateField = 8,
6319 Canceled = 9
6320 };
6321 Q_ENUM( ZonalStatisticResult )
6322
6323
6330 {
6331 Count,
6332 CountDistinct,
6333 CountMissing,
6334 Min,
6335 Max,
6336 Sum,
6337 Mean,
6338 Median,
6339 StDev,
6340 StDevSample,
6341 Range,
6342 Minority,
6343 Majority,
6344 FirstQuartile,
6345 ThirdQuartile,
6346 InterQuartileRange,
6347 StringMinimumLength,
6348 StringMaximumLength,
6349 StringConcatenate,
6350 GeometryCollect,
6351 ArrayAggregate,
6352 StringConcatenateUnique
6353 };
6354 Q_ENUM( Aggregate )
6355
6356
6362 {
6363 Count = 1 << 0,
6364 CountMissing = 1 << 15,
6365 Sum = 1 << 1,
6366 Mean = 1 << 2,
6367 Median = 1 << 3,
6368 StDev = 1 << 4,
6369 StDevSample = 1 << 5,
6370 Min = 1 << 6,
6371 Max = 1 << 7,
6372 Range = 1 << 8,
6373 Minority = 1 << 9,
6374 Majority = 1 << 10,
6375 Variety = 1 << 11,
6376 FirstQuartile = 1 << 12,
6377 ThirdQuartile = 1 << 13,
6378 InterQuartileRange = 1 << 14,
6379 First = 1 << 16,
6380 Last = 1 << 17,
6381 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
6382 };
6383 Q_ENUM( Statistic )
6384
6385
6391 Q_FLAG( Statistics )
6392
6399 {
6400 Count = 1,
6401 CountDistinct = 2,
6402 CountMissing = 4,
6403 Min = 8,
6404 Max = 16,
6405 Range = 32,
6406 All = Count | CountDistinct | CountMissing | Min | Max | Range,
6407 };
6408 Q_ENUM( DateTimeStatistic )
6409
6410
6416 Q_FLAG( DateTimeStatistics )
6417
6424 {
6425 Count = 1,
6426 CountDistinct = 2,
6427 CountMissing = 4,
6428 Min = 8,
6429 Max = 16,
6430 MinimumLength = 32,
6431 MaximumLength = 64,
6432 MeanLength = 128,
6433 Minority = 256,
6434 Majority = 512,
6435 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
6436 };
6437 Q_ENUM( StringStatistic )
6438
6439
6445 Q_FLAG( StringStatistics )
6446
6453 {
6454 NoStatistic = 0,
6455 Min = 1,
6456 Max = 1 << 1,
6457 Range = 1 << 2,
6458 Sum = 1 << 3,
6459 Mean = 1 << 4,
6460 StdDev = 1 << 5,
6461 SumOfSquares = 1 << 6,
6462 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
6463 };
6464 Q_ENUM( RasterBandStatistic )
6465
6466
6472 Q_FLAG( RasterBandStatistics )
6473
6479 enum class SensorThingsEntity : int
6480 {
6481 Invalid,
6482 Thing,
6483 Location,
6484 HistoricalLocation,
6485 Datastream,
6486 Sensor,
6487 ObservedProperty,
6488 Observation,
6489 FeatureOfInterest,
6490 MultiDatastream,
6491 };
6492 Q_ENUM( SensorThingsEntity )
6493
6494
6499 enum class ColorModel : int
6500 {
6501 Rgb,
6502 Cmyk,
6503 };
6504 Q_ENUM( ColorModel )
6505
6506
6511 enum class DocumentationApi : int
6512 {
6513 PyQgis,
6514 PyQgisSearch,
6515 CppQgis,
6516 Qt,
6517 };
6518 Q_ENUM( DocumentationApi )
6519
6520
6525 enum class DocumentationBrowser : int
6526 {
6527 DeveloperToolsPanel,
6528 SystemWebBrowser,
6529 };
6530 Q_ENUM( DocumentationBrowser )
6531
6532
6537 enum class MouseHandlesAction : int
6538 {
6539 MoveItem,
6540 ResizeUp,
6541 ResizeDown,
6542 ResizeLeft,
6543 ResizeRight,
6544 ResizeLeftUp,
6545 ResizeRightUp,
6546 ResizeLeftDown,
6547 ResizeRightDown,
6548 RotateTopLeft,
6549 RotateTopRight,
6550 RotateBottomLeft,
6551 RotateBottomRight,
6552 SelectItem,
6553 NoAction
6554 };
6555 Q_ENUM( MouseHandlesAction )
6556
6557
6561 enum class MeshRangeLimit : int
6562 {
6563 NotSet,
6564 MinimumMaximum,
6565 };
6566 Q_ENUM( MeshRangeLimit )
6567
6568
6573 enum class MeshRangeExtent : int
6574 {
6575 WholeMesh,
6576 FixedCanvas,
6577 UpdatedCanvas,
6578 };
6579 Q_ENUM( MeshRangeExtent )
6580
6581
6587 enum class PointCloudAccessType : int
6588 {
6589 Local,
6590 Remote
6591 };
6592 Q_ENUM( PointCloudAccessType )
6593
6594
6599 {
6600 RenderExtents,
6601 RenderOverview,
6602 RenderOverviewAndExtents
6603 };
6604 Q_ENUM( PointCloudZoomOutRenderBehavior )
6605
6606
6611 {
6612 Standard = 0,
6613 Adaptive,
6614 AreaError,
6615 ConstantDensity
6616 };
6617 Q_ENUM( SegmentCalculationMethod )
6618
6619
6623 enum class StacObjectType : int
6624 {
6625 Unknown,
6626 Catalog,
6627 Collection,
6628 Item,
6629 };
6630 Q_ENUM( StacObjectType )
6631
6632
6637 {
6638 WmsScale = 1 << 0,
6639 WmsDpi = 1 << 1,
6640 };
6641 Q_ENUM( RasterProcessingParameterCapability )
6642
6643
6649
6655 {
6656 Status = Qt::UserRole + 1,
6657 Id,
6658 ElapsedTime,
6659 MaximumTime,
6660 Sort,
6661 };
6662 Q_ENUM( DevToolsNodeRole )
6663
6664
6669 enum class ExtrusionFace : int SIP_ENUM_BASETYPE( IntFlag )
6670 {
6671 NoFace = 0,
6672 Walls = 1 << 0,
6673 Roof = 1 << 1,
6674 Floor = 1 << 2
6675 };
6676 Q_ENUM( ExtrusionFace )
6677
6678
6682 Q_DECLARE_FLAGS( ExtrusionFaces, ExtrusionFace )
6683 Q_FLAG( ExtrusionFaces )
6684
6689 enum class TriangulationAlgorithm : int SIP_ENUM_BASETYPE( IntFlag )
6690 {
6691 ConstrainedDelaunay = 0,
6692 Earcut = 1 << 0
6693 };
6694 Q_ENUM( TriangulationAlgorithm )
6695
6696
6699 static const double DEFAULT_SEARCH_RADIUS_MM;
6700
6703
6709 static const QColor DEFAULT_HIGHLIGHT_COLOR;
6710
6714 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
6715
6720
6728 Q_DECL_DEPRECATED static const double SCALE_PRECISION;
6729
6734 static const double DEFAULT_Z_COORDINATE;
6735
6741 static const double DEFAULT_M_COORDINATE;
6742
6747 static const double UI_SCALE_FACTOR;
6748
6752 static const double DEFAULT_SNAP_TOLERANCE;
6753
6758
6762 static const int USER_CRS_START_ID;
6763
6765 static const double DEFAULT_POINT_SIZE;
6766
6768 static const double DEFAULT_LINE_WIDTH;
6769
6771 static const double DEFAULT_SEGMENT_EPSILON;
6772
6775
6778
6784 static QString defaultProjectScales();
6785
6791 static int geosVersionInt();
6792
6798 static int geosVersionMajor();
6799
6805 static int geosVersionMinor();
6806
6812 static int geosVersionPatch();
6813
6819 static QString geosVersion();
6820
6826 static bool hasSfcgal();
6827
6834 static int sfcgalVersionInt();
6835
6841 static bool hasGeographicLib();
6842
6849 static int geographicLibVersion();
6850
6856 Q_DECL_DEPRECATED static bool hasQtWebkit();
6857
6863 static QString geoNone() { return u"NONE"_s; }
6864
6870 static QString geographicCrsAuthId() { return u"EPSG:4326"_s; }
6871
6876 Q_DECL_DEPRECATED static QString geoWkt()
6877 {
6878 return QStringLiteral(
6879 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]] )"""
6880 );
6881 }
6882
6887 Q_DECL_DEPRECATED static QString geoProj4() { return u"+proj=longlat +datum=WGS84 +no_defs"_s; }
6888};
6889
6892
6987Q_DECLARE_METATYPE( QTimeZone )
6988
6989// hack to workaround warnings when casting void pointers
6990// retrieved from QLibrary::resolve to function pointers.
6991// It's assumed that this works on all systems supporting
6992// QLibrary
6993#define cast_to_fptr( f ) f
6994
6995
7003// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
7004template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
7005{
7006 public:
7011 explicit QgsSignalBlocker( Object *object )
7012 : mObject( object )
7013 , mPreviousState( object->blockSignals( true ) )
7014 {}
7015
7016 ~QgsSignalBlocker() { mObject->blockSignals( mPreviousState ); }
7017
7019 Object *operator->() { return mObject; }
7020
7021 private:
7022 Object *mObject = nullptr;
7023 bool mPreviousState;
7024};
7025
7038// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
7039template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
7040{
7041 return QgsSignalBlocker<Object>( object );
7042}
7043
7045CORE_EXPORT uint qHash( const QVariant &variant );
7046
7052inline QString qgsDoubleToString( double a, int precision = 17 )
7053{
7054 QString str;
7055 if ( precision )
7056 {
7057 if ( precision < 0 )
7058 {
7059 const double roundFactor = std::pow( 10, -precision );
7060 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
7061 }
7062 else
7063 {
7064 str = QString::number( a, 'f', precision );
7065 if ( str.contains( '.'_L1 ) )
7066 {
7067 // remove ending 0s
7068 int idx = str.length() - 1;
7069 while ( str.at( idx ) == '0' && idx > 1 )
7070 {
7071 idx--;
7072 }
7073 if ( idx < str.length() - 1 )
7074 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
7075 }
7076 }
7077 }
7078 else
7079 {
7080 str = QString::number( a, 'f', precision );
7081 }
7082 // avoid printing -0
7083 // see https://bugreports.qt.io/browse/QTBUG-71439
7084 if ( str == "-0"_L1 )
7085 {
7086 return "0"_L1;
7087 }
7088 return str;
7089}
7090
7097inline bool qgsNanCompatibleEquals( double a, double b )
7098{
7099 const bool aIsNan = std::isnan( a );
7100 const bool bIsNan = std::isnan( b );
7101 if ( aIsNan || bIsNan )
7102 return aIsNan && bIsNan;
7103
7104 return a == b;
7105}
7106
7107#ifndef SIP_RUN
7108
7116template<typename T> inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
7117{
7118 const bool aIsNan = std::isnan( a );
7119 const bool bIsNan = std::isnan( b );
7120 if ( aIsNan || bIsNan )
7121 return aIsNan && bIsNan;
7122
7123 const T diff = a - b;
7124 return diff >= -epsilon && diff <= epsilon;
7125}
7126#endif
7127
7134inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7135{
7136 return qgsNumberNear<double>( a, b, epsilon );
7137}
7138
7145inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
7146{
7147 return qgsNumberNear<float>( a, b, epsilon );
7148}
7149
7151inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
7152{
7153 const bool aIsNan = std::isnan( a );
7154 const bool bIsNan = std::isnan( b );
7155 if ( aIsNan || bIsNan )
7156 return aIsNan && bIsNan;
7157
7158 // The most simple would be to print numbers as %.xe and compare as strings
7159 // but that is probably too costly
7160 // Then the fastest would be to set some bits directly, but little/big endian
7161 // has to be considered (maybe TODO)
7162 // Is there a better way?
7163 int aexp, bexp;
7164 const double ar = std::frexp( a, &aexp );
7165 const double br = std::frexp( b, &bexp );
7166
7167 return aexp == bexp && std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
7168}
7169
7174inline double qgsRound( double number, int places )
7175{
7176 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
7177 const double scaleFactor = std::pow( 10.0, places );
7178 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
7179}
7180
7181#ifndef SIP_RUN
7182
7189template<class Key, class Value> QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
7190{
7191 QString result;
7192 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7193 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
7194
7195 result.chop( separator.size() );
7196 return result;
7197}
7198
7205template<class Key, class Value> QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
7206{
7207 QString result;
7208 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7209 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
7210
7211 result.chop( separator.size() );
7212 return result;
7213}
7214
7221template<class T> QString qgsSetJoin( const QSet<T> &set, const QString &separator )
7222{
7223 QString result;
7224 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
7225 result += QString( "%1%2" ).arg( *it ).arg( separator );
7226
7227 result.chop( separator.size() );
7228 return result;
7229}
7230
7232
7242namespace qgis
7243{
7244
7257 template<typename To, typename From> inline To down_cast( From *f )
7258 {
7259 static_assert( ( std::is_base_of<From, typename std::remove_pointer<To>::type>::value ), "target type not derived from source type" );
7260 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
7261 return static_cast<To>( f );
7262 }
7263
7264 template<class T> QSet<T> listToSet( const QList<T> &list )
7265 {
7266 return QSet<T>( list.begin(), list.end() );
7267 }
7268
7269 template<class T> QList<T> setToList( const QSet<T> &set )
7270 {
7271 return QList<T>( set.begin(), set.end() );
7272 }
7273} //namespace qgis
7274
7276#endif
7277
7282template<class T> const QList<T> qgsEnumList() SIP_SKIP
7283{
7284 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7285 Q_ASSERT( metaEnum.isValid() );
7286 QList<T> enumList;
7287 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7288 {
7289 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
7290 }
7291 return enumList;
7292}
7293
7299template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
7300{
7301 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7302 Q_ASSERT( metaEnum.isValid() );
7303 QMap<T, QString> enumMap;
7304 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7305 {
7306 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
7307 }
7308 return enumMap;
7309}
7310
7316template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7317{
7318 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7319 Q_ASSERT( metaEnum.isValid() );
7320 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
7321 if ( returnOk )
7322 {
7323 *returnOk = key ? true : false;
7324 }
7325 return QString::fromUtf8( key );
7326}
7327
7335template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7336{
7337 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7338 Q_ASSERT( metaEnum.isValid() );
7339 bool ok = false;
7340 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
7341 if ( returnOk )
7342 {
7343 *returnOk = ok;
7344 }
7345 if ( ok )
7346 {
7347 return v;
7348 }
7349 else
7350 {
7351 // if conversion has failed, try with conversion from int value
7352 if ( tryValueAsKey )
7353 {
7354 bool canConvert = false;
7355 const int intValue = key.toInt( &canConvert );
7356 if ( canConvert && metaEnum.valueToKey( intValue ) )
7357 {
7358 if ( returnOk )
7359 {
7360 *returnOk = true;
7361 }
7362 return static_cast<T>( intValue );
7363 }
7364 }
7365 }
7366 return defaultValue;
7367}
7368
7374template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7375{
7376 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7377 Q_ASSERT( metaEnum.isValid() );
7378 int intValue = static_cast<int>( value );
7379 if ( intValue == 0 )
7380 {
7381 if ( returnOk )
7382 *returnOk = true;
7383 return u"0"_s;
7384 }
7385
7386 const QByteArray ba = metaEnum.valueToKeys( intValue );
7387 // check that the int value does correspond to a flag
7388 // see https://stackoverflow.com/a/68495949/1548052
7389 const int intValueCheck = metaEnum.keysToValue( ba );
7390 bool ok = intValue == intValueCheck;
7391 if ( returnOk )
7392 *returnOk = ok;
7393 return ok ? QString::fromUtf8( ba ) : QString();
7394}
7395
7403template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7404{
7405 if ( keys.isEmpty() )
7406 {
7407 if ( returnOk )
7408 {
7409 *returnOk = false;
7410 }
7411 return defaultValue;
7412 }
7413 else if ( keys == "0"_L1 )
7414 {
7415 if ( returnOk )
7416 {
7417 *returnOk = true;
7418 }
7419 return T();
7420 }
7421 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7422 Q_ASSERT( metaEnum.isValid() );
7423 bool ok = false;
7424 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
7425 if ( returnOk )
7426 {
7427 *returnOk = ok;
7428 }
7429 if ( ok )
7430 {
7431 return v;
7432 }
7433 else
7434 {
7435 // if conversion has failed, try with conversion from int value
7436 if ( tryValueAsKey )
7437 {
7438 bool canConvert = false;
7439 const int intValue = keys.toInt( &canConvert );
7440 if ( canConvert )
7441 {
7442 const QByteArray keyArray = metaEnum.valueToKeys( intValue );
7443 const int intValueCheck = metaEnum.keysToValue( keyArray );
7444 if ( !keyArray.isEmpty() && intValue == intValueCheck )
7445 {
7446 if ( returnOk )
7447 {
7448 *returnOk = true;
7449 }
7450 return T( intValue );
7451 }
7452 }
7453 }
7454 }
7455 return defaultValue;
7456}
7457
7458
7467CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
7468
7477CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
7478
7488CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
7489
7509CORE_EXPORT int qgsVariantCompare( const QVariant &lhs, const QVariant &rhs, bool strictTypeCheck = false );
7510
7521CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
7522
7531CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
7532
7541CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
7542
7554inline bool operator>( const QVariant &v1, const QVariant &v2 )
7555{
7556 return qgsVariantCompare( v1, v2, true ) > 0;
7557}
7558
7570inline bool operator<( const QVariant &v1, const QVariant &v2 )
7571{
7572 return qgsVariantCompare( v1, v2, true ) < 0;
7573}
7574
7581Q_DECL_DEPRECATED CORE_EXPORT QString qgsVsiPrefix( const QString &path ) SIP_DEPRECATED;
7582
7588void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
7589
7594void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
7595
7596#ifndef SIP_RUN
7597
7599class ScopedIntIncrementor
7600{
7601 public:
7602 ScopedIntIncrementor( int *variable )
7603 : mVariable( variable )
7604 {
7605 ( *mVariable )++;
7606 }
7607
7608 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
7609 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
7610
7611 void release()
7612 {
7613 if ( mVariable )
7614 ( *mVariable )--;
7615
7616 mVariable = nullptr;
7617 }
7618
7619 ~ScopedIntIncrementor() { release(); }
7620
7621 private:
7622 int *mVariable = nullptr;
7623};
7625
7626#endif
7627
7633Q_DECL_DEPRECATED const long GEOSRID = 4326;
7634
7640Q_DECL_DEPRECATED const long GEOCRS_ID = 3452;
7641
7647Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID = 4326;
7648
7649typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
7650
7659typedef unsigned long long qgssize;
7660
7661#ifndef SIP_RUN
7662#if ( __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 6 ) ) || defined( __clang__ )
7663
7664#define Q_NOWARN_DEPRECATED_PUSH _Pragma( "GCC diagnostic push" ) _Pragma( "GCC diagnostic ignored \"-Wdeprecated-declarations\"" );
7665#define Q_NOWARN_DEPRECATED_POP _Pragma( "GCC diagnostic pop" );
7666#define Q_NOWARN_UNREACHABLE_PUSH
7667#define Q_NOWARN_UNREACHABLE_POP
7668
7669#elif defined( _MSC_VER )
7670
7671#define Q_NOWARN_DEPRECATED_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4996 ) )
7672#define Q_NOWARN_DEPRECATED_POP __pragma( warning( pop ) )
7673#define Q_NOWARN_UNREACHABLE_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4702 ) )
7674#define Q_NOWARN_UNREACHABLE_POP __pragma( warning( pop ) )
7675#else
7676
7677#define Q_NOWARN_DEPRECATED_PUSH
7678#define Q_NOWARN_DEPRECATED_POP
7679#define Q_NOWARN_UNREACHABLE_PUSH
7680#define Q_NOWARN_UNREACHABLE_POP
7681
7682#endif
7683#endif
7684
7685#ifndef QGISEXTERN
7686#ifdef Q_OS_WIN
7687#define QGISEXTERN extern "C" __declspec( dllexport )
7688#else
7689#if defined( __GNUC__ ) || defined( __clang__ )
7690#define QGISEXTERN extern "C" __attribute__( ( visibility( "default" ) ) )
7691#else
7692#define QGISEXTERN extern "C"
7693#endif
7694#endif
7695#endif
7696#endif
7697
7698#ifndef SIP_RUN
7699#ifdef _MSC_VER
7700#define BUILTIN_UNREACHABLE __assume( false );
7701#elif defined( __GNUC__ ) && !defined( __clang__ )
7702// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
7703// like:
7704// switch( mVariableThatCanOnlyBeXorY )
7705// {
7706// case X:
7707// return "foo";
7708// case Y:
7709// return "foo";
7710// }
7711// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
7712#define BUILTIN_UNREACHABLE __builtin_unreachable();
7713#else
7714#define BUILTIN_UNREACHABLE
7715#endif
7716#endif // SIP_RUN
Provides global constants and enumerations for use throughout the application.
Definition qgis.h:62
MapGridTickLengthMode
Map grid tick length mode (useful for rotated grids).
Definition qgis.h:5816
DistanceUnitType
Types of distance units.
Definition qgis.h:5388
PieChartLabelType
Pie chart label types.
Definition qgis.h:3527
GnssConstellation
GNSS constellation.
Definition qgis.h:2024
SettingsOption
Settings options.
Definition qgis.h:751
EmbeddedScriptType
Type of Python Embedded in projects.
Definition qgis.h:463
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition qgis.h:4487
GeometryBackend
Geometry backend for QgsGeometry.
Definition qgis.h:2268
ProcessingSourceType
Processing data source types.
Definition qgis.h:3712
static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS
Default snapping distance units.
Definition qgis.h:6757
GpsQualityIndicator
GPS signal quality indicator.
Definition qgis.h:2042
QFlags< MapGridFrameSideFlag > MapGridFrameSideFlags
Flags for controlling which side of the map a frame is drawn on.
Definition qgis.h:5846
DataItemProviderCapability
Capabilities for data item providers.
Definition qgis.h:1043
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3972
RasterizedRenderingPolicy
Policies controlling when rasterisation of content during renders is permitted.
Definition qgis.h:2865
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
Definition qgis.h:2960
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:4571
QFlags< DatabaseProviderTableImportCapability > DatabaseProviderTableImportCapabilities
Definition qgis.h:5924
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
Definition qgis.h:2137
CurvedLabelMode
Modes which determine how curved labels are generated and placed.
Definition qgis.h:1292
MapToolUnit
Type of unit of tolerance value from settings.
Definition qgis.h:5294
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:3499
static const double DEFAULT_LINE_WIDTH
The default width (in millimeters) for line symbols.
Definition qgis.h:6768
ProcessingModelChildAlgorithmExecutionStatus
Reflects the status of a child algorithm in a Processing model.
Definition qgis.h:4047
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
Definition qgis.h:2104
ScaleBarDistanceLabelHorizontalPlacement
Scale bar distance label horizontal placement.
Definition qgis.h:5663
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:4515
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
Definition qgis.h:834
static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM
Default highlight line/stroke minimum width in mm.
Definition qgis.h:6719
static QString version()
Version string.
Definition qgis.cpp:682
GeometryValidityFlag
Geometry validity check flags.
Definition qgis.h:2191
QFlags< RasterProviderCapability > RasterProviderCapabilities
Raster data provider capabilities.
Definition qgis.h:5219
ExpressionType
Expression types.
Definition qgis.h:6054
MapLayerActionFlag
Map layer action flags.
Definition qgis.h:4964
ScaleBarDistanceLabelVerticalPlacement
Scale bar distance label vertical placement.
Definition qgis.h:5649
MapLayerProperty
Generic map layer properties.
Definition qgis.h:2413
VectorProviderCapability
Vector data provider capabilities.
Definition qgis.h:525
RasterProcessingParameterCapability
Capabilities of a raster layer processing parameter.
Definition qgis.h:6637
BufferSide
Side of line to buffer.
Definition qgis.h:2217
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1589
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
Definition qgis.h:4953
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
Definition qgis.h:6100
ProjectTrustStatus
Project trust status.
Definition qgis.h:476
MultiPartLabelingBehavior
Behavior modifier for labeling features with multi-part geometries.
Definition qgis.h:1331
AltitudeClamping
Altitude clamping.
Definition qgis.h:4166
static const int PREVIEW_JOB_DELAY_MS
Delay between the scheduling of 2 preview jobs.
Definition qgis.h:6774
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:6082
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:2736
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
Definition qgis.h:1528
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
Definition qgis.h:4615
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1381
QFlags< UriCleaningFlag > UriCleaningFlags
Flags for cleaning layer URIs.
Definition qgis.h:1488
CoordinateDisplayType
Formats for displaying coordinates.
Definition qgis.h:4752
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3920
QFlags< VectorRenderingSimplificationFlag > VectorRenderingSimplificationFlags
Simplification flags for vector feature rendering.
Definition qgis.h:3212
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:3472
static const double DEFAULT_Z_COORDINATE
Default Z coordinate value.
Definition qgis.h:6734
GpsFixStatus
GPS fix status.
Definition qgis.h:2009
AnnotationItemNodeType
Annotation item node types.
Definition qgis.h:2663
static const char * QGIS_DEV_VERSION
The development version.
Definition qgis.h:89
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1140
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
Definition qgis.h:2902
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
Definition qgis.h:2552
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
Definition qgis.h:1632
AngularDirection
Angular directions.
Definition qgis.h:3613
DriveType
Drive types.
Definition qgis.h:1193
UnitType
Unit types.
Definition qgis.h:5309
ContentStatus
Status for fetched or stored content.
Definition qgis.h:1965
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
Definition qgis.h:1927
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition qgis.h:776
LayoutUnit
Layout measurement units.
Definition qgis.h:5516
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:4705
Q_ENUM(GnssConstellation)
PaintEffectFlag
Flags which control how paint effects behave.
Definition qgis.h:2969
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:3310
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Definition qgis.h:4593
LegendComponent
Component of legends which can be styled.
Definition qgis.h:4875
Point3DShape
3D point shape types.
Definition qgis.h:4320
GeometryOperationResult
Success or failure of a geometry operation.
Definition qgis.h:2162
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
Definition qgis.h:6444
BrowserItemState
Browser item states.
Definition qgis.h:986
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:5982
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
Definition qgis.h:6143
FeatureRequestFilterType
Types of feature request filters.
Definition qgis.h:2356
MarkerClipMode
Marker clipping modes.
Definition qgis.h:3430
GpsNavigationStatus
GPS navigation status.
Definition qgis.h:2062
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:2620
AttributeFormReuseLastValuePolicy
Attribute form policy for reusing last entered values.
Definition qgis.h:6041
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:3221
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Definition qgis.h:4062
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Definition qgis.h:2450
Statistic
Available generic statistics.
Definition qgis.h:6362
TriangulationAlgorithm
Triangulation algorithms.
Definition qgis.h:6690
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:796
AngleUnit
Units of angles.
Definition qgis.h:5451
MapGridAnnotationPosition
Position for map grid annotations.
Definition qgis.h:5726
CaptureTechnique
Capture technique.
Definition qgis.h:418
static QString geosVersion()
GEOS string version linked.
Definition qgis.cpp:704
SpatialIndexPresence
Enumeration of spatial index presence states.
Definition qgis.h:585
BrowserItemCapability
Browser item capabilities.
Definition qgis.h:999
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition qgis.h:6012
QFlags< AuthConfigurationStorageCapability > AuthConfigurationStorageCapabilities
Authentication configuration storage capabilities.
Definition qgis.h:152
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition qgis.h:4845
LayerTreeInsertionMethod
Layer tree insertion methods.
Definition qgis.h:4822
RasterProviderCapability
Raster data provider capabilities.
Definition qgis.h:5199
DatabaseProviderTableImportCapability
Represents capabilities of a database provider connection when importing table data.
Definition qgis.h:5919
LineClipMode
Line clipping modes.
Definition qgis.h:3444
static const double DEFAULT_SNAP_TOLERANCE
Default snapping distance tolerance.
Definition qgis.h:6752
VectorRenderingSimplificationFlag
Simplification flags for vector feature rendering.
Definition qgis.h:3197
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
Definition qgis.h:2196
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition qgis.h:1092
VsiHandlerType
GDAL VSI handler types.
Definition qgis.h:6256
NetworkRequestFlag
Flags controlling behavior of network requests.
Definition qgis.h:187
static int geographicLibVersion()
Returns the version of the GeographicLib library if QGIS is built with GeographicLib support.
Definition qgis.cpp:736
SettingsTreeNodeType
Type of tree node.
Definition qgis.h:681
TilePixelRatio
DpiMode enum.
Definition qgis.h:3553
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:5902
QFlags< PaintEffectFlag > PaintEffectFlags
Flags which control how paint effects behave.
Definition qgis.h:2979
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition qgis.h:1347
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
Definition qgis.h:4493
QFlags< MapLayerLegendFlag > MapLayerLegendFlags
Map layer legend flags.
Definition qgis.h:4864
MapGridUnit
Units for map grid values.
Definition qgis.h:5678
LabelPrioritization
Label prioritization.
Definition qgis.h:1259
GradientColorSource
Gradient color sources.
Definition qgis.h:3359
FileFilterType
Type of file filters.
Definition qgis.h:1460
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:1273
RasterLayerType
Raster layer types.
Definition qgis.h:5076
static const double DEFAULT_M_COORDINATE
Default M coordinate value.
Definition qgis.h:6741
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
Definition qgis.h:440
ScaleBarAlignment
Scalebar alignment.
Definition qgis.h:5620
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:5115
ProcessingMode
Types of modes which Processing widgets can be created for.
Definition qgis.h:3853
VectorExportResult
Vector layer export result codes.
Definition qgis.h:1119
DistanceUnit
Units of distance.
Definition qgis.h:5326
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:2811
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition qgis.h:928
MeshRangeLimit
Describes the limits used to compute mesh ranges (min/max values).
Definition qgis.h:6562
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:3403
LegendSyncMode
Legend synchronization mode.
Definition qgis.h:4893
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
Definition qgis.h:2653
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1406
RasterRangeLimit
Describes the limits used to compute raster ranges (min/max values).
Definition qgis.h:1664
ScaleMethod
Scale methods.
Definition qgis.h:651
QFlags< RasterProcessingParameterCapability > RasterProcessingParameterCapabilities
Raster layer processing parameter capabilities.
Definition qgis.h:6647
SldExportOption
SLD export options.
Definition qgis.h:723
VectorSimplificationAlgorithm
Simplification algorithms for vector features.
Definition qgis.h:3181
FilePathType
File path types.
Definition qgis.h:1796
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:4258
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:6027
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:3418
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
Definition qgis.h:738
static const double DEFAULT_HIGHLIGHT_BUFFER_MM
Default highlight buffer in mm.
Definition qgis.h:6714
MapCanvasFlag
Flags controlling behavior of map canvases.
Definition qgis.h:3639
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:4835
ExtrusionFace
Extrusion face types for the QgsTessellator.
Definition qgis.h:6670
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:5997
FeatureRequestFlag
Flags for controlling feature requests.
Definition qgis.h:2327
VertexType
Types of vertex.
Definition qgis.h:3246
ShaderInterpolationMethod
Color ramp shader interpolation methods.
Definition qgis.h:1544
JoinStyle3D
Join styles for 3D buffers.
Definition qgis.h:2255
DataProviderFlag
Generic data provider flags.
Definition qgis.h:2443
Q_ENUM(GpsNavigationStatus)
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg).
Definition qgis.h:6234
RasterResamplingMethod
Resampling method for raster provider-level resampling.
Definition qgis.h:1603
GeometryValidationEngine
Available engines for validating geometries.
Definition qgis.h:2205
static int geosVersionPatch()
GEOS Patch version number linked.
Definition qgis.cpp:766
TransactionMode
Transaction mode.
Definition qgis.h:4153
Q_ENUM(ScaleToTileZoomLevelMethod)
QFlags< FeatureRendererFlag > FeatureRendererFlags
Flags controlling behavior of vector feature renderers.
Definition qgis.h:886
static const QColor DEFAULT_HIGHLIGHT_COLOR
Default highlight color.
Definition qgis.h:6709
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:5228
static Q_DECL_DEPRECATED const double SCALE_PRECISION
Fudge factor used to compare two scales.
Definition qgis.h:6728
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:5092
GeosCreationFlag
Flags which control geos geometry creation behavior.
Definition qgis.h:2280
static const int MAXIMUM_LAYER_PREVIEW_TIME_MS
Maximum rendering time for a layer of a preview job.
Definition qgis.h:6777
MeshRangeExtent
Describes the extent used to compute mesh ranges (min/max values).
Definition qgis.h:6574
GpsInformationComponent
GPS information component.
Definition qgis.h:2076
Q_ENUM(PointCloudProfileType)
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:3658
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3739
FileOperationFlag
File operation flags.
Definition qgis.h:2398
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
Definition qgis.h:1059
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:4605
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
Definition qgis.h:2122
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Definition qgis.h:935
QFlags< RasterInterfaceCapability > RasterInterfaceCapabilities
Raster interface capabilities.
Definition qgis.h:5186
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
Definition qgis.h:4988
TemporalNavigationMode
Temporal navigation modes.
Definition qgis.h:2690
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:4000
AreaUnit
Units of area.
Definition qgis.h:5403
StringStatistic
Available string statistics.
Definition qgis.h:6424
SelectiveMaskSourceType
Selective masking source types.
Definition qgis.h:3235
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:4107
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:6275
MessageLevel
Level for messages This will be used both for message log and message bar in application.
Definition qgis.h:160
@ NoLevel
No level.
Definition qgis.h:165
@ Warning
Warning message.
Definition qgis.h:162
@ Critical
Critical/error message.
Definition qgis.h:163
@ Info
Information message.
Definition qgis.h:161
@ Success
Used for reporting a successful operation.
Definition qgis.h:164
MapGridBorderSide
Border sides for map grid annotations.
Definition qgis.h:5780
SqlKeywordCategory
SqlKeywordCategory enum represents the categories of the SQL keywords used by the SQL query editor.
Definition qgis.h:1175
QFlags< SnappingType > SnappingTypes
Snapping types.
Definition qgis.h:787
static Q_DECL_DEPRECATED QString geoWkt()
WKT string that represents a geographic coord system.
Definition qgis.h:6876
static Q_DECL_DEPRECATED bool hasQtWebkit()
Returns false.
Definition qgis.cpp:745
MapGridFrameSideFlag
Flags for controlling which side of the map a frame is drawn on.
Definition qgis.h:5831
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:3487
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1396
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
Definition qgis.h:6152
TextLayoutMode
Text layout modes.
Definition qgis.h:3069
PropertyType
Property types.
Definition qgis.h:709
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2938
LayerFilter
Filter for layers.
Definition qgis.h:225
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
Definition qgis.h:1532
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition qgis.h:1621
QFlags< ExtrusionFace > ExtrusionFaces
Tessellator extrusion face types.
Definition qgis.h:6682
static QString devVersion()
The development version.
Definition qgis.cpp:699
CrsType
Coordinate reference system types.
Definition qgis.h:2462
QFlags< GeosCreationFlag > GeosCreationFlags
Geos geometry creation behavior flags.
Definition qgis.h:2291
MapGridComponentVisibility
Visibility display settings for map grid annotations and frames.
Definition qgis.h:5710
SensorThingsEntity
OGC SensorThings API entity types.
Definition qgis.h:6480
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1779
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:4090
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:4643
UriCleaningFlag
Flags for cleaning layer URIs.
Definition qgis.h:1477
RasterFileWriterResult
Raster file export results.
Definition qgis.h:1762
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition qgis.h:2675
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
Definition qgis.h:3824
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:3671
RasterRangeAccuracy
Describes the accuracy used to compute raster ranges (min/max values).
Definition qgis.h:1695
ActionType
Action types.
Definition qgis.h:4923
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:1210
PlaybackOperation
Media playback operations.
Definition qgis.h:2719
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
Definition qgis.h:958
QFlags< TextRendererFlag > TextRendererFlags
Definition qgis.h:3592
QueryStorageBackend
Stored query storage backends.
Definition qgis.h:3698
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:5933
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:4542
MarkerShape
Marker shapes.
Definition qgis.h:3261
StacObjectType
Available types of stac objects.
Definition qgis.h:6624
LegendJsonRenderFlag
Legend JSON export flags.
Definition qgis.h:4908
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:5243
RasterElevationMode
Raster layer elevation modes.
Definition qgis.h:4205
Capitalization
String capitalization options.
Definition qgis.h:3570
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:2796
PictureFormat
Picture formats.
Definition qgis.h:5590
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1418
static QString releaseName()
Release name.
Definition qgis.cpp:694
LabelQuadrantPosition
Label quadrant positions.
Definition qgis.h:1361
QFlags< PlotToolFlag > PlotToolFlags
Definition qgis.h:4308
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:3601
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition qgis.h:1510
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1150
TextOrientation
Text orientations.
Definition qgis.h:3054
TemporalUnit
Temporal units.
Definition qgis.h:5472
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
Definition qgis.h:1653
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
Definition qgis.h:915
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:1222
CrsDefinitionFormat
CRS definition formats.
Definition qgis.h:4075
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:2385
VerticalAnchorPoint
Marker symbol vertical anchor points.
Definition qgis.h:862
QFlags< LayoutRenderFlag > LayoutRenderFlags
Flags for controlling how a layout is rendered.
Definition qgis.h:5579
static QString defaultProjectScales()
A string with default project scales.
Definition qgis.cpp:674
QFlags< ProcessingParameterTypeFlag > ProcessingParameterTypeFlags
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3935
TileAvailability
Possible availability states for a tile within a tile matrix.
Definition qgis.h:6119
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:4287
MapGridStyle
Map grid drawing styles.
Definition qgis.h:5694
FeatureRendererFlag
Flags controlling behavior of vector feature renderers.
Definition qgis.h:876
static Q_DECL_DEPRECATED QString geoProj4()
PROJ4 string that represents a geographic coord system.
Definition qgis.h:6887
BrowserItemType
Browser item types.
Definition qgis.h:967
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
Definition qgis.h:2345
static bool hasGeographicLib()
Returns true if the QGIS build contains GeographicLib.
Definition qgis.cpp:727
SettingsType
Types of settings entries.
Definition qgis.h:662
QFlags< SettingsOption > SettingsOptions
Definition qgis.h:756
RasterTemporalMode
Raster layer temporal modes.
Definition qgis.h:2779
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1736
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:3009
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:379
RelationshipType
Relationship types.
Definition qgis.h:4691
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:4801
RasterInterfaceCapability
Raster interface capabilities.
Definition qgis.h:5166
JoinStyle
Join styles for buffers.
Definition qgis.h:2242
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:4527
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
Definition qgis.h:6471
CadMeasurementDisplayType
Advanced digitizing measurement display types.
Definition qgis.h:4274
ProcessingAlgorithmDocumentationFlag
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3800
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:3145
FieldDuplicatePolicy
Duplicate policy for fields.
Definition qgis.h:4127
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:5948
static const float DEFAULT_MAPTOPIXEL_THRESHOLD
Default threshold between map coordinates and device coordinates for map2pixel simplification.
Definition qgis.h:6702
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Definition qgis.h:2403
DpiMode
DpiMode enum.
Definition qgis.h:3539
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition qgis.h:1068
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3791
AltitudeBinding
Altitude binding.
Definition qgis.h:4179
QFlags< DataProviderReadFlag > DataProviderReadFlags
Flags which control data provider construction.
Definition qgis.h:512
StringFormat
Format of log message.
Definition qgis.h:175
Q_ENUM(ProcessingProviderFlag)
TiledSceneRendererFlag
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:6212
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:4938
ShaderClassificationMethod
Color ramp shader classification methods.
Definition qgis.h:1559
MapLayerLegendFlag
Map layer legend flags.
Definition qgis.h:4854
ZonalStatisticResult
Zonal statistics result codes.
Definition qgis.h:6312
ScriptLanguage
Scripting languages.
Definition qgis.h:4778
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
Definition qgis.h:1013
QFlags< NetworkRequestFlag > NetworkRequestFlags
Flags controlling behavior of network requests.
Definition qgis.h:197
Export3DSceneFormat
The file format used when exporting a 3D scene.
Definition qgis.h:4438
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
Definition qgis.h:604
PlotAxisType
Plots axis types.
Definition qgis.h:3515
TiledSceneProviderCapability
Tiled scene data provider capabilities.
Definition qgis.h:6133
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:1444
PointCloudProfileType
Types of elevation profiles to generate for point cloud sources.
Definition qgis.h:4475
RasterBandStatistic
Available raster band statistics.
Definition qgis.h:6453
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
Definition qgis.h:6110
AuthConfigurationStorageCapability
Authentication configuration storage capabilities.
Definition qgis.h:107
QFlags< ZonalStatistic > ZonalStatistics
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:6303
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:2766
TextRenderFormat
Options for rendering text.
Definition qgis.h:2990
DocumentationBrowser
Documentation API browser.
Definition qgis.h:6526
DataType
Raster data types.
Definition qgis.h:393
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
Definition qgis.h:3663
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition qgis.h:1518
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:5279
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
Definition qgis.h:1707
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition qgis.h:4425
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
Definition qgis.h:2856
RelationshipCapability
Relationship capabilities.
Definition qgis.h:4731
SkyboxCubeMapping
Skybox texture cube mapping for distinct texture skyboxes.
Definition qgis.h:4385
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:5130
QFlags< VectorProviderCapability > VectorProviderCapabilities
Vector data provider capabilities.
Definition qgis.h:563
SkyboxType
Skybox types for 3D scenes.
Definition qgis.h:4372
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:4400
static int geosVersionMajor()
GEOS Major version number linked.
Definition qgis.cpp:756
LinearReferencingPlacement
Defines how/where the labels should be placed in a linear referencing symbol layer.
Definition qgis.h:3330
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:6180
PointCloudZoomOutRenderBehavior
Point cloud zoom out options.
Definition qgis.h:6599
QFlags< SymbolConverterCapability > SymbolConverterCapabilities
Symbol converter capabilities.
Definition qgis.h:825
LayerType
Types of layers that can be added to a map.
Definition qgis.h:206
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
Definition qgis.h:2626
FieldOrigin
Field origin.
Definition qgis.h:1824
LinearReferencingLabelSource
Defines what quantity to use for the labels shown in a linear referencing symbol layer.
Definition qgis.h:3344
QFlags< BrowserItemFilterFlag > BrowserItemFilterFlags
Browser item filter flags.
Definition qgis.h:1032
LabelWhitespaceCollisionHandling
Label whitespace collision handling.
Definition qgis.h:1247
RasterRangeExtent
Describes the extent used to compute raster ranges (min/max values).
Definition qgis.h:1680
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
Definition qgis.h:6390
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition qgis.h:4304
RenderUnit
Rendering size units.
Definition qgis.h:5496
QFlags< ArcGisRestServiceCapability > ArcGisRestServiceCapabilities
Available ArcGIS REST service capabilities.
Definition qgis.h:4680
static QString geographicCrsAuthId()
Geographic coordinate system auth:id string for a default geographic CRS (EPSG:4326).
Definition qgis.h:6870
CoordinateOrder
Order of coordinates.
Definition qgis.h:2537
SelectionFlag
Flags which control feature selection behavior.
Definition qgis.h:1917
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
Definition qgis.h:698
EndCapStyle
End cap styles for buffers.
Definition qgis.h:2229
ScaleCalculationMethod
Scale calculation logic.
Definition qgis.h:5603
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
Definition qgis.h:6203
static bool hasSfcgal()
Returns true if the QGIS build contains SFCGAL.
Definition qgis.cpp:709
QFlags< MapLayerActionFlag > MapLayerActionFlags
Map layer action flags.
Definition qgis.h:4977
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
Definition qgis.h:2420
QFlags< LoadStyleFlag > LoadStyleFlags
Flags for loading layer styles.
Definition qgis.h:263
BabelCommandFlag
Babel command flags, which control how commands and arguments are generated for executing GPSBabel pr...
Definition qgis.h:2133
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
Definition qgis.h:3029
FieldDomainType
Types of field domain.
Definition qgis.h:4140
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2948
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2912
RasterPipeInterfaceRole
Raster pipe interface roles.
Definition qgis.h:1572
CoverageValidityResult
Coverage validity results.
Definition qgis.h:2300
DataProviderReadFlag
Flags which control data provider construction.
Definition qgis.h:491
ScaleBarSegmentSizeMode
Modes for setting size for scale bar segments.
Definition qgis.h:5635
Aggregate
Available aggregates to calculate.
Definition qgis.h:6330
static int sfcgalVersionInt()
Returns the version of the SFCGAL library if QGIS is built with SFCGAL.
Definition qgis.cpp:718
UnknownLayerCrsBehavior
Behavior to use when encountering a layer with an unknown (invalid) CRS.
Definition qgis.h:2593
BrowserItemFilterFlag
Browser item filter flags.
Definition qgis.h:1022
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
Definition qgis.h:910
static const double DEFAULT_SEARCH_RADIUS_MM
Identify search radius in mm.
Definition qgis.h:6699
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
Definition qgis.h:2649
MapBoxGlStyleSourceType
Available MapBox GL style source types.
Definition qgis.h:4624
LayoutUnitType
Types of layout units.
Definition qgis.h:5536
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:617
DashPatternLineEndingRule
Dash pattern line ending rules.
Definition qgis.h:3457
FieldMetadataProperty
Standard field metadata values.
Definition qgis.h:1865
MapGridAnnotationType
Annotation coordinate type.
Definition qgis.h:5857
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:6193
RasterRendererCapability
Raster renderer capabilities.
Definition qgis.h:1643
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition qgis.h:1953
HistoryProviderBackend
History provider backends.
Definition qgis.h:3684
static const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition qgis.h:6771
RasterExportType
Raster file export types.
Definition qgis.h:1749
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition qgis.h:1808
TextVerticalAlignment
Text vertical alignment.
Definition qgis.h:3129
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:4717
GradientType
Gradient types.
Definition qgis.h:3373
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
Definition qgis.h:4813
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:4463
GpsFeatureType
GPS feature types.
Definition qgis.h:2147
SourceHierarchyLevel
Defines the structural levels within a data source hierarchy.
Definition qgis.h:1497
VectorLayerTypeFlag
Vector layer type flags.
Definition qgis.h:435
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition qgis.h:2313
RangeLimits
Describes how the limits of a range are handled.
Definition qgis.h:4191
QFlags< ProjectFlag > ProjectFlags
Definition qgis.h:4295
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:2754
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3961
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
Definition qgis.h:1158
static int versionInt()
Version number used for comparing versions using the "Check QGIS Version" function.
Definition qgis.cpp:687
VectorEditResult
Specifies the result of a vector layer edit operation.
Definition qgis.h:1938
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:629
Axis
Cartesian axes.
Definition qgis.h:2607
QFlags< ProcessingAlgorithmDocumentationFlag > ProcessingAlgorithmDocumentationFlags
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3812
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
Definition qgis.h:4743
ArcGisRestServiceCapability
Available ArcGIS REST service capabilities.
Definition qgis.h:4664
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:804
VolumeUnit
Units of volume.
Definition qgis.h:5428
CurvedTextFlag
Flags controlling behavior of curved text generation.
Definition qgis.h:3158
AttributeEditorType
Attribute editor types.
Definition qgis.h:5963
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
Definition qgis.h:4912
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
Definition qgis.h:5939
EmbeddedScriptMode
Authorisation to run script embedded in projects.
Definition qgis.h:448
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
Definition qgis.h:948
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:2372
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition qgis.h:901
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3883
MapGridFrameStyle
Style for map grid frames.
Definition qgis.h:5796
PointCloudAccessType
The access type of the data, local is for local files and remote for remote files (over HTTP).
Definition qgis.h:6588
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:4502
MeshElevationMode
Mesh layer elevation modes.
Definition qgis.h:4219
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:4557
SnappingMode
SnappingMode defines on which layer the snapping is performed.
Definition qgis.h:764
SymbolType
Symbol types.
Definition qgis.h:637
RasterColorInterpretation
Raster color interpretation.
Definition qgis.h:5025
static const int USER_CRS_START_ID
Minimum ID number for a user-defined projection.
Definition qgis.h:6762
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:4450
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:3040
Q_ENUM(ProcessingAlgorithmFlag)
static int geosVersionMinor()
GEOS Minor version number linked.
Definition qgis.cpp:761
MaterialRenderingTechnique
Material rendering techniques.
Definition qgis.h:4342
ColorModel
Color model types.
Definition qgis.h:6500
RendererUsage
Usage of the renderer.
Definition qgis.h:3626
SettingsTreeNodeOption
Options for named list nodes.
Definition qgis.h:693
BabelFormatCapability
Babel GPS format capabilities.
Definition qgis.h:2114
PostgresRelKind
Postgres database relkind options.
Definition qgis.h:5881
SegmentCalculationMethod
brief Method used to calculate the number of segments for circle approximation
Definition qgis.h:6611
GpsConnectionType
GPS connection types.
Definition qgis.h:1980
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
Definition qgis.h:5910
MouseHandlesAction
Action to be performed by the mouse handles.
Definition qgis.h:6538
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
Definition qgis.h:3868
QFlags< TextComponent > TextComponents
Text components.
Definition qgis.h:3099
static QString geoNone()
Constant that holds the string representation for "No ellipse/No CRS".
Definition qgis.h:6863
DevToolsNodeRole
Dev tools node custom data roles.
Definition qgis.h:6655
LoadStyleFlag
Flags for loading layer styles.
Definition qgis.h:252
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:4232
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
Definition qgis.h:6092
SymbolConverterCapability
Symbol converter capabilities.
Definition qgis.h:813
MetadataDateType
Date types for metadata.
Definition qgis.h:5006
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
Definition qgis.h:2822
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3894
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:5145
MapGridAnnotationDirection
Direction of grid annotations.
Definition qgis.h:5740
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:3110
SymbolFlag
Flags controlling behavior of symbols.
Definition qgis.h:895
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition qgis.h:4245
HttpMethod
Different methods of HTTP requests.
Definition qgis.h:1104
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:294
QFlags< SldExportOption > SldExportOptions
Definition qgis.h:729
SymbolCoordinateReference
Symbol coordinate reference modes.
Definition qgis.h:3388
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3753
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:6168
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
Definition qgis.h:6415
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1878
InputControllerType
Input controller types.
Definition qgis.h:5869
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:3588
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1905
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:2487
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:4031
static int geosVersionInt()
GEOS version number linked.
Definition qgis.cpp:750
QFlags< MarkerLinePlacement > MarkerLinePlacements
Definition qgis.h:3321
QFlags< MapCanvasFlag > MapCanvasFlags
Flags controlling behavior of map canvases.
Definition qgis.h:3649
CrsWktVariant
Coordinate reference system WKT formatting variants.
Definition qgis.h:2567
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:6225
MapGridAnnotationFormat
Format for displaying map grid annotations.
Definition qgis.h:5759
DocumentationApi
Documentation API.
Definition qgis.h:6512
AutoRefreshMode
Map layer automatic refresh modes.
Definition qgis.h:2430
AnnotationPlacementMode
Annotation item placement modes.
Definition qgis.h:2636
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3764
SceneMode
The 3D scene mode used in 3D map views.
Definition qgis.h:4413
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1841
SettingsOrigin
The setting origin describes where a setting is stored.
Definition qgis.h:4765
HorizontalAnchorPoint
Marker symbol horizontal anchor points.
Definition qgis.h:848
QFlags< CurvedTextFlag > CurvedTextFlags
Flags controlling behavior of curved text generation.
Definition qgis.h:3171
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3946
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:1234
static const double UI_SCALE_FACTOR
UI scaling factor.
Definition qgis.h:6747
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:6069
QFlags< LayerFilter > LayerFilters
Definition qgis.h:243
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:4018
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:2843
TextComponent
Text components.
Definition qgis.h:3086
DateTimeStatistic
Available date/time statistics.
Definition qgis.h:6399
AnimationState
Animation states.
Definition qgis.h:2706
TransformDirection
Indicates the direction (forward or inverse) of a transform.
Definition qgis.h:2831
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:4360
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3906
QFlags< HistoryProviderBackend > HistoryProviderBackends
Definition qgis.h:3689
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition qgis.h:1308
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1856
UpsideDownLabelHandling
Handling techniques for upside down labels.
Definition qgis.h:1429
static const double DEFAULT_POINT_SIZE
The default size (in millimeters) for point marker symbols.
Definition qgis.h:6765
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:1994
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3986
MapSettingsFlag
Flags which adjust the way maps are rendered.
Definition qgis.h:2878
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
Definition qgis.h:1166
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
Definition qgis.h:3838
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1891
LayoutRenderFlag
Flags for controlling how a layout is rendered.
Definition qgis.h:5550
Utility class that encapsulates an action based on vector attributes.
Definition qgsaction.h:38
Utility class for calculating aggregates for a field (or expression) over the features from a vector ...
Utility functions for working with ArcGIS REST services.
An abstract base class for any elements of a drag and drop form.
A ramp shader will color a raster pixel based on a list of values ranges in a ramp.
Represents a coordinate reference system (CRS).
Handles coordinate transforms between two coordinate systems.
Abstract base class for curved geometry type.
Definition qgscurve.h:36
Base class for all items in the model.
Definition qgsdataitem.h:50
Abstract base class for spatial data provider implementations.
Calculator for summary statistics and aggregates for a list of datetimes.
Contains configuration settings for an editor form.
Wraps a request for features to a vector layer (or directly its vector data provider).
An interface for objects which provide features via a getFeatures method.
Container of fields for a vector layer.
Definition qgsfields.h:46
A geometry is the spatial representation of a feature.
Encapsulates information relating to a GPS position fix.
A fill symbol layer which draws a smooth color gradient over a polygon.
A vector feature renderer which uses numeric attributes to classify features into different ranges.
Stores global configuration for labeling engine.
Contains constants and enums relating to labeling.
Definition qgslabeling.h:33
A browser item that represents a layer that can be opened with one of the providers.
An individual grid which is drawn above the map content in a QgsLayoutItemMap.
A layout item subclass that displays SVG files or raster format images (jpg, png, ....
Stores information relating to the current rendering settings for a layout.
Contains detailed styling information relating to how a layout legend should be rendered.
A proxy model which provides an easy to use model to display the list of layers in widgets.
Base class for all map layer types.
Definition qgsmaplayer.h:83
Contains configuration for rendering maps.
Abstract base class for marker symbol layers.
Interface for showing messages from QGIS in GUI independent way.
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:114
A store for object properties.
Holds data provider key, description, and associated shared library file or function pointer informat...
A fill symbol layer which places markers at random locations within polygons.
The RasterBandStats struct is a container for statistics about a single raster band.
Implementation of data provider temporal properties for QgsRasterDataProviders.
Base class for raster data providers.
The raster file writer which allows you to save a raster to a new file.
Base class for processing filters like renderers, reprojector, resampler etc.
Implementation of map layer temporal properties for raster layers.
Represents a raster layer.
Describes the origin of minimum and maximum values in a raster.
Contains a pipeline of raster interfaces for sequential raster processing.
Raster namespace.
Definition qgsraster.h:32
Represents a relationship between two vector layers.
Definition qgsrelation.h:42
Contains information about the context of a rendering operation.
Stores the appearance and layout settings for scalebar drawing with QgsScaleBarRenderer.
Represents a settings entry and provides methods for reading and writing settings values.
RAII signal blocking class.
Definition qgis.h:7005
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:7019
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:7011
Abstract base class for simple marker symbol layers.
Stores configuration of snapping settings for the project.
Calculator for summary statistics for a list of doubles.
Calculator for summary statistics and aggregates for a list of strings.
Utility functions for working with strings.
Contains utility functions for working with symbols and symbol layers.
Abstract base class for all rendered symbols.
Definition qgssymbol.h:227
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.
Utility functions for text rendering.
Handles rendering text using rich formatting options, including drop shadows, buffers and background ...
Provides calculations for tolerance values in map units.
Helper functions for various unit types.
Implementation of data provider temporal properties for QgsVectorDataProviders.
Base class for vector data providers.
A convenience class for writing vector layers to disk based formats (e.g.
A convenience class for exporting vector layers to a destination data provider.
Implementation of map layer temporal properties for vector layers.
Represents a vector layer which manages a vector based dataset.
Contains settings for simplifying geometries fetched from a vector layer.
Handles storage of information regarding WKB types and their properties.
Definition qgswkbtypes.h:42
FeatureCountState
Enumeration of feature count states.
Definition qgis.h:572
As part of the API refactoring and improvements which landed in QGIS
Q_DECL_DEPRECATED const long GEOCRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system in QGIS internal srs database.
Definition qgis.h:7640
Q_DECL_DEPRECATED CORE_EXPORT QString qgsVsiPrefix(const QString &path)
Returns a the vsi prefix which corresponds to a file path, or an empty string if the path is not asso...
Definition qgis.cpp:606
CORE_EXPORT uint qHash(const QVariant &variant)
Hash for QVariant.
Definition qgis.cpp:611
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:7554
CORE_EXPORT bool qgsVariantEqual(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether they are equal, two NULL values are always treated a...
Definition qgis.cpp:657
Q_DECL_DEPRECATED const long GEOSRID
Numeric ID for the EPSG:4326 geographic coordinate system.
Definition qgis.h:7633
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:7335
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:7052
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:7205
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:7316
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:7374
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:7189
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:7403
CORE_EXPORT bool qgsVariantGreaterThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is greater than the second.
Definition qgis.cpp:601
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:7659
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:7299
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference).
Definition qgis.h:7145
CORE_EXPORT int qgsVariantCompare(const QVariant &lhs, const QVariant &rhs, bool strictTypeCheck=false)
Compares two QVariant values.
Definition qgis.cpp:139
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:7221
CORE_EXPORT double qgsPermissiveToDouble(QString string, bool &ok)
Converts a string to a double in a permissive way, e.g., allowing for incorrect numbers of digits bet...
Definition qgis.cpp:91
const QList< T > qgsEnumList()
Returns a list all enum entries.
Definition qgis.h:7282
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:7174
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference).
Definition qgis.h:7134
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:7097
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:7039
void CORE_EXPORT * qgsMalloc(size_t size)
Allocates size bytes and returns a pointer to the allocated memory.
Definition qgis.cpp:112
QMap< QString, QString > QgsStringMap
Definition qgis.h:7649
Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system.
Definition qgis.h:7647
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:7151
void CORE_EXPORT qgsFree(void *ptr)
Frees the memory space pointed to by ptr.
Definition qgis.cpp:134
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:7116
CORE_EXPORT qlonglong qgsPermissiveToLongLong(QString string, bool &ok)
Converts a string to an qlonglong in a permissive way, e.g., allowing for incorrect numbers of digits...
Definition qgis.cpp:105
CORE_EXPORT int qgsPermissiveToInt(QString string, bool &ok)
Converts a string to an integer in a permissive way, e.g., allowing for incorrect numbers of digits b...
Definition qgis.cpp:98
CORE_EXPORT bool qgsVariantLessThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is less than the second.
Definition qgis.cpp:596
#define QHASH_FOR_CLASS_ENUM(T)
Definition qgis.h:50
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:7570
#define SIP_DEPRECATED
Definition qgis_sip.h:113
#define SIP_ENUM_BASETYPE(type)
Definition qgis_sip.h:274
#define SIP_SKIP
Definition qgis_sip.h:133
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
Definition qgis_sip.h:267
#define SIP_MONKEYPATCH_FLAGS_UNNEST(OUTSIDE_CLASS, FORMERNAME)
Definition qgis_sip.h:268
#define SIP_MONKEYPATCH_SCOPEENUM
Definition qgis_sip.h:266
#define SIP_MONKEYPATCH_COMPAT_NAME(FORMERNAME)
Definition qgis_sip.h:269
Q_DECLARE_METATYPE(QgsDatabaseQueryLogEntry)
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsProjectionSelectionWidget::CrsOptions)
Utility class for identifying a unique vertex within a geometry.
Definition qgsvertexid.h:34