QGIS API Documentation 4.3.0-Master (7d9941090cd)
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 size_t qHash( const T &t, size_t 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 ReadFieldDomains = 1 << 29,
553 EditingCapabilities = AddFeatures | DeleteFeatures | ChangeAttributeValues | ChangeGeometries | AddAttributes | DeleteAttributes | RenameAttributes,
554 };
555 Q_ENUM( VectorProviderCapability )
556
557
566
573 {
574 Abort,
575 CreateOrOverwriteFile,
576 CreateOrOverwriteLayer,
577 };
578 Q_ENUM( CreateLayerActionOnExisting )
579
580
586 {
587 Uncounted = -2,
588 UnknownCount = -1,
589 };
590 Q_ENUM( FeatureCountState )
591
592
599 {
600 Unknown SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexUnknown ) = 0,
601 NotPresent SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexNotPresent ) = 1,
602 Present SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexPresent ) = 2,
603 };
604 Q_ENUM( SpatialIndexPresence )
605
606
618 {
619 NoFeaturesAvailable = 0,
620 FeaturesAvailable,
621 FeaturesMaybeAvailable
622 };
623 Q_ENUM( FeatureAvailability )
624
625
631 {
632 EditAlias = 1 << 0,
633 EditComment = 1 << 1,
634 };
635
636 Q_ENUM( VectorDataProviderAttributeEditCapability )
637
638
645
651 {
652 Marker,
653 Line,
654 Fill,
655 Hybrid
656 };
657 Q_ENUM( SymbolType )
658
659
665 {
666 ScaleArea,
667 ScaleDiameter
668 };
669 Q_ENUM( ScaleMethod )
670
671
676 {
677 Custom,
678 Variant,
679 String,
680 StringList,
681 VariantMap,
682 Bool,
683 Integer,
684 Double,
685 EnumFlag,
686 Color
687 };
688 Q_ENUM( SettingsType )
689
690
695 {
696 Root,
697 Standard,
698 NamedList,
699 };
700 Q_ENUM( SettingsTreeNodeType )
701
702
706 enum class SettingsTreeNodeOption : int SIP_ENUM_BASETYPE( IntFlag )
707 {
708 NamedListSelectedItemSetting = 1 << 0,
709 };
710
711 Q_ENUM( SettingsTreeNodeOption )
714
723 {
724 Invalid SIP_MONKEYPATCH_COMPAT_NAME( InvalidProperty ),
725 Static SIP_MONKEYPATCH_COMPAT_NAME( StaticProperty ),
726 Field SIP_MONKEYPATCH_COMPAT_NAME( FieldBasedProperty ),
727 Expression SIP_MONKEYPATCH_COMPAT_NAME( ExpressionBasedProperty ),
728 };
729 Q_ENUM( PropertyType )
730
731
736 enum class SldExportOption : int SIP_ENUM_BASETYPE( IntFlag )
737 {
738 NoOptions = 0,
739 Svg = 1 << 0,
740 Png = 1 << 1,
741 };
742 Q_ENUM( SldExportOption )
744 Q_FLAG( SldExportOptions )
745
751 enum class SldExportVendorExtension : int SIP_ENUM_BASETYPE( IntFlag )
752 {
753 NoVendorExtension = 0,
754 GeoServerVendorExtension = 1 << 1,
755 DeegreeVendorExtension = 1 << 2,
756 };
757 Q_ENUM( SldExportVendorExtension )
758
759
760
764 enum class SettingsOption : int SIP_ENUM_BASETYPE( IntFlag )
765 {
766 SaveFormerValue = 1 << 1,
767 SaveEnumFlagAsInt = 1 << 2,
768 };
769 Q_ENUM( SettingsOption )
770 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
771 Q_FLAG( SettingsOptions )
772
778 {
779 ActiveLayer = 1,
780 AllLayers = 2,
781 AdvancedConfiguration = 3,
782 };
783 Q_ENUM( SnappingMode )
784
785
790 {
791 NoSnap SIP_MONKEYPATCH_COMPAT_NAME( NoSnapFlag ) = 0,
792 Vertex SIP_MONKEYPATCH_COMPAT_NAME( VertexFlag ) = 1 << 0,
793 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentFlag ) = 1 << 1,
794 Area SIP_MONKEYPATCH_COMPAT_NAME( AreaFlag ) = 1 << 2,
795 Centroid SIP_MONKEYPATCH_COMPAT_NAME( CentroidFlag ) = 1 << 3,
796 MiddleOfSegment SIP_MONKEYPATCH_COMPAT_NAME( MiddleOfSegmentFlag ) = 1 << 4,
797 LineEndpoint SIP_MONKEYPATCH_COMPAT_NAME( LineEndpointFlag ) = 1 << 5,
798 };
799 Q_ENUM( SnappingType )
802 Q_FLAG( SnappingTypes )
803
810 {
811 DynamicRotation = 1 << 1,
812 IsSymbolLayerSubSymbol = 1 << 2,
813 ForceVectorRendering = 1 << 3,
814 ExcludeSymbolBuffers = 1 << 4,
815 };
816 Q_ENUM( SymbolRenderHint )
819 Q_FLAG( SymbolRenderHints )
820
827 {
828 ReadSymbol = 1 << 0,
829 WriteSymbol = 1 << 1,
830 };
831
832 Q_ENUM( SymbolConverterCapability )
833
834
841
847 enum class SymbolRotationMode : int
848 {
849 RespectMapRotation,
850 IgnoreMapRotation,
851 };
852 Q_ENUM( SymbolRotationMode )
853
854
855
867 Q_ENUM( HorizontalAnchorPoint )
868
869
882 Q_ENUM( VerticalAnchorPoint )
883
884
889 enum class FeatureRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
890 {
891 AffectsLabeling = 1 << 0,
892 };
893 Q_ENUM( FeatureRendererFlag )
894
895
901 Q_FLAG( FeatureRendererFlags )
902
908 enum class SymbolFlag : int SIP_ENUM_BASETYPE( IntFlag )
909 {
910 RendererShouldUseSymbolLevels = 1 << 0,
911 AffectsLabeling = 1 << 1,
912 };
913 Q_ENUM( SymbolFlag )
915 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
916 Q_FLAG( SymbolFlags )
917
924 {
925 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
926 };
927 Q_ENUM( SymbolPreviewFlag )
930 Q_FLAG( SymbolPreviewFlags )
931
941 enum class SymbolLayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
942 {
943 DisableFeatureClipping = 1 << 0,
944 CanCalculateMaskGeometryPerFeature = 1 << 1,
945 AffectsLabeling = 1 << 2,
946 };
947 Q_ENUM( SymbolLayerFlag )
950 Q_FLAG( SymbolLayerFlags )
951
961 enum class SymbolLayerUserFlag : int SIP_ENUM_BASETYPE( IntFlag )
962 {
963 DisableSelectionRecoloring = 1 << 0,
964 };
965 Q_ENUM( SymbolLayerUserFlag )
966
967
973 Q_FLAG( SymbolLayerUserFlags )
974
981 {
982 Collection,
983 Directory,
984 Layer,
985 Error,
986 Favorites,
987 Project,
988 Custom,
989 Fields,
990 Field,
991 };
992 Q_ENUM( BrowserItemType )
993
994
1000 {
1001 NotPopulated,
1002 Populating,
1003 Populated,
1004 };
1005 Q_ENUM( BrowserItemState )
1006
1007
1013 {
1014 NoCapabilities = 0,
1015 SetCrs = 1 << 0,
1016 Fertile = 1 << 1,
1017 Fast = 1 << 2,
1018 Collapse = 1 << 3,
1019 Rename = 1 << 4,
1020 Delete = 1 << 5,
1021 ItemRepresentsFile = 1 << 6,
1022 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
1023 ReadOnly = 1 << 8,
1024 };
1025 Q_ENUM( BrowserItemCapability )
1028 Q_FLAG( BrowserItemCapabilities )
1029
1035 enum class BrowserItemFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
1036 {
1037 HideWhenNotFilteringByLayerType = 1 << 0,
1038 };
1039 Q_ENUM( BrowserItemFilterFlag )
1040
1041
1047 Q_FLAG( BrowserItemFilterFlags )
1048
1057 {
1058 NoCapabilities SIP_MONKEYPATCH_COMPAT_NAME( NoDataCapabilities ) = 0,
1060 Directories SIP_MONKEYPATCH_COMPAT_NAME( Dir ) = 1 << 1,
1061 Databases SIP_MONKEYPATCH_COMPAT_NAME( Database ) = 1 << 2,
1062 NetworkSources SIP_MONKEYPATCH_COMPAT_NAME( Net ) = 1 << 3,
1063 };
1064 Q_ENUM( DataItemProviderCapability )
1065
1066
1075
1082 {
1083 NoType,
1084 Vector,
1085 Raster,
1086 Point,
1087 Line,
1088 Polygon,
1089 TableLayer,
1090 Database,
1091 Table,
1092 Plugin,
1093 Mesh,
1094 VectorTile,
1095 PointCloud,
1096 TiledScene,
1097 };
1098 Q_ENUM( BrowserLayerType )
1099
1100
1106 {
1107 Default,
1108 NeverMonitor,
1109 AlwaysMonitor,
1110 };
1111 Q_ENUM( BrowserDirectoryMonitoring )
1112
1113
1117 enum class HttpMethod : int
1118 {
1119 Get = 0,
1120 Post = 1,
1121 Head,
1122 Put,
1123 Delete,
1124 };
1125 Q_ENUM( HttpMethod )
1126
1127
1133 {
1135 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
1136 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
1137 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
1138 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
1139 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
1140 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
1141 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
1142 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
1143 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
1144 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
1145 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
1146 };
1147 Q_ENUM( VectorExportResult )
1148
1149
1154 {
1155 FieldAliases = 1 << 0,
1156 FieldComments = 1 << 2,
1157 };
1158 Q_ENUM( VectorFileWriterCapability )
1159
1160
1166
1172 {
1173 SubsetStringFilter = 1 << 1,
1174 GeometryColumn = 1 << 2,
1175 PrimaryKeys = 1 << 3,
1176 UnstableFeatureIds = 1 << 4
1177 };
1178 Q_ENUM( SqlLayerDefinitionCapability )
1182
1188 enum class SqlKeywordCategory : int
1189 {
1190 Keyword,
1191 Constant,
1192 Function,
1193 Geospatial,
1194 Operator,
1195 Math,
1197 String,
1198 Identifier
1199 };
1200 Q_ENUM( SqlKeywordCategory )
1201
1202
1206 enum class DriveType : int
1207 {
1208 Unknown,
1209 Invalid,
1210 Removable,
1211 Fixed,
1212 Remote,
1213 CdRom,
1214 RamDisk,
1215 Cloud,
1216 };
1217 Q_ENUM( DriveType )
1218
1219
1224 {
1225 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
1226 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
1227 };
1228 Q_ENUM( ActionStart )
1229
1230
1236 {
1237 FollowEngineSetting,
1238 NeverShow,
1239 };
1240 Q_ENUM( UnplacedLabelVisibility )
1241
1242
1247 enum class LabelOverlapHandling : int
1248 {
1249 PreventOverlap,
1250 AllowOverlapIfRequired,
1251 AllowOverlapAtNoCost,
1252 };
1253 Q_ENUM( LabelOverlapHandling )
1254
1255
1261 {
1262 TreatWhitespaceAsCollision,
1263 IgnoreWhitespaceCollisions,
1264 };
1265 Q_ENUM( LabelWhitespaceCollisionHandling )
1266
1267
1272 enum class LabelPrioritization : int
1273 {
1274 PreferCloser,
1275 PreferPositionOrdering,
1276 };
1277 Q_ENUM( LabelPrioritization )
1278
1279
1287 {
1288 AroundPoint,
1289 OverPoint,
1290 Line,
1291 Curved,
1292 Horizontal,
1293 Free,
1294 OrderedPositionsAroundPoint,
1295 PerimeterCurved,
1296 OutsidePolygons,
1297 };
1298 Q_ENUM( LabelPlacement )
1299
1300
1305 enum class CurvedLabelMode : int
1306 {
1307 Default,
1308 PlaceCharactersAtVertices,
1309 StretchCharacterSpacingToFitLine,
1310 StretchWordSpacingToFitLine,
1311 };
1312 Q_ENUM( CurvedLabelMode )
1313
1314
1322 {
1323 TopLeft,
1324 TopSlightlyLeft,
1325 TopMiddle,
1326 TopSlightlyRight,
1327 TopRight,
1328 MiddleLeft,
1329 MiddleRight,
1330 BottomLeft,
1331 BottomSlightlyLeft,
1332 BottomMiddle,
1333 BottomSlightlyRight,
1334 BottomRight,
1335 OverPoint,
1336 };
1337 Q_ENUM( LabelPredefinedPointPosition )
1338
1339
1345 {
1346 LabelLargestPartOnly,
1347 LabelEveryPartWithEntireLabel,
1348 SplitLabelTextLinesOverParts,
1349 };
1350 Q_ENUM( MultiPartLabelingBehavior )
1351
1352
1361 {
1362 FromPoint,
1363 FromSymbolBounds,
1364 };
1365 Q_ENUM( LabelOffsetType )
1366
1367
1375 {
1376 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
1377 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
1378 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
1380 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
1382 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
1383 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
1384 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
1385 };
1386 Q_ENUM( LabelQuadrantPosition )
1387
1388
1395 {
1396 OnLine = 1,
1397 AboveLine = 2,
1398 BelowLine = 4,
1399 MapOrientation = 8,
1400 };
1401 Q_ENUM( LabelLinePlacementFlag )
1402
1403
1411 Q_FLAG( LabelLinePlacementFlags )
1412
1420 {
1421 AllowPlacementOutsideOfPolygon = 1 << 0,
1422 AllowPlacementInsideOfPolygon = 1 << 1,
1423 };
1424 Q_ENUM( LabelPolygonPlacementFlag )
1425
1426
1434
1443 {
1444 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
1445 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
1446 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
1447 };
1448 Q_ENUM( UpsideDownLabelHandling )
1449
1450
1458 {
1460 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
1462 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
1463 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
1464 };
1465 Q_ENUM( LabelMultiLineAlignment )
1466
1467
1475 {
1476 StartOfText,
1477 CenterOfText,
1478 EndOfText,
1479 FollowPlacement,
1480 };
1481 Q_ENUM( TextAnchorPoint )
1482
1483
1490 {
1491 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
1492 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1493 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1494 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1495 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1496 VectorTile,
1497 TiledScene,
1498 };
1499 Q_ENUM( FileFilterType )
1500
1501
1506 enum class UriCleaningFlag : int SIP_ENUM_BASETYPE( IntFlag )
1507 {
1508 RemoveCredentials = 1 << 0,
1509 RedactCredentials = 1 << 1,
1510 };
1511 Q_ENUM( UriCleaningFlag )
1512
1513
1519 Q_FLAG( UriCleaningFlags )
1520
1526 enum class SourceHierarchyLevel : int
1527 {
1528 Connection,
1529 Group,
1530 Object,
1531 };
1532 Q_ENUM( SourceHierarchyLevel )
1533
1534
1539 enum class SublayerQueryFlag : int SIP_ENUM_BASETYPE( IntFlag )
1540 {
1541 FastScan = 1 << 0,
1542 ResolveGeometryType = 1 << 1,
1543 CountFeatures = 1 << 2,
1544 IncludeSystemTables = 1 << 3,
1545 OpenLayersToResolveDescriptions = 1 << 4,
1546 };
1547
1550 Q_FLAG( SublayerQueryFlags )
1551
1552
1557 enum class SublayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
1558 {
1559 SystemTable = 1 << 0,
1560 };
1561
1562 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1564 Q_FLAG( SublayerFlags )
1565
1566
1574 {
1575 Linear SIP_MONKEYPATCH_COMPAT_NAME( Interpolated ) = 0,
1576 Discrete = 1,
1577 Exact = 2,
1578 };
1579 Q_ENUM( ShaderInterpolationMethod )
1580
1581
1589 {
1590 Continuous = 1,
1591 EqualInterval = 2,
1592 Quantile = 3,
1593 };
1594 Q_ENUM( ShaderClassificationMethod )
1595
1596
1602 {
1603 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1604 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1605 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1606 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1607 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1608 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1609 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1610 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1611 };
1612 Q_ENUM( RasterPipeInterfaceRole )
1613
1614
1619 {
1620 ResampleFilter,
1621 Provider,
1622 };
1623 Q_ENUM( RasterResamplingStage )
1624
1625
1633 {
1634 Nearest,
1635 Bilinear,
1636 Cubic,
1637 CubicSpline,
1638 Lanczos,
1639 Average,
1640 Mode,
1641 Gauss
1642 };
1643 Q_ENUM( RasterResamplingMethod )
1644
1645
1650 enum class RasterRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
1651 {
1652 InternalLayerOpacityHandling = 1 << 0,
1653 UseNoDataForOutOfRangePixels
1654 = 1 << 1,
1655 };
1656
1663
1665 Q_FLAG( RasterRendererFlags )
1666
1667
1673 {
1674 UsesMultipleBands = 1 << 0,
1675 };
1676 Q_ENUM( RasterRendererCapability )
1677
1678
1685
1694 {
1696 MinimumMaximum SIP_MONKEYPATCH_COMPAT_NAME( MinMax ),
1697 StdDev,
1698 CumulativeCut
1699 };
1700 Q_ENUM( RasterRangeLimit )
1701
1702
1710 {
1711 WholeRaster SIP_MONKEYPATCH_COMPAT_NAME( None_ ),
1712 FixedCanvas SIP_MONKEYPATCH_COMPAT_NAME( CurrentCanvas ),
1713 UpdatedCanvas,
1714 };
1715 Q_ENUM( RasterRangeExtent )
1716
1717
1725 {
1726 Exact,
1727 Estimated,
1728 };
1729 Q_ENUM( RasterRangeAccuracy )
1730
1731
1737 {
1738 Generic = 0,
1739 PixelCount = 1,
1740 Name = 2,
1741 Min = 3,
1742 Max = 4,
1743 MinMax = 5,
1744 Red = 6,
1745 Green = 7,
1746 Blue = 8,
1747 Alpha = 9,
1748 RedMin = 10,
1749 GreenMin = 11,
1750 BlueMin = 12,
1751 AlphaMin = 13,
1752 RedMax = 14,
1753 GreenMax = 15,
1754 BlueMax = 16,
1755 AlphaMax = 17,
1756 MaxCount
1757 };
1758 Q_ENUM( RasterAttributeTableFieldUsage )
1759
1760
1766 {
1767 Thematic = 0,
1768 Athematic = 1
1769 };
1770 Q_ENUM( RasterAttributeTableType )
1771
1772
1779 {
1780 Raw = 0,
1781 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1782 };
1783 Q_ENUM( RasterExportType )
1784
1785
1792 {
1794 SourceProviderError = 1,
1795 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1796 CreateDatasourceError = 3,
1797 WriteError = 4,
1798 NoDataConflict = 5,
1799 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1800 };
1801 Q_ENUM( RasterFileWriterResult )
1802
1803
1808 enum class MeshEditingErrorType : int
1809 {
1810 NoError,
1811 InvalidFace,
1812 TooManyVerticesInFace,
1813 FlatFace,
1814 UniqueSharedVertex,
1815 InvalidVertex,
1816 ManifoldFace,
1817 };
1818 Q_ENUM( MeshEditingErrorType )
1819
1820
1825 enum class FilePathType : int
1826 {
1827 Absolute,
1828 Relative,
1829 };
1830 Q_ENUM( FilePathType )
1831
1832
1837 enum class SublayerPromptMode : int
1838 {
1839 AlwaysAsk,
1840 AskExcludingRasterBands,
1841 NeverAskSkip,
1842 NeverAskLoadAll,
1843 };
1844 Q_ENUM( SublayerPromptMode )
1845
1846
1854 {
1855 Unknown SIP_MONKEYPATCH_COMPAT_NAME( OriginUnknown ),
1856 Provider SIP_MONKEYPATCH_COMPAT_NAME( OriginProvider ),
1857 Join SIP_MONKEYPATCH_COMPAT_NAME( OriginJoin ),
1858 Edit SIP_MONKEYPATCH_COMPAT_NAME( OriginEdit ),
1859 Expression SIP_MONKEYPATCH_COMPAT_NAME( OriginExpression )
1860 };
1861 Q_ENUM( FieldOrigin )
1862
1863
1870 enum class FieldConfigurationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1871 {
1872 NoFlag = 0,
1873 NotSearchable = 1 << 1,
1874 HideFromWms = 1 << 2,
1875 HideFromWfs = 1 << 3,
1876 };
1877 Q_ENUM( FieldConfigurationFlag )
1878
1879
1887 Q_FLAG( FieldConfigurationFlags )
1888
1894 enum class FieldMetadataProperty : int
1895 {
1896 GeometryCrs = 0x1000,
1897 GeometryWkbType = 0x1001,
1898 CustomProperty = 0x100000,
1899 };
1900 Q_ENUM( FieldMetadataProperty )
1901
1902
1907 enum class SelectionRenderingMode : int
1908 {
1909 Default,
1910 CustomColor,
1911 CustomSymbol,
1912 };
1913 Q_ENUM( SelectionRenderingMode )
1914
1915
1921 {
1922 SetSelection,
1923 AddToSelection,
1924 IntersectSelection,
1925 RemoveFromSelection,
1926 };
1927 Q_ENUM( SelectBehavior )
1928
1929
1935 {
1936 Intersect,
1937 Within,
1938 };
1939 Q_ENUM( SelectGeometryRelationship )
1940
1941
1946 enum class SelectionFlag : int SIP_ENUM_BASETYPE( IntFlag )
1947 {
1948 SingleFeatureSelection = 1 << 0,
1949 ToggleSelection = 1 << 1,
1950 };
1951
1957 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1958
1960 Q_FLAG( SelectionFlags )
1961
1962
1968 {
1970 EmptyGeometry = 1,
1971 EditFailed = 2,
1972 FetchFeatureFailed = 3,
1973 InvalidLayer = 4,
1974 };
1975 Q_ENUM( VectorEditResult )
1976
1977
1983 {
1984 SemiTransparentCircle,
1985 Cross,
1986 NoMarker,
1987 };
1988 Q_ENUM( VertexMarkerType )
1989
1990
1994 enum class ContentStatus : int
1995 {
1996 NotStarted,
1997 Running,
1998 Finished,
1999 Failed,
2000 Canceled,
2001 };
2002 Q_ENUM( ContentStatus )
2003
2004
2009 enum class GpsConnectionType : int
2010 {
2011 Automatic,
2012 Internal,
2013 Serial,
2014 Gpsd,
2015 };
2016 Q_ENUM( GpsConnectionType )
2017
2018
2023 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
2024 {
2025 Disconnected,
2026 Connecting,
2027 Connected,
2028 };
2029 Q_ENUM( DeviceConnectionStatus )
2030
2031
2039 {
2040 NoData,
2041 NoFix,
2042 Fix2D,
2043 Fix3D
2044 };
2046
2047
2054 {
2055 Unknown,
2056 Gps,
2057 Glonass,
2058 Galileo,
2059 BeiDou,
2060 Qzss,
2061 Navic,
2062 Sbas,
2063 };
2065
2072 {
2073 Unknown = -1,
2074 Invalid,
2075 GPS,
2076 DGPS,
2077 PPS,
2078 RTK,
2079 FloatRTK,
2080 Estimated,
2081 Manual,
2082 Simulation,
2083 };
2084 Q_ENUM( GpsQualityIndicator )
2085
2086
2091 enum class GpsNavigationStatus : int
2092 {
2093 NotValid,
2094 Safe,
2095 Caution,
2096 Unsafe,
2097 };
2099
2105 enum class GpsInformationComponent : int SIP_ENUM_BASETYPE( IntFlag )
2106 {
2107 Location = 1 << 0,
2108 Altitude = 1 << 1,
2109 GroundSpeed = 1 << 2,
2110 Bearing = 1 << 3,
2111 TotalTrackLength = 1 << 4,
2112 TrackDistanceFromStart = 1 << 5,
2113 Pdop = 1 << 6,
2114 Hdop = 1 << 7,
2115 Vdop = 1 << 8,
2116 HorizontalAccuracy = 1 << 9,
2117 VerticalAccuracy = 1 << 10,
2118 HvAccuracy = 1 << 11,
2119 SatellitesUsed = 1 << 12,
2120 Timestamp = 1 << 13,
2121 TrackStartTime = 1 << 14,
2122 TrackEndTime = 1 << 15,
2123 TrackDistanceSinceLastPoint = 1 << 16,
2124 TrackTimeSinceLastPoint = 1 << 17,
2125 GeoidalSeparation = 1 << 18,
2126 EllipsoidAltitude = 1 << 19,
2127 };
2128
2136 Q_FLAG( GpsInformationComponents )
2137
2138
2143 enum class BabelFormatCapability : int SIP_ENUM_BASETYPE( IntFlag )
2144 {
2145 Import = 1 << 0,
2146 Export = 1 << 1,
2147 Waypoints = 1 << 2,
2148 Routes = 1 << 3,
2149 Tracks = 1 << 4,
2150 };
2151
2154 Q_FLAG( BabelFormatCapabilities )
2155
2156
2162 enum class BabelCommandFlag : int SIP_ENUM_BASETYPE( IntFlag )
2163 {
2164 QuoteFilePaths = 1 << 0,
2165 };
2166
2169 Q_FLAG( BabelCommandFlags )
2170
2171
2176 enum class GpsFeatureType : int
2177 {
2178 Waypoint,
2179 Route,
2180 Track,
2181 };
2182 Q_ENUM( GpsFeatureType )
2183
2184
2192 {
2194 NothingHappened = 1000,
2195 InvalidBaseGeometry,
2196 InvalidInputGeometryType,
2197 SelectionIsEmpty,
2198 SelectionIsGreaterThanOne,
2199 GeometryEngineError,
2200 LayerNotEditable,
2201 // Add part issues
2202 AddPartSelectedGeometryNotFound,
2203 AddPartNotMultiGeometry,
2204 // Add ring issues
2205 AddRingNotClosed,
2206 AddRingNotValid,
2207 AddRingCrossesExistingRings,
2208 AddRingNotInExistingFeature,
2209 // Split features
2210 SplitCannotSplitPoint,
2211 GeometryTypeHasChanged,
2212 };
2213 Q_ENUM( GeometryOperationResult )
2214
2215
2221 {
2222 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles )
2223 = 1 << 0,
2224 };
2225
2228 Q_FLAG( GeometryValidityFlags )
2229
2230
2235 {
2236 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
2237 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
2238 Sfcgal,
2239 };
2240 Q_ENUM( GeometryValidationEngine )
2241
2242
2252 Q_ENUM( BufferSide )
2253
2254
2265 Q_ENUM( EndCapStyle )
2266
2267
2273 {
2274 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
2275 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
2276 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
2277 };
2278 Q_ENUM( JoinStyle )
2279
2280
2285 enum class JoinStyle3D : int
2286 {
2287 Round = 1,
2288 Flat,
2289 CylindersAndSpheres,
2290 };
2291 Q_ENUM( JoinStyle3D )
2292
2293
2298 enum class GeometryBackend : int
2299 {
2300 QGIS = 1,
2301 GEOS,
2302 };
2303 Q_ENUM( GeometryBackend )
2304
2305
2310 enum class GeosCreationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2311 {
2312 RejectOnInvalidSubGeometry = 1 << 0,
2313 SkipEmptyInteriorRings = 1 << 1,
2314 };
2315 Q_ENUM( GeosCreationFlag )
2316
2317
2323 Q_FLAG( GeosCreationFlags )
2324
2330 enum class CoverageValidityResult : int
2331 {
2332 Invalid = 0,
2333 Valid = 1,
2334 Error = 2,
2335 };
2336 Q_ENUM( CoverageValidityResult )
2337
2338
2343 enum class MakeValidMethod : int
2344 {
2345 Linework = 0,
2346 Structure = 1,
2347 };
2348 Q_ENUM( MakeValidMethod )
2349
2350
2358 {
2359 NoFlags = 0,
2360 NoGeometry = 1,
2361 SubsetOfAttributes = 2,
2362 ExactIntersect = 4,
2363 IgnoreStaticNodesDuringExpressionCompilation
2364 = 8,
2365 EmbeddedSymbols = 16,
2366 };
2367 Q_ENUM( FeatureRequestFlag )
2368
2369
2377 Q_FLAG( FeatureRequestFlags )
2378
2387 {
2388 NoFilter SIP_MONKEYPATCH_COMPAT_NAME( FilterNone ),
2390 Expression SIP_MONKEYPATCH_COMPAT_NAME( FilterExpression ),
2392 };
2393 Q_ENUM( FeatureRequestFilterType )
2394
2395
2403 {
2404 NoCheck SIP_MONKEYPATCH_COMPAT_NAME( GeometryNoCheck ) = 0,
2405 SkipInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometrySkipInvalid ) = 1,
2406 AbortOnInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometryAbortOnInvalid ) = 2,
2407 };
2408 Q_ENUM( InvalidGeometryCheck )
2409
2410
2415 enum class SpatialFilterType : int
2416 {
2417 NoFilter,
2418 BoundingBox,
2419 DistanceWithin,
2420 };
2421 Q_ENUM( SpatialFilterType )
2422
2423
2428 enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2429 {
2430 IncludeMetadataFile = 1 << 0,
2431 IncludeStyleFile = 1 << 1,
2432 };
2433
2436 Q_FLAG( FileOperationFlags )
2437
2438
2443 enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
2444 {
2445 UsersCannotToggleEditing
2446 = 1 << 0,
2447 IsBasemapLayer = 1 << 1,
2448 Is3DBasemapLayer = 1 << 2,
2449 };
2450
2453 Q_FLAG( MapLayerProperties )
2454
2455
2460 enum class AutoRefreshMode : int
2461 {
2462 Disabled = 0,
2463 ReloadData = 1,
2464 RedrawOnly = 2,
2465 };
2466 Q_ENUM( AutoRefreshMode )
2467
2468
2473 enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
2474 {
2475 IsBasemapSource = 1 << 1,
2476 FastExtent2D = 1 << 2,
2477 FastExtent3D = 1 << 3,
2478 Is3DBasemapSource = 1 << 4,
2479 };
2480
2483 Q_FLAG( DataProviderFlags )
2484
2485
2492 enum class CrsType : int
2493 {
2494 Unknown,
2495 Geodetic,
2496 Geocentric,
2497 Geographic2d,
2498 Geographic3d,
2499 Vertical,
2500 Projected,
2501 Compound,
2502 Temporal,
2503 Engineering,
2504 Bound,
2505 Other,
2506 DerivedProjected,
2507 };
2508 Q_ENUM( CrsType )
2509
2510
2517 enum class CrsAxisDirection : int
2518 {
2519 North,
2520 NorthNorthEast,
2521 NorthEast,
2522 EastNorthEast,
2523 East,
2524 EastSouthEast,
2525 SouthEast,
2526 SouthSouthEast,
2527 South,
2528 SouthSouthWest,
2529 SouthWest,
2530 WestSouthWest,
2531 West,
2532 WestNorthWest,
2533 NorthWest,
2534 NorthNorthWest,
2535 GeocentricX,
2536 GeocentricY,
2537 GeocentricZ,
2540 Forward,
2541 Aft,
2542 Port,
2543 Starboard,
2544 Clockwise,
2545 CounterClockwise,
2546 ColumnPositive,
2547 ColumnNegative,
2548 RowPositive,
2549 RowNegative,
2550 DisplayRight,
2551 DisplayLeft,
2552 DisplayUp,
2553 DisplayDown,
2554 Future,
2555 Past,
2556 Towards,
2557 AwayFrom,
2558 Unspecified,
2559 };
2560 Q_ENUM( CrsAxisDirection )
2561
2562
2567 enum class CoordinateOrder : int
2568 {
2569 Default,
2570 XY,
2571 YX,
2572 };
2573 Q_ENUM( CoordinateOrder )
2574
2575
2583 {
2584 ShortString,
2585 MediumString,
2586 FullString,
2587 };
2588 Q_ENUM( CrsIdentifierType )
2589
2590
2598 {
2600 WKT1_GDAL
2601 ),
2602 Wkt1Esri SIP_MONKEYPATCH_COMPAT_NAME( WKT1_ESRI ),
2603 Wkt2_2015 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015 ),
2604 Wkt2_2015Simplified SIP_MONKEYPATCH_COMPAT_NAME(
2605 WKT2_2015_SIMPLIFIED
2606 ),
2608 WKT2_2019
2609 ),
2610 Wkt2_2019Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019_SIMPLIFIED ),
2611 Preferred SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED ) = Wkt2_2019,
2612 PreferredSimplified SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_SIMPLIFIED )
2613 = Wkt2_2019Simplified,
2614 PreferredGdal SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_GDAL ) = Wkt2_2019,
2615 };
2616 Q_ENUM( CrsWktVariant )
2617
2618
2624 {
2625 NoAction = 0,
2626 PromptUserForCrs = 1,
2627 UseProjectCrs = 2,
2628 UseDefaultCrs = 3,
2629 };
2630 Q_ENUM( UnknownLayerCrsBehavior )
2631
2632
2637 enum class Axis : int
2638 {
2639 X,
2640 Y,
2642 };
2643 Q_ENUM( Axis )
2644
2645
2650 enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
2651 {
2652 ScaleDependentBoundingBox = 1 << 0,
2653 SupportsReferenceScale = 1 << 1,
2654 SupportsCallouts = 1 << 2,
2655 };
2656
2659 Q_FLAG( AnnotationItemFlags )
2660
2661
2667 {
2668 SpatialBounds = 0,
2669 FixedSize,
2670 RelativeToMapFrame,
2671 };
2672 Q_ENUM( AnnotationPlacementMode )
2673
2674
2679 enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
2680 {
2681 FlagNoCreationTools = 1 << 0,
2682 };
2683
2686 Q_FLAG( AnnotationItemGuiFlags )
2687
2688
2693 enum class AnnotationItemNodeType : int
2694 {
2695 VertexHandle,
2696 CalloutHandle,
2697 };
2698 Q_ENUM( AnnotationItemNodeType )
2699
2700
2706 {
2708 Invalid,
2709 ItemCleared,
2710 };
2711 Q_ENUM( AnnotationItemEditOperationResult )
2712
2713
2721 {
2722 Disabled SIP_MONKEYPATCH_COMPAT_NAME( NavigationOff ),
2723 Animated,
2724 FixedRange,
2725 Movie,
2726 };
2727 Q_ENUM( TemporalNavigationMode )
2728
2729
2742 Q_ENUM( AnimationState )
2743
2744
2749 enum class PlaybackOperation : int
2750 {
2751 SkipToStart,
2752 PreviousFrame,
2753 PlayReverse,
2754 Pause,
2755 PlayForward,
2756 NextFrame,
2757 SkipToEnd,
2758 };
2759 Q_ENUM( PlaybackOperation )
2760
2761
2767 {
2768 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2769 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
2770 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
2771 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
2772 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
2774 ModeRedrawLayerOnly
2775 ),
2776 };
2777 Q_ENUM( VectorTemporalMode )
2778
2779
2785 {
2786 IncludeBeginExcludeEnd = 0,
2787 IncludeBeginIncludeEnd,
2788 };
2789 Q_ENUM( VectorTemporalLimitMode )
2790
2791
2797 {
2798 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
2799 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
2800 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2801 };
2802 Q_ENUM( VectorDataProviderTemporalMode )
2803
2804
2810 {
2811 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2812 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
2813 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly )
2814 = 2,
2815 FixedRangePerBand = 3,
2816 RepresentsTemporalValues = 4,
2817 FixedDateTime = 5,
2818 };
2819 Q_ENUM( RasterTemporalMode )
2820
2821
2827 {
2828 MatchUsingWholeRange,
2829 MatchExactUsingStartOfRange,
2830 MatchExactUsingEndOfRange,
2831 FindClosestMatchToStartOfRange,
2832 FindClosestMatchToEndOfRange
2833 };
2834 Q_ENUM( TemporalIntervalMatchMethod )
2835
2836
2842 {
2843 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges
2844 = 1 << 0,
2845 };
2846 Q_ENUM( RasterTemporalCapabilityFlag )
2847
2848
2855
2866 Q_ENUM( TransformDirection )
2867
2868
2874 {
2875 BallparkTransformsAreAppropriate
2876 = 1 << 0,
2877 IgnoreImpossibleTransformations
2878 = 1 << 1,
2879 };
2880 Q_ENUM( CoordinateTransformationFlag )
2881
2882
2889
2896 {
2897 Default,
2898 PreferVector,
2899 ForceVector,
2900 };
2901 Q_ENUM( RasterizedRenderingPolicy )
2902
2903
2909 {
2910 Antialiasing = 0x01,
2911 DrawEditingInfo = 0x02,
2912 ForceVectorOutput = 0x04,
2913 UseAdvancedEffects = 0x08,
2914 DrawLabeling = 0x10,
2915 UseRenderingOptimization = 0x20,
2916 DrawSelection = 0x40,
2917 DrawSymbolBounds = 0x80,
2918 RenderMapTile = 0x100,
2919 RenderPartialOutput = 0x200,
2920 RenderPreviewJob = 0x400,
2921 RenderBlocking = 0x800,
2922 LosslessImageRendering
2923 = 0x1000,
2924 Render3DMap = 0x2000,
2925 HighQualityImageTransforms = 0x4000,
2926 SkipSymbolRendering = 0x8000,
2927 ForceRasterMasks = 0x10000,
2928 RecordProfile = 0x20000,
2929 AlwaysUseGlobalMasks
2930 = 0x40000,
2931 };
2932
2935 Q_FLAG( MapSettingsFlags )
2936
2937
2943 {
2944 DrawEditingInfo = 0x01,
2945 ForceVectorOutput = 0x02,
2946 UseAdvancedEffects = 0x04,
2947 UseRenderingOptimization = 0x08,
2948 DrawSelection = 0x10,
2949 DrawSymbolBounds = 0x20,
2950 RenderMapTile = 0x40,
2951 Antialiasing = 0x80,
2952 RenderPartialOutput = 0x100,
2953 RenderPreviewJob = 0x200,
2954 RenderBlocking = 0x400,
2955 RenderSymbolPreview = 0x800,
2956 LosslessImageRendering = 0x1000,
2957 ApplyScalingWorkaroundForTextRendering = 0x2000,
2958 Render3DMap = 0x4000,
2959 ApplyClipAfterReprojection = 0x8000,
2960 RenderingSubSymbol = 0x10000,
2961 HighQualityImageTransforms = 0x20000,
2962 SkipSymbolRendering = 0x40000,
2963 RecordProfile = 0x80000,
2964 AlwaysUseGlobalMasks = 0x100000,
2965 DisableSymbolClippingToExtent = 0x200000,
2966 RenderLayerTree = 0x400000
2967 };
2968
2971 Q_FLAG( RenderContextFlags )
2972
2973
2978 enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2979 {
2980 RenderPartialOutputs = 1 << 0,
2981 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2982 AffectsLabeling = 1 << 2,
2983 };
2984 Q_ENUM( MapLayerRendererFlag )
2985
2986
2992 Q_FLAG( MapLayerRendererFlags )
2993
2999 enum class PaintEffectFlag : int SIP_ENUM_BASETYPE( IntFlag )
3000 {
3001 RequiresRasterization = 1 << 0,
3002 };
3003 Q_ENUM( PaintEffectFlag )
3004
3005
3011 Q_FLAG( PaintEffectFlags )
3012
3013 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
3014 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
3015
3021 {
3023 TextFormatAlwaysOutlines
3024 ),
3026 TextFormatAlwaysText
3027 ),
3028 PreferText,
3029 };
3030 Q_ENUM( TextRenderFormat )
3031
3032
3040 {
3041 UseAllLabels = 1 << 1,
3042 UsePartialCandidates = 1 << 2,
3043 // TODO QGIS 5.0: remove
3044 RenderOutlineLabels = 1 << 3,
3045 DrawLabelRectOnly = 1 << 4,
3046 DrawCandidates = 1 << 5,
3047 DrawUnplacedLabels = 1 << 6,
3048 CollectUnplacedLabels = 1 << 7,
3049 DrawLabelMetrics = 1 << 8,
3050 IgnoreObstacles = 1 << 9,
3051 SingleCandidateOnly = 1 << 10,
3052 IgnoreOverlaps = 1 << 11,
3053 DisableSearchTree = 1 << 12,
3054 };
3055 Q_ENUM( LabelingFlag )
3056
3057
3065 Q_FLAG( LabelingFlags )
3066
3075 {
3076 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
3077 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
3078 };
3079 Q_ENUM( LabelPlacementEngineVersion )
3080
3081
3089 {
3090 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
3091 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
3092 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
3093 };
3094 Q_ENUM( TextOrientation )
3095
3096
3104 {
3106 Point,
3108 RectangleCapHeightBased,
3109 RectangleAscentBased,
3110 };
3111 Q_ENUM( TextLayoutMode )
3112
3113
3121 {
3122 Text = 1 << 0,
3123 Buffer = 1 << 1,
3124 Background = 1 << 2,
3125 Shadow = 1 << 3,
3126 };
3127 Q_ENUM( TextComponent )
3128
3129
3134 Q_DECLARE_FLAGS( TextComponents, TextComponent )
3135 Q_FLAG( TextComponents )
3136
3151 Q_ENUM( TextHorizontalAlignment )
3152
3153
3164 {
3166 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
3167 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
3168 };
3169 Q_ENUM( TextVerticalAlignment )
3170
3171
3180 {
3181 Normal,
3182 SuperScript,
3183 SubScript,
3184 };
3185 Q_ENUM( TextCharacterVerticalAlignment )
3186
3187
3193 {
3194 TruncateStringWhenLineIsTooShort = 1 << 0,
3195 UseBaselinePlacement = 1 << 1,
3196 UprightCharactersOnly = 1 << 2,
3197 ExtendLineToFitText = 1 << 3,
3198 };
3199 Q_ENUM( CurvedTextFlag )
3200
3201
3207
3216 {
3217 Distance = 0,
3218 SnapToGrid = 1,
3219 Visvalingam = 2,
3220 SnappedToGridGlobal = 3,
3221 };
3222 Q_ENUM( VectorSimplificationAlgorithm )
3223
3224
3232 {
3233 NoSimplification = 0,
3234 GeometrySimplification = 1,
3235 AntialiasingSimplification = 2,
3236 FullSimplification = 3,
3237 };
3238 Q_ENUM( VectorRenderingSimplificationFlag )
3239
3240
3249
3256 {
3257 Generic,
3258 ShadowOffset,
3259 BlurSize,
3260 GlowSpread,
3261 };
3262 Q_ENUM( RenderSubcomponentProperty )
3263
3264
3270 {
3271 SymbolLayer,
3272 Label,
3273 };
3274 Q_ENUM( SelectiveMaskSourceType )
3275
3276
3281 {
3282 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
3283 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
3284 ControlPoint SIP_MONKEYPATCH_COMPAT_NAME( ControlPointVertex ) = 3,
3285 };
3286 Q_ENUM( VertexType )
3287
3288
3296 {
3297 Square,
3298 Diamond,
3299 Pentagon,
3300 Hexagon,
3301 Triangle,
3302 EquilateralTriangle,
3303 Star,
3304 Arrow,
3305 Circle,
3306 Cross,
3307 CrossFill,
3308 Cross2,
3309 Line,
3310 ArrowHead,
3311 ArrowHeadFilled,
3312 SemiCircle,
3313 ThirdCircle,
3314 QuarterCircle,
3315 QuarterSquare,
3316 HalfSquare,
3317 DiagonalHalfSquare,
3318 RightHalfTriangle,
3319 LeftHalfTriangle,
3320 Octagon,
3321 SquareWithCorners,
3322 AsteriskFill,
3323 HalfArc,
3324 ThirdArc,
3325 QuarterArc,
3326 ParallelogramRight,
3327 ParallelogramLeft,
3328 Trapezoid,
3329 Shield,
3330 DiamondStar,
3331 Heart,
3332 Decagon,
3333 RoundedSquare,
3334 };
3335 Q_ENUM( MarkerShape )
3336
3337
3345 {
3346 Interval = 1 << 0,
3347 Vertex = 1 << 1,
3348 LastVertex = 1 << 2,
3349 FirstVertex = 1 << 3,
3350 CentralPoint = 1 << 4,
3351 CurvePoint = 1 << 5,
3352 SegmentCenter = 1 << 6,
3353 InnerVertices = 1 << 7,
3354 };
3355 Q_ENUM( MarkerLinePlacement )
3357 Q_FLAG( MarkerLinePlacements )
3358
3365 {
3366 IntervalCartesian2D = 1 << 0,
3367 IntervalZ = 1 << 1,
3368 IntervalM = 1 << 2,
3369 Vertex = 1 << 3,
3370 };
3371 Q_ENUM( LinearReferencingPlacement )
3372
3373
3379 {
3380 CartesianDistance2D,
3381 Z,
3382 M,
3383 };
3384 Q_ENUM( LinearReferencingLabelSource )
3385
3386
3394 {
3395 SimpleTwoColor,
3396 ColorRamp,
3397 };
3398 Q_ENUM( GradientColorSource )
3399
3400
3413 Q_ENUM( GradientType )
3414
3415
3423 {
3424 Feature,
3425 Viewport,
3426 };
3427 Q_ENUM( SymbolCoordinateReference )
3428
3429
3443 Q_ENUM( GradientSpread )
3444
3445
3453 {
3454 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
3455 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
3456 };
3457 Q_ENUM( PointCountMethod )
3458
3459
3464 enum class MarkerClipMode : int
3465 {
3466 NoClipping,
3467 Shape,
3468 CentroidWithin,
3469 CompletelyWithin,
3470 };
3471 Q_ENUM( MarkerClipMode )
3472
3473
3478 enum class LineClipMode : int
3479 {
3480 ClipPainterOnly,
3481 ClipToIntersection,
3482 NoClipping,
3483 };
3484 Q_ENUM( LineClipMode )
3485
3486
3492 {
3493 NoRule,
3494 FullDash,
3495 HalfDash,
3496 FullGap,
3497 HalfGap,
3498 };
3499 Q_ENUM( DashPatternLineEndingRule )
3500
3501
3507 {
3508 ScaleBothDashAndGap,
3509 ScaleDashOnly,
3510 ScaleGapOnly,
3511 };
3512 Q_ENUM( DashPatternSizeAdjustment )
3513
3514
3526 Q_ENUM( GraduatedMethod )
3527
3528
3534 {
3535 NoLabels,
3536 EveryLabel,
3537 FirstLabel,
3538 LastLabel,
3539 FirstAndLastLabels,
3540 };
3541 Q_ENUM( PlotAxisSuffixPlacement )
3542
3543
3544
3549 enum class PlotAxisType
3550 {
3551 Interval,
3552 Categorical,
3553 };
3554 Q_ENUM( PlotAxisType )
3555
3556
3561 enum class PieChartLabelType : int
3562 {
3563 NoLabels,
3564 Categories,
3565 Values,
3566 };
3567 Q_ENUM( PieChartLabelType )
3568
3569
3573 enum class DpiMode
3574 {
3575 All = 7,
3576 Off = 0,
3577 QGIS = 1,
3578 UMN = 2,
3579 GeoServer = 4,
3580 };
3581 Q_ENUM( DpiMode )
3582
3583
3588 {
3589 Undefined = 0,
3590 StandardDpi = 1,
3591 HighDpi = 2,
3592 };
3593 Q_ENUM( TilePixelRatio )
3594
3595 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
3596
3597
3605 {
3606 MixedCase = 0,
3607 AllUppercase = 1,
3608 AllLowercase = 2,
3609 ForceFirstLetterToCapital = 4,
3610 SmallCaps = 5,
3611 TitleCase = 1004,
3612 UpperCamelCase = 1005,
3613 AllSmallCaps = 1006,
3614 };
3615 Q_ENUM( Capitalization )
3616
3617
3622 enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
3623 {
3624 WrapLines = 1 << 0,
3625 };
3626 Q_ENUM( TextRendererFlag )
3628 Q_FLAG( TextRendererFlags )
3629
3636 {
3637 MapBox,
3638 Esri,
3639 };
3641
3648 {
3649 Clockwise,
3650 CounterClockwise,
3651 NoOrientation,
3652 };
3653 Q_ENUM( AngularDirection )
3654
3655
3660 enum class RendererUsage : int
3661 {
3662 View,
3663 Export,
3664 Unknown,
3665 };
3666 Q_ENUM( RendererUsage )
3667
3668
3673 enum class MapCanvasFlag : int SIP_ENUM_BASETYPE( IntFlag )
3674 {
3675 ShowMainAnnotationLayer = 1 << 0,
3676 };
3677 Q_ENUM( MapCanvasFlag )
3678
3679
3684 Q_DECLARE_FLAGS( MapCanvasFlags, MapCanvasFlag )
3685 Q_FLAG( MapCanvasFlags )
3686
3692 enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
3693 {
3694 Sync3DTo2D = 1 << 0,
3695 Sync2DTo3D = 1 << 1,
3696 };
3697 Q_ENUM( ViewSyncModeFlag )
3699
3706 {
3707 Always,
3708 WhenOutsideVisibleExtent,
3709 Never,
3710 };
3711 Q_ENUM( MapRecenteringMode )
3712
3713
3718 enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
3719 {
3720 LocalProfile = 1 << 0,
3721 // Project = 1 << 1, //!< QGIS Project (not yet implemented)
3722 };
3723 Q_ENUM( HistoryProviderBackend )
3725 Q_FLAG( HistoryProviderBackends )
3726
3732 enum class QueryStorageBackend : int
3733 {
3734 LocalProfile,
3735 CurrentProject,
3736 };
3737 Q_ENUM( QueryStorageBackend )
3738
3739
3747 {
3748 MapLayer SIP_MONKEYPATCH_COMPAT_NAME( TypeMapLayer ) = -2,
3749 VectorAnyGeometry SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorAnyGeometry ) = -1,
3750 VectorPoint SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPoint ) = 0,
3751 VectorLine SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorLine ) = 1,
3752 VectorPolygon SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPolygon ) = 2,
3753 Raster SIP_MONKEYPATCH_COMPAT_NAME( TypeRaster ) = 3,
3754 File SIP_MONKEYPATCH_COMPAT_NAME( TypeFile ) = 4,
3755 Vector SIP_MONKEYPATCH_COMPAT_NAME( TypeVector ) = 5,
3756 Mesh SIP_MONKEYPATCH_COMPAT_NAME( TypeMesh ) = 6,
3757 Plugin SIP_MONKEYPATCH_COMPAT_NAME( TypePlugin ) = 7,
3758 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( TypePointCloud ) = 8,
3759 Annotation SIP_MONKEYPATCH_COMPAT_NAME( TypeAnnotation ) = 9,
3760 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorTile ) = 10,
3761 TiledScene = 11
3762 };
3763 Q_ENUM( ProcessingSourceType )
3764
3765
3766
3774 {
3775 DeemphasiseSearchResults SIP_MONKEYPATCH_COMPAT_NAME( FlagDeemphasiseSearchResults )
3776 = 1 << 1,
3777 CompatibleWithVirtualRaster SIP_MONKEYPATCH_COMPAT_NAME( FlagCompatibleWithVirtualRaster ) = 1 << 2,
3778 };
3780
3789 Q_FLAG( ProcessingProviderFlags )
3790
3791
3799 {
3800 HideFromToolbox SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromToolbox ) = 1 << 1,
3801 HideFromModeler SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromModeler ) = 1 << 2,
3802 SupportsBatch SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsBatch ) = 1 << 3,
3803 CanCancel SIP_MONKEYPATCH_COMPAT_NAME( FlagCanCancel ) = 1 << 4,
3804 RequiresMatchingCrs SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresMatchingCrs ) = 1 << 5,
3805 NoThreading SIP_MONKEYPATCH_COMPAT_NAME( FlagNoThreading ) = 1 << 6,
3806 DisplayNameIsLiteral SIP_MONKEYPATCH_COMPAT_NAME( FlagDisplayNameIsLiteral ) = 1 << 7,
3807 SupportsInPlaceEdits SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsInPlaceEdits ) = 1 << 8,
3808 KnownIssues SIP_MONKEYPATCH_COMPAT_NAME( FlagKnownIssues ) = 1 << 9,
3809 CustomException SIP_MONKEYPATCH_COMPAT_NAME( FlagCustomException ) = 1 << 10,
3810 PruneModelBranchesBasedOnAlgorithmResults SIP_MONKEYPATCH_COMPAT_NAME( FlagPruneModelBranchesBasedOnAlgorithmResults ) = 1 << 11,
3811 SkipGenericModelLogging SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGenericModelLogging ) = 1 << 12,
3812 NotAvailableInStandaloneTool SIP_MONKEYPATCH_COMPAT_NAME( FlagNotAvailableInStandaloneTool ) = 1 << 13,
3813 RequiresProject SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresProject ) = 1 << 14,
3814 SecurityRisk = 1 << 15,
3815 Deprecated SIP_MONKEYPATCH_COMPAT_NAME( FlagDeprecated ) = HideFromToolbox | HideFromModeler,
3816 };
3818
3827 Q_FLAG( ProcessingAlgorithmFlags )
3828
3829
3835 {
3836 RegeneratesPrimaryKey = 1 << 0,
3837 RegeneratesPrimaryKeyInSomeScenarios = 1 << 1,
3838 RespectsEllipsoid = 1 << 2,
3839 };
3840 Q_ENUM( ProcessingAlgorithmDocumentationFlag )
3841
3842
3849
3859 {
3860 NotAvailable,
3861 Available,
3862 };
3863 Q_ENUM( ProcessingPropertyAvailability )
3864
3865
3873 {
3874 DefaultLevel = 0,
3875 Verbose,
3876 ModelDebug,
3877 };
3878 Q_ENUM( ProcessingLogLevel )
3879
3880
3888 {
3889 Standard,
3890 Batch,
3891 Modeler,
3892 };
3893 Q_ENUM( ProcessingMode )
3894
3895
3903 {
3904 OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck )
3905 = 1 << 0,
3906 CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature )
3907 = 1 << 1,
3908 };
3909 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3910
3911
3920
3929 {
3930 SkipGeometryValidityChecks SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGeometryValidityChecks ) = 1 << 1,
3931 };
3932 Q_ENUM( ProcessingFeatureSourceFlag )
3933
3934
3943
3955 {
3956 ExposeToModeler = 1
3957 };
3958 Q_ENUM( ProcessingParameterTypeFlag )
3959
3960
3972
3981 {
3982 Advanced SIP_MONKEYPATCH_COMPAT_NAME( FlagAdvanced ) = 1 << 1,
3983 Hidden SIP_MONKEYPATCH_COMPAT_NAME( FlagHidden ) = 1 << 2,
3984 Optional SIP_MONKEYPATCH_COMPAT_NAME( FlagOptional ) = 1 << 3,
3985 IsModelOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagIsModelOutput ) = 1 << 4,
3986 };
3987 Q_ENUM( ProcessingParameterFlag )
3988
3989
3997 Q_FLAG( ProcessingParameterFlags )
3998
4011 Q_ENUM( ProcessingFileParameterBehavior )
4012
4013
4025 Q_ENUM( ProcessingNumberParameterType )
4026
4027
4035 {
4036 Any = -1,
4037 Numeric = 0,
4038 String = 1,
4039 DateTime = 2,
4040 Binary = 3,
4041 Boolean = 4,
4042 };
4043 Q_ENUM( ProcessingFieldParameterDataType )
4044
4045
4058 Q_ENUM( ProcessingDateTimeParameterDataType )
4059
4060
4066 {
4067 ModelParameter,
4068 ChildOutput,
4069 StaticValue,
4070 Expression,
4071 ExpressionText,
4072 ModelOutput,
4073 };
4074 Q_ENUM( ProcessingModelChildParameterSource )
4075
4076
4082 {
4083 NotExecuted,
4085 Failed,
4086 };
4087 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
4088
4089
4097 {
4098 Vertices,
4099 StructureLines,
4100 BreakLines
4101 };
4102 Q_ENUM( ProcessingTinInputLayerType )
4103
4104
4114 Q_ENUM( CrsDefinitionFormat )
4115
4116
4124 enum class FieldDomainSplitPolicy : int
4125 {
4126 DefaultValue,
4127 Duplicate,
4128 GeometryRatio,
4129 UnsetField,
4130 };
4131 Q_ENUM( FieldDomainSplitPolicy )
4132
4133
4141 enum class FieldDomainMergePolicy : int
4142 {
4143 DefaultValue,
4144 Sum,
4145 GeometryWeighted,
4146 UnsetField,
4147 LargestGeometry,
4148 MinimumValue,
4149 MaximumValue,
4150 SetToNull,
4151 };
4152 Q_ENUM( FieldDomainMergePolicy )
4153
4154
4161 enum class FieldDuplicatePolicy : int
4162 {
4163 DefaultValue,
4164 Duplicate,
4165 UnsetField,
4166 };
4167 Q_ENUM( FieldDuplicatePolicy )
4168
4169
4174 enum class FieldDomainType : int
4175 {
4176 Coded,
4177 Range,
4178 Glob,
4179 };
4180 Q_ENUM( FieldDomainType )
4181
4182
4187 enum class TransactionMode : int
4188 {
4189 Disabled = 0,
4190 AutomaticGroups = 1,
4191 BufferedGroups = 2,
4192 };
4193 Q_ENUM( TransactionMode )
4194
4195
4200 enum class AltitudeClamping : int
4201 {
4202 Absolute,
4203 Relative,
4204 Terrain,
4205 };
4206 Q_ENUM( AltitudeClamping )
4207
4208
4213 enum class AltitudeBinding : int
4214 {
4215 Vertex,
4216 Centroid,
4217 };
4218 Q_ENUM( AltitudeBinding )
4219
4220
4225 enum class RangeLimits : int
4226 {
4227 IncludeBoth = 0,
4228 IncludeLowerExcludeUpper,
4229 ExcludeLowerIncludeUpper,
4230 ExcludeBoth,
4231 };
4232 Q_ENUM( RangeLimits )
4233
4234
4239 enum class RasterElevationMode : int
4240 {
4241 FixedElevationRange = 0,
4242 RepresentsElevationSurface = 1,
4243 FixedRangePerBand = 2,
4244 DynamicRangePerBand = 3,
4245 };
4246 Q_ENUM( RasterElevationMode )
4247
4248
4253 enum class MeshElevationMode : int
4254 {
4255 FixedElevationRange = 0,
4256 FromVertices = 1,
4257 FixedRangePerGroup = 2,
4258 };
4259 Q_ENUM( MeshElevationMode )
4260
4261
4267 {
4268 NoConstraint,
4269 Perpendicular,
4270 Parallel
4271 };
4272 Q_ENUM( BetweenLineConstraint )
4273
4274
4279 enum class LineExtensionSide : int
4280 {
4281 BeforeVertex,
4282 AfterVertex,
4283 NoVertex,
4284 };
4285 Q_ENUM( LineExtensionSide )
4286
4287
4288
4292 enum class CadConstraintType : int
4293 {
4294 Generic,
4295 Angle,
4296 Distance,
4297 XCoordinate,
4298 YCoordinate,
4299 ZValue,
4300 MValue,
4301 };
4302 Q_ENUM( CadConstraintType )
4303
4304
4309 {
4310 Hidden,
4311 Cartesian,
4312 Ellipsoidal,
4313 };
4314 Q_ENUM( CadMeasurementDisplayType )
4315
4316
4321 enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
4322 {
4323 EvaluateDefaultValuesOnProviderSide = 1 << 0,
4324 TrustStoredLayerStatistics
4325 = 1 << 1,
4326 RememberLayerEditStatusBetweenSessions = 1 << 2,
4327 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
4328 };
4329 Q_ENUM( ProjectFlag )
4330 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
4331 Q_FLAG( ProjectFlags )
4332
4338 enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
4339 {
4340 ShowContextMenu = 1 << 0,
4341 };
4342 Q_ENUM( PlotToolFlag )
4343 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
4344 Q_FLAG( PlotToolFlags )
4345
4353 enum class Map3DDebugFlag : int SIP_ENUM_BASETYPE( IntFlag )
4354 {
4355 ShowTerrainBoundingBoxes = 1 << 0,
4356 ShowTerrainTileInfo = 1 << 1,
4357 ShowCameraViewCenter = 1 << 2,
4358 ShowCameraRotationCenter = 1 << 3,
4359 ShowLightSourceOrigins = 1 << 4,
4360 ShowFPS = 1 << 5,
4361 ShowDebugPanel = 1 << 6,
4362 };
4363 Q_ENUM( Map3DDebugFlag )
4365 Q_FLAG( Map3DDebugFlags )
4366
4372 enum class Map3DProjectionType : int
4373 {
4374 Orthographic = 0,
4375 Perspective = 1,
4376 };
4377 Q_ENUM( Map3DProjectionType )
4378
4379
4386 enum class Point3DShape : int
4387 {
4388 Cylinder,
4389 Sphere,
4390 Cone,
4391 Cube,
4392 Torus,
4393 Plane,
4394 ExtrudedText,
4395 Model,
4396 Billboard,
4397 };
4398 Q_ENUM( Point3DShape )
4399
4400
4409 {
4410 Triangles,
4411 Lines,
4412 InstancedPoints,
4413 Points,
4414 TrianglesWithFixedTexture,
4415 TrianglesFromModel,
4416 TrianglesDataDefined,
4417 Billboards,
4418 };
4419 Q_ENUM( MaterialRenderingTechnique )
4420
4421
4426 enum class InstancedMaterialFlag : int SIP_ENUM_BASETYPE( IntFlag )
4427 {
4428 DataDefinedScale = 1 << 0,
4429 DataDefinedRotation = 1 << 1,
4430 };
4431 Q_ENUM( InstancedMaterialFlag )
4433 Q_FLAG( InstancedMaterialFlags )
4434
4440 enum class TextureFilterQuality : int
4441 {
4442 Trilinear,
4443 Anisotropic2x,
4444 Anisotropic4x,
4445 Anisotropic8x,
4446 Anisotropic16x,
4447 };
4448 Q_ENUM( TextureFilterQuality )
4449
4450
4455 enum class ShadowQuality : int
4456 {
4457 Low,
4458 Medium,
4459 High,
4460 VeryHigh,
4461 Extreme,
4462 };
4463 Q_ENUM( ShadowQuality )
4464
4465
4470 enum class LightSourceType : int
4471 {
4472 Point,
4473 Directional,
4474 Sun,
4475 };
4476 Q_ENUM( LightSourceType )
4477
4478
4482 enum class Map3DBackgroundType : int
4483 {
4484 NoBackground,
4485 FixedGradientBackground,
4486 DistinctTextureSkybox,
4487 };
4488 Q_ENUM( Map3DBackgroundType )
4489
4490
4495 enum class SkyboxCubeMapping : int
4496 {
4497 NativeZUp,
4498 OpenGLYUp,
4499 GodotYUp,
4500 UnrealEngineZUp,
4501 LeftHandedYUpMirrored,
4502 };
4503 Q_ENUM( SkyboxCubeMapping )
4504
4505
4510 enum class NavigationMode : int
4511 {
4512 TerrainBased,
4513 Walk,
4514 GlobeTerrainBased
4515 };
4516 Q_ENUM( NavigationMode )
4517
4518
4523 enum class SceneMode : int
4524 {
4525 Local,
4526 Globe
4527 };
4528 Q_ENUM( SceneMode )
4529
4530
4535 enum class VerticalAxisInversion : int SIP_ENUM_BASETYPE( IntFlag )
4536 {
4537 WhenRotatingDragging = 1 << 0,
4538 WhenRotatingCaptured = 1 << 1,
4539 WhenPivoting = 1 << 2,
4540
4541 // Legacy aliases for old flying-only enum:
4542
4543 Never = WhenRotatingDragging | WhenRotatingCaptured | WhenPivoting,
4544 WhenDragging = WhenRotatingCaptured | WhenPivoting,
4545 Always = WhenPivoting,
4546 };
4547 Q_ENUM( VerticalAxisInversion )
4550
4557 enum class ToneMappingMethod : int
4558 {
4559 Clamp,
4560 Aces,
4561 };
4562 Q_ENUM( ToneMappingMethod )
4563
4564
4569 enum class Export3DSceneFormat : int
4570 {
4571 Obj,
4572 StlAscii
4573 };
4574 Q_ENUM( Export3DSceneFormat )
4575
4576
4582 {
4583 Line,
4584 FillBelow,
4585 FillAbove,
4586 };
4588
4594 enum class VectorProfileType : int
4595 {
4596 IndividualFeatures,
4597 ContinuousSurface,
4598 };
4600
4606 enum class PointCloudProfileType : int
4607 {
4608 IndividualPoints,
4609 TriangulatedSurface,
4610 };
4612
4618 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
4619 {
4620 RespectsMaximumErrorMapUnit = 1 << 0,
4621 RespectsDistanceRange = 1 << 1,
4622 RespectsElevationRange = 1 << 2,
4623 };
4624 Q_ENUM( ProfileGeneratorFlag )
4626 Q_FLAG( ProfileGeneratorFlags )
4627
4633 enum class ProfileExportType : int
4634 {
4635 Features3D,
4636 Profile2D,
4637 DistanceVsElevationTable,
4638 };
4640
4647 {
4648 Square,
4649 Circle,
4650 };
4651 Q_ENUM( PointCloudSymbol )
4652
4653
4659 {
4660 Default,
4661 BottomToTop,
4662 TopToBottom,
4663 };
4664 Q_ENUM( PointCloudDrawOrder )
4665
4666
4674 {
4675 AllowIntersections,
4676 AvoidIntersectionsCurrentLayer,
4677 AvoidIntersectionsLayers,
4678 };
4679 Q_ENUM( AvoidIntersectionsMode )
4680
4681
4689 {
4690 Qgz,
4691 Qgs,
4692 };
4693 Q_ENUM( ProjectFileFormat )
4694
4695
4703 {
4704 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers )
4705 = 1 << 0,
4706 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts )
4707 = 1 << 1,
4708 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata )
4709 = 1 << 2,
4710 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
4711 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
4712 DontLoadProjectStyles = 1 << 5,
4713 ForceReadOnlyLayers = 1 << 6,
4714 DontUpgradeAnnotations = 1 << 7,
4715 };
4716 Q_ENUM( ProjectReadFlag )
4717
4718
4726 Q_FLAG( ProjectReadFlags )
4727
4736 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
4737 {
4738 ProjectStyles = 1 << 0,
4739 };
4740 Q_ENUM( ProjectCapability )
4741
4742
4748 Q_FLAG( ProjectCapabilities )
4749
4756 {
4757 Vector,
4758 Raster,
4759 RasterDem,
4760 GeoJson,
4761 Image,
4762 Video,
4763 Unknown,
4764 };
4765 Q_ENUM( MapBoxGlStyleSourceType )
4766
4767
4775 {
4776 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
4777 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
4778 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
4779 GlobeServer,
4780 GPServer,
4781 GeocodeServer,
4782 Unknown,
4783 SceneServer,
4784 };
4785 Q_ENUM( ArcGisRestServiceType )
4786
4787
4796 {
4797 Map = 1 << 0,
4798 Query = 1 << 1,
4799 Update = 1 << 2,
4800 Delete = 1 << 3,
4801 Create = 1 << 4,
4802 Image = 1 << 5,
4803 TilesOnly = 1 << 6,
4804 };
4805 Q_ENUM( ArcGisRestServiceCapability )
4806
4807
4814
4823 {
4824 Normal,
4825 Generated,
4826 };
4827 Q_ENUM( RelationshipType )
4828
4829
4837 {
4838 Association,
4839 Composition,
4840 };
4841 Q_ENUM( RelationshipStrength )
4842
4843
4849 {
4850 OneToOne,
4851 OneToMany,
4852 ManyToOne,
4853 ManyToMany,
4854 };
4855 Q_ENUM( RelationshipCardinality )
4856
4857
4862 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
4863 {
4864 MultipleFieldKeys = 1 << 0,
4865 ForwardPathLabel = 1 << 1,
4866 BackwardPathLabel = 1 << 2,
4867 };
4868 Q_ENUM( RelationshipCapability )
4869
4870
4876 Q_FLAG( RelationshipCapabilities )
4877
4883 enum class CoordinateDisplayType : int
4884 {
4885 MapCrs,
4886 MapGeographic,
4887 CustomCrs,
4888 };
4889 Q_ENUM( CoordinateDisplayType )
4890
4891
4896 enum class SettingsOrigin : int
4897 {
4898 Any,
4899 Global,
4900 Local,
4901 };
4902 Q_ENUM( SettingsOrigin )
4903
4904
4909 enum class ScriptLanguage : int
4910 {
4911 Css,
4912 QgisExpression,
4913 Html,
4914 JavaScript,
4915 Json,
4916 Python,
4917 R,
4918 Sql,
4919 Batch,
4920 Bash,
4921 Unknown,
4922 };
4923 Q_ENUM( ScriptLanguage )
4924
4925
4933 {
4934 Reformat = 1 << 0,
4935 CheckSyntax = 1 << 1,
4936 ToggleComment = 1 << 2,
4937 };
4938 Q_ENUM( ScriptLanguageCapability )
4939
4940
4947
4954 {
4955 AboveInsertionPoint,
4956 TopOfTree,
4957 OptimalInInsertionGroup,
4958 };
4959 Q_ENUM( LayerTreeInsertionMethod )
4960
4961
4967 {
4968 LayerProperties = 0,
4969 AttributeTable = 1,
4970 LayerStyling = 2,
4971 };
4972 Q_ENUM( LegendLayerDoubleClickAction )
4973
4974
4979 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
4980 {
4981 SkipVisibilityCheck = 1 << 0,
4982 };
4983 Q_ENUM( LayerTreeFilterFlag )
4984
4985
4991 Q_FLAG( LayerTreeFilterFlags )
4992
4998 enum class MapLayerLegendFlag : int SIP_ENUM_BASETYPE( IntFlag )
4999 {
5000 ExcludeByDefault = 1 << 0,
5001 };
5002 Q_ENUM( MapLayerLegendFlag )
5003
5004
5010 Q_FLAG( MapLayerLegendFlags )
5011
5020 {
5021 Undefined,
5022 Hidden,
5023 Title,
5024 Group,
5025 Subgroup,
5026 Symbol,
5027 SymbolLabel,
5028 };
5029 // !!! WARNING: If adding new values to this enum, make sure you update QgsLegendSettings constructor accordingly!!
5030 Q_ENUM( LegendComponent )
5031
5032
5037 enum class LegendSyncMode : int
5038 {
5039 AllProjectLayers,
5040 VisibleLayers,
5041 Manual,
5042 };
5043 Q_ENUM( LegendSyncMode )
5044
5045
5052 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
5053 {
5054 ShowRuleDetails = 1 << 0,
5055 };
5056 Q_ENUM( LegendJsonRenderFlag )
5058 Q_FLAG( LegendJsonRenderFlags )
5059
5065 enum class GeoJsonProfile : int
5066 {
5067 Legacy,
5068 Rfc7946,
5069 JsonFg,
5070 JsonFgPlus,
5071 };
5072 Q_ENUM( GeoJsonProfile )
5073
5074
5081 enum class ActionType : int
5082 {
5083 Invalid,
5084 MapLayerAction,
5085 AttributeAction
5086 };
5087 Q_ENUM( ActionType )
5088
5089
5096 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
5097 {
5098 Layer = 1 << 0,
5099 SingleFeature = 1 << 1,
5100 MultipleFeatures = 1 << 2,
5101 AllActions = Layer | SingleFeature | MultipleFeatures
5102 };
5103 Q_ENUM( MapLayerActionTarget )
5104
5105
5113 Q_FLAG( MapLayerActionTargets )
5114
5122 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
5123 {
5124 EnabledOnlyWhenEditable = 1 << 1,
5125 EnableOnlyWhenHasGeometry = 1 << 2,
5126 };
5127 Q_ENUM( MapLayerActionFlag )
5128
5129
5137 Q_FLAG( MapLayerActionFlags )
5138
5147 {
5148 Generic,
5149 GenericPython,
5150 Mac,
5151 Windows,
5152 Unix,
5153 OpenUrl,
5154 SubmitUrlEncoded,
5155 SubmitUrlMultipart,
5156 };
5157 Q_ENUM( AttributeActionType )
5158
5159
5165 {
5166 Created,
5167 Published,
5168 Revised,
5169 Superseded,
5170 };
5171 Q_ENUM( MetadataDateType )
5172
5173
5182
5184 {
5185 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
5186 GrayIndex = 1,
5187 PaletteIndex = 2,
5188 RedBand = 3,
5189 GreenBand = 4,
5190 BlueBand = 5,
5191 AlphaBand = 6,
5192 HueBand = 7,
5193 SaturationBand = 8,
5194 LightnessBand = 9,
5195 CyanBand = 10,
5196 MagentaBand = 11,
5197 YellowBand = 12,
5198 BlackBand = 13,
5199 YCbCr_YBand = 14,
5200 YCbCr_CbBand = 15,
5201 YCbCr_CrBand = 16,
5202 ContinuousPalette = 17,
5203
5204 // Note: values between PanBand and SAR_P_Band match additions done in
5205 // GDAL 3.10, except that the numeric values of the constant don't match GDAL ones
5206
5207 PanBand = 18,
5208 CoastalBand = 19,
5209 RedEdgeBand = 20,
5210 NIRBand = 21,
5211 SWIRBand = 22,
5212 MWIRBand = 23,
5213 LWIRBand = 24,
5214 TIRBand = 25,
5215 OtherIRBand = 26,
5216 SAR_Ka_Band = 27,
5217 SAR_K_Band = 28,
5218 SAR_Ku_Band = 30,
5219 SAR_X_Band = 31,
5220 SAR_C_Band = 32,
5221 SAR_S_Band = 33,
5222 SAR_L_Band = 34,
5223 SAR_P_Band = 35,
5224 };
5225 Q_ENUM( RasterColorInterpretation )
5226
5227
5235 {
5236 GrayOrUndefined,
5237 Palette,
5238 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
5239 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
5240 };
5241 Q_ENUM( RasterLayerType )
5242
5243
5251 {
5252 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
5253 SingleBandGray,
5254 SingleBandPseudoColor,
5255 PalettedColor,
5256 PalettedSingleBandGray,
5257 PalettedSingleBandPseudoColor,
5258 PalettedMultiBandColor,
5259 MultiBandSingleBandGray,
5260 MultiBandSingleBandPseudoColor,
5261 MultiBandColor,
5262 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
5263 };
5264 Q_ENUM( RasterDrawingStyle )
5265
5266
5273 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
5274 {
5275 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
5276 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
5277 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
5278 };
5279 Q_ENUM( RasterPyramidFormat )
5280
5281
5289 {
5290 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
5291 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
5292 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
5293 };
5294 Q_ENUM( RasterBuildPyramidOption )
5295
5296
5304 {
5305 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
5306 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
5307 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
5308 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
5309 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
5310 };
5311 Q_ENUM( RasterIdentifyFormat )
5312
5313 // TODO QGIS 5 -- remove NoCapabilities and rely on RasterInterfaceCapabilities() instead
5314 // remove deprecated members
5315 // Remove "Identify" member, and replace with combinations of IdentifyValue/IdentifyText/etc
5316
5317
5325 {
5326 NoCapabilities = 0,
5327 Size = 1 << 1,
5328 Create = 1 << 2,
5329 Remove = 1 << 3,
5330 BuildPyramids = 1 << 4,
5331 Identify = 1 << 5,
5332 IdentifyValue = 1 << 6,
5333 IdentifyText = 1 << 7,
5334 IdentifyHtml = 1 << 8,
5335 IdentifyFeature = 1 << 9,
5336 Prefetch = 1 << 10,
5337 };
5338 Q_ENUM( RasterInterfaceCapability )
5339
5340
5347
5348 // TODO QGIS 5 -- remove NoProviderCapabilities and rely on RasterProviderCapabilities() instead
5349
5358 {
5359 NoProviderCapabilities = 0,
5360 ReadLayerMetadata = 1 << 1,
5361 WriteLayerMetadata = 1 << 2,
5362 ProviderHintBenefitsFromResampling = 1 << 3,
5363 ProviderHintCanPerformProviderResampling = 1 << 4,
5364 ReloadData = 1 << 5,
5365 DpiDependentData = 1 << 6,
5366 NativeRasterAttributeTable = 1 << 7,
5367 BuildPyramids = 1 << 8,
5368 };
5369 Q_ENUM( RasterProviderCapability )
5370
5371
5380
5387 {
5388 HighestElevation,
5389 NewerElevation,
5390 };
5391 Q_ENUM( ElevationMapCombineMethod )
5392
5393
5402 {
5403 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
5404 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
5405 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
5406 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
5407 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
5408 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
5409 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
5411 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
5412 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
5413 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
5414 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
5415 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
5416 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
5417 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
5418 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
5419 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
5420 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
5421 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
5422 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
5423 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
5424 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
5425 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
5427 };
5428 Q_ENUM( BlendMode )
5429
5430
5438 {
5439 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
5440 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
5441 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
5442 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
5443 };
5444 Q_ENUM( SystemOfMeasurement )
5445
5446
5453 {
5454 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
5455 Pixels,
5456 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
5457 };
5458 Q_ENUM( MapToolUnit )
5459
5460
5468 {
5469 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
5471 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
5472 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
5473 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
5474 };
5475 Q_ENUM( UnitType )
5476
5477
5485 {
5486 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
5487 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
5488 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
5489 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
5490 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
5491 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
5492 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
5493 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
5494 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
5495 Inches,
5496 ChainsInternational,
5497 ChainsBritishBenoit1895A,
5498 ChainsBritishBenoit1895B,
5499 ChainsBritishSears1922Truncated,
5500 ChainsBritishSears1922,
5501 ChainsClarkes,
5502 ChainsUSSurvey,
5503 FeetBritish1865,
5504 FeetBritish1936,
5505 FeetBritishBenoit1895A,
5506 FeetBritishBenoit1895B,
5507 FeetBritishSears1922Truncated,
5508 FeetBritishSears1922,
5509 FeetClarkes,
5510 FeetGoldCoast,
5511 FeetIndian,
5512 FeetIndian1937,
5513 FeetIndian1962,
5514 FeetIndian1975,
5515 FeetUSSurvey,
5516 LinksInternational,
5517 LinksBritishBenoit1895A,
5518 LinksBritishBenoit1895B,
5519 LinksBritishSears1922Truncated,
5520 LinksBritishSears1922,
5521 LinksClarkes,
5522 LinksUSSurvey,
5523 YardsBritishBenoit1895A,
5524 YardsBritishBenoit1895B,
5525 YardsBritishSears1922Truncated,
5526 YardsBritishSears1922,
5527 YardsClarkes,
5528 YardsIndian,
5529 YardsIndian1937,
5530 YardsIndian1962,
5531 YardsIndian1975,
5532 MilesUSSurvey,
5533 Fathoms,
5534 MetersGermanLegal,
5535 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
5536 };
5537 Q_ENUM( DistanceUnit )
5538
5539
5547 {
5548 Standard,
5549 Geographic,
5550 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
5551 };
5552 Q_ENUM( DistanceUnitType )
5553
5554
5562 {
5563 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
5564 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
5565 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
5566 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
5567 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
5568 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
5569 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
5570 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
5571 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
5572 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
5573 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
5574 SquareInches,
5575 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
5576 };
5577 Q_ENUM( AreaUnit )
5578
5579
5587 {
5588 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
5589 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
5590 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
5591 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
5592 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
5593 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
5594 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
5595 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
5596 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
5597 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
5598 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
5599 };
5600 Q_ENUM( VolumeUnit )
5601
5602
5610 {
5611 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
5612 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
5614 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
5615 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
5617 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
5618 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
5619 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
5620 };
5621 Q_ENUM( AngleUnit )
5622
5623
5631 {
5632 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
5633 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
5634 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
5635 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
5636 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
5637 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
5638 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
5639 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
5640 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
5641 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
5642 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
5643 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
5644 };
5645 Q_ENUM( TemporalUnit )
5646
5647
5655 {
5656 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
5657 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
5658 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
5659 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
5660 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
5661 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
5662 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
5663 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
5664 };
5665 Q_ENUM( RenderUnit )
5666
5667
5675 {
5676 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
5677 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
5678 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
5679 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
5680 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
5681 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
5682 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
5683 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
5684 };
5685 Q_ENUM( LayoutUnit )
5686
5687
5695 {
5696 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
5697 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
5698 };
5699 Q_ENUM( LayoutUnitType )
5700
5701
5709 {
5710 Debug SIP_MONKEYPATCH_COMPAT_NAME( FlagDebug ) = 1 << 1,
5711 OutlineOnly SIP_MONKEYPATCH_COMPAT_NAME( FlagOutlineOnly ) = 1 << 2,
5712 Antialiasing SIP_MONKEYPATCH_COMPAT_NAME( FlagAntialiasing ) = 1 << 3,
5713 UseAdvancedEffects SIP_MONKEYPATCH_COMPAT_NAME( FlagUseAdvancedEffects ) = 1 << 4,
5714 ForceVectorOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagForceVectorOutput )
5715 = 1 << 5,
5716 HideCoverageLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagHideCoverageLayer ) = 1 << 6,
5717 DrawSelection SIP_MONKEYPATCH_COMPAT_NAME( FlagDrawSelection ) = 1 << 7,
5718 DisableTiledRasterLayerRenders SIP_MONKEYPATCH_COMPAT_NAME( FlagDisableTiledRasterLayerRenders )
5719 = 1 << 8,
5720 RenderLabelsByMapLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagRenderLabelsByMapLayer )
5721 = 1 << 9,
5722 LosslessImageRendering SIP_MONKEYPATCH_COMPAT_NAME( FlagLosslessImageRendering )
5723 = 1 << 10,
5724 SynchronousLegendGraphics SIP_MONKEYPATCH_COMPAT_NAME( FlagSynchronousLegendGraphics ) = 1 << 11,
5725 AlwaysUseGlobalMasks SIP_MONKEYPATCH_COMPAT_NAME( FlagAlwaysUseGlobalMasks )
5726 = 1 << 12,
5727 LimitCoverageLayerRenderToCurrentFeature = 1 << 13,
5728 };
5729 Q_ENUM( LayoutRenderFlag )
5730
5731
5739 Q_FLAG( LayoutRenderFlags )
5740
5749 {
5750 SVG SIP_MONKEYPATCH_COMPAT_NAME( FormatSVG ) = 0,
5751 Raster SIP_MONKEYPATCH_COMPAT_NAME( FormatRaster ),
5752 Unknown SIP_MONKEYPATCH_COMPAT_NAME( FormatUnknown ),
5753 };
5754 Q_ENUM( PictureFormat )
5755
5756
5761 enum class ScaleCalculationMethod : int
5762 {
5763 HorizontalTop = 0,
5764 HorizontalMiddle,
5765 HorizontalBottom,
5766 HorizontalAverage,
5767 AtEquator,
5768 };
5769 Q_ENUM( ScaleCalculationMethod )
5770
5771
5784 Q_ENUM( ScaleBarAlignment )
5785
5786
5794 {
5795 Fixed SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFixed ) = 0,
5796 FitWidth SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFitWidth ) = 1
5797 };
5798 Q_ENUM( ScaleBarSegmentSizeMode )
5799
5800
5808 {
5809 AboveSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelAboveSegment ) = 0,
5810 BelowSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelBelowSegment ),
5811 };
5812 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
5813
5814
5822 {
5823 CenteredEdge SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredEdge ) = 0,
5824 CenteredSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredSegment ),
5825 };
5826 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
5827
5828
5829
5837 {
5838 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( MapUnit ),
5841 DynamicPageSizeBased,
5842 };
5843 Q_ENUM( MapGridUnit )
5844
5845
5853 {
5854 Lines SIP_MONKEYPATCH_COMPAT_NAME( Solid ) = 0,
5855 LineCrosses SIP_MONKEYPATCH_COMPAT_NAME( Cross ),
5856 Markers,
5857 FrameAndAnnotationsOnly SIP_MONKEYPATCH_COMPAT_NAME( FrameAnnotationsOnly )
5858 };
5859 Q_ENUM( MapGridStyle )
5860
5861
5869 {
5870 ShowAll = 0,
5871 LatitudeOnly,
5872 LongitudeOnly,
5873 HideAll
5874 };
5875 Q_ENUM( MapGridComponentVisibility )
5876
5877
5885 {
5886 InsideMapFrame = 0,
5887 OutsideMapFrame,
5888 };
5889 Q_ENUM( MapGridAnnotationPosition )
5890
5891
5899 {
5900 Horizontal = 0,
5901 Vertical,
5902 VerticalDescending,
5903 BoundaryDirection,
5904 AboveTick,
5905 OnTick,
5906 UnderTick,
5907 };
5908 Q_ENUM( MapGridAnnotationDirection )
5909
5910
5918 {
5919 Decimal = 0,
5920 DegreeMinute,
5921 DegreeMinuteSecond,
5922 DecimalWithSuffix,
5923 DegreeMinuteNoSuffix,
5924 DegreeMinutePadded,
5925 DegreeMinuteSecondNoSuffix,
5926 DegreeMinuteSecondPadded,
5927 CustomFormat
5928 };
5929 Q_ENUM( MapGridAnnotationFormat )
5930
5931
5945 Q_ENUM( MapGridBorderSide )
5946
5947
5955 {
5956 NoFrame = 0,
5957 Zebra,
5958 InteriorTicks,
5959 ExteriorTicks,
5960 InteriorExteriorTicks,
5961 LineBorder,
5962 LineBorderNautical,
5963 ZebraNautical,
5964 };
5965 Q_ENUM( MapGridFrameStyle )
5966
5967
5975 {
5976 OrthogonalTicks = 0,
5977 NormalizedTicks,
5978 };
5979 Q_ENUM( MapGridTickLengthMode )
5980
5981
5982
5990 {
5991 Left SIP_MONKEYPATCH_COMPAT_NAME( FrameLeft ) = 0x01,
5992 Right SIP_MONKEYPATCH_COMPAT_NAME( FrameRight ) = 0x02,
5993 Top SIP_MONKEYPATCH_COMPAT_NAME( FrameTop ) = 0x04,
5994 Bottom SIP_MONKEYPATCH_COMPAT_NAME( FrameBottom ) = 0x08
5995 };
5996 Q_ENUM( MapGridFrameSideFlag )
5997
5998
6006 Q_FLAG( MapGridFrameSideFlags )
6007
6016 {
6017 Longitude = 0,
6018 Latitude
6019 };
6020 Q_ENUM( MapGridAnnotationType )
6021
6022
6027 enum class InputControllerType : int
6028 {
6029 Map2D,
6030 Map3D
6031 };
6033
6040 {
6041 NotSet,
6042 Unknown,
6043 OrdinaryTable,
6044 Index,
6045 Sequence,
6046 View,
6047 MaterializedView,
6048 CompositeType,
6049 ToastTable,
6050 ForeignTable,
6051 PartitionedTable,
6052 };
6053 Q_ENUM( PostgresRelKind )
6054
6055
6061 {
6062 SetFieldComment = 1 << 0,
6063 SetFieldAlias = 1 << 1,
6064 SetTableComment = 1 << 2,
6065 EditFieldDomain = 1 << 3,
6066 DeleteFieldDomain = 1 << 4,
6067 };
6068 Q_ENUM( DatabaseProviderConnectionCapability2 )
6071
6078 {
6079 SetGeometryColumnName = 1 << 0,
6080 SetPrimaryKeyName = 1 << 1,
6081 };
6082 Q_ENUM( DatabaseProviderTableImportCapability )
6085
6092 {
6093 SaveToDatabase = 1 << 1,
6094 LoadFromDatabase = 1 << 2,
6095 DeleteFromDatabase = 1 << 3
6096 };
6100
6101
6107 {
6108 LastProfile,
6109 DefaultProfile,
6110 AskUser,
6111 };
6112 Q_ENUM( UserProfileSelectionPolicy )
6113
6114
6122 {
6123 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
6124 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
6125 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
6126 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
6127 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
6128 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
6129 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
6130 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
6131 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
6132 };
6133 Q_ENUM( AttributeEditorType )
6134
6135
6141 {
6142 GroupBox,
6143 Tab,
6144 Row,
6145 };
6146 Q_ENUM( AttributeEditorContainerType )
6147
6148
6156 {
6157 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
6158 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
6159 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
6160 };
6161 Q_ENUM( AttributeFormLayout )
6162
6163
6171 {
6172 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
6173 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
6174 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
6175 };
6176 Q_ENUM( AttributeFormSuppression )
6177
6178
6186 {
6187 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
6188 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
6189 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
6190 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
6191 };
6192 Q_ENUM( AttributeFormPythonInitCodeSource )
6193
6194
6200 {
6201 NotAllowed = 0,
6202 AllowedDefaultOn = 1,
6203 AllowedDefaultOff = 2,
6204 };
6205 Q_ENUM( AttributeFormReuseLastValuePolicy )
6206
6207
6213 {
6215 PointCloud,
6216 RasterCalculator,
6217 };
6218 Q_ENUM( ExpressionType )
6219
6220
6228 {
6229 NoSymbology = 0,
6230 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
6231 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
6232 };
6233 Q_ENUM( FeatureSymbologyExport )
6234
6235
6240 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
6241 {
6242 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
6243 };
6244 Q_ENUM( VectorTileProviderFlag )
6245
6246
6252 Q_FLAG( VectorTileProviderFlags )
6253
6259 {
6260 ReadLayerMetadata = 1 << 1,
6261 };
6262 Q_ENUM( VectorTileProviderCapability )
6263
6264
6271
6278 {
6279 Available,
6280 NotAvailable,
6281 AvailableNoChildren,
6282 UseLowerZoomLevelTile,
6283 };
6284 Q_ENUM( TileAvailability )
6285
6286
6292 {
6293 ReadLayerMetadata = 1 << 1,
6294 };
6295 Q_ENUM( TiledSceneProviderCapability )
6296
6297
6304
6311 {
6312 Region,
6313 OrientedBox,
6314 Sphere,
6315 };
6316 Q_ENUM( TiledSceneBoundingVolumeType )
6317
6318
6327 {
6328 Replacement,
6329 Additive,
6330 };
6331 Q_ENUM( TileRefinementProcess )
6332
6333
6339 {
6340 NoChildren,
6341 Available,
6342 NeedFetching,
6343 };
6344 Q_ENUM( TileChildrenAvailability )
6345
6346
6351 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
6352 {
6353 NoHierarchyFetch = 1 << 0,
6354 };
6355 Q_ENUM( TiledSceneRequestFlag )
6356
6357
6363 Q_FLAG( TiledSceneRequestFlags )
6364
6370 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
6371 {
6372 RequiresTextures = 1 << 0,
6373 ForceRasterRender = 1 << 1,
6374 RendersTriangles = 1 << 2,
6375 RendersLines = 1 << 3,
6376 };
6377 Q_ENUM( TiledSceneRendererFlag )
6378
6379
6385 Q_FLAG( TiledSceneRendererFlags )
6386
6392 enum class GdalResampleAlgorithm : int
6393 {
6394 RA_NearestNeighbour = 0,
6395 RA_Bilinear = 1,
6396 RA_Cubic = 2,
6397 RA_CubicSpline = 3,
6398 RA_Lanczos = 4,
6399 RA_Average = 5,
6400 RA_Mode = 6,
6401 RA_Max = 8,
6402 RA_Min = 9,
6403 RA_Median = 10,
6404 RA_Q1 = 11,
6405 RA_Q3 = 12,
6406 };
6407 Q_ENUM( GdalResampleAlgorithm )
6408
6409
6414 enum class VsiHandlerType : int
6415 {
6416 Invalid,
6417 Archive,
6418 Network,
6419 Cloud,
6420 Memory,
6421 Other,
6422 };
6423 Q_ENUM( VsiHandlerType )
6424
6425 // TODO QGIS 5: make All include all values (we can't do this before 4.0, as we need to keep
6426 // compatibility with code which expects all these statistics to give numeric results)
6427
6428
6433 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
6434 {
6435 Count = 1 << 0,
6436 Sum = 1 << 1,
6437 Mean = 1 << 2,
6438 Median = 1 << 3,
6439 StDev = 1 << 4,
6440 Min = 1 << 5,
6441 Max = 1 << 6,
6442 Range = 1 << 7,
6443 Minority = 1 << 8,
6444 Majority = 1 << 9,
6445 Variety = 1 << 10,
6446 Variance = 1 << 11,
6447 MinimumPoint = 1 << 12,
6448 MaximumPoint = 1 << 13,
6449 // clang-format off
6450 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6451 // clang-format on
6452 AllNumeric = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6453 Default = Count | Sum | Mean,
6454 };
6455 Q_ENUM( ZonalStatistic )
6456
6457
6463 Q_FLAG( ZonalStatistics )
6464
6470 enum class ZonalStatisticResult : int
6471 {
6473 LayerTypeWrong = 1,
6474 LayerInvalid,
6475 RasterInvalid,
6476 RasterBandInvalid,
6477 FailedToCreateField = 8,
6478 Canceled = 9
6479 };
6480 Q_ENUM( ZonalStatisticResult )
6481
6482
6489 {
6490 Count,
6491 CountDistinct,
6492 CountMissing,
6493 Min,
6494 Max,
6495 Sum,
6496 Mean,
6497 Median,
6498 StDev,
6499 StDevSample,
6500 Range,
6501 Minority,
6502 Majority,
6503 FirstQuartile,
6504 ThirdQuartile,
6505 InterQuartileRange,
6506 StringMinimumLength,
6507 StringMaximumLength,
6508 StringConcatenate,
6509 GeometryCollect,
6510 ArrayAggregate,
6511 StringConcatenateUnique
6512 };
6513 Q_ENUM( Aggregate )
6514
6515
6521 {
6522 Count = 1 << 0,
6523 CountMissing = 1 << 15,
6524 Sum = 1 << 1,
6525 Mean = 1 << 2,
6526 Median = 1 << 3,
6527 StDev = 1 << 4,
6528 StDevSample = 1 << 5,
6529 Min = 1 << 6,
6530 Max = 1 << 7,
6531 Range = 1 << 8,
6532 Minority = 1 << 9,
6533 Majority = 1 << 10,
6534 Variety = 1 << 11,
6535 FirstQuartile = 1 << 12,
6536 ThirdQuartile = 1 << 13,
6537 InterQuartileRange = 1 << 14,
6538 First = 1 << 16,
6539 Last = 1 << 17,
6540 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
6541 };
6542 Q_ENUM( Statistic )
6543
6544
6550 Q_FLAG( Statistics )
6551
6558 {
6559 Count = 1,
6560 CountDistinct = 2,
6561 CountMissing = 4,
6562 Min = 8,
6563 Max = 16,
6564 Range = 32,
6565 All = Count | CountDistinct | CountMissing | Min | Max | Range,
6566 };
6567 Q_ENUM( DateTimeStatistic )
6568
6569
6575 Q_FLAG( DateTimeStatistics )
6576
6583 {
6584 Count = 1,
6585 CountDistinct = 2,
6586 CountMissing = 4,
6587 Min = 8,
6588 Max = 16,
6589 MinimumLength = 32,
6590 MaximumLength = 64,
6591 MeanLength = 128,
6592 Minority = 256,
6593 Majority = 512,
6594 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
6595 };
6596 Q_ENUM( StringStatistic )
6597
6598
6604 Q_FLAG( StringStatistics )
6605
6612 {
6613 NoStatistic = 0,
6614 Min = 1,
6615 Max = 1 << 1,
6616 Range = 1 << 2,
6617 Sum = 1 << 3,
6618 Mean = 1 << 4,
6619 StdDev = 1 << 5,
6620 SumOfSquares = 1 << 6,
6621 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
6622 };
6623 Q_ENUM( RasterBandStatistic )
6624
6625
6631 Q_FLAG( RasterBandStatistics )
6632
6638 enum class SensorThingsVersion : int
6639 {
6640 Version1_1,
6641 Version2_0,
6642 };
6644
6650 enum class SensorThingsExtension : int SIP_ENUM_BASETYPE( IntFlag )
6651 {
6652 MultiDatastream = 1 << 0,
6653 SensingExtensionObservationsMeasurements = 1 << 1,
6654 SensingExtensionSampling = 1 << 2,
6655 SensingExtensionRelations = 1 << 3,
6656 };
6658
6665 Q_FLAG( SensorThingsExtensions )
6666
6667
6672 enum class SensorThingsEntity : int
6673 {
6674 Invalid,
6675 Thing,
6676 Location,
6677 HistoricalLocation,
6678 Datastream,
6679 Sensor,
6680 ObservedProperty,
6681 Observation,
6682 FeatureOfInterest,
6683 MultiDatastream,
6684 // version 2.0
6685 Feature,
6686 FeatureType,
6687 Deployment,
6688 ObservingProcedure,
6689 Sampling,
6690 SamplingProcedure,
6691 Sampler,
6692 PreparationStep,
6693 PreparationProcedure,
6694 ThingRelation,
6695 RelationRole,
6696 FeatureRelation,
6697 DatastreamRelation,
6698 ObservationRelation,
6699 };
6700 Q_ENUM( SensorThingsEntity )
6701
6702
6707 enum class ColorModel : int
6708 {
6709 Rgb,
6710 Cmyk,
6711 };
6712 Q_ENUM( ColorModel )
6713
6714
6719 enum class DocumentationApi : int
6720 {
6721 PyQgis,
6722 PyQgisSearch,
6723 CppQgis,
6724 Qt,
6725 };
6726 Q_ENUM( DocumentationApi )
6727
6728
6733 enum class DocumentationBrowser : int
6734 {
6735 DeveloperToolsPanel,
6736 SystemWebBrowser,
6737 };
6738 Q_ENUM( DocumentationBrowser )
6739
6740
6745 enum class MouseHandlesAction : int
6746 {
6747 MoveItem,
6748 ResizeUp,
6749 ResizeDown,
6750 ResizeLeft,
6751 ResizeRight,
6752 ResizeLeftUp,
6753 ResizeRightUp,
6754 ResizeLeftDown,
6755 ResizeRightDown,
6756 RotateTopLeft,
6757 RotateTopRight,
6758 RotateBottomLeft,
6759 RotateBottomRight,
6760 SelectItem,
6761 NoAction
6762 };
6763 Q_ENUM( MouseHandlesAction )
6764
6765
6769 enum class MeshRangeLimit : int
6770 {
6771 NotSet,
6772 MinimumMaximum,
6773 };
6774 Q_ENUM( MeshRangeLimit )
6775
6776
6781 enum class MeshRangeExtent : int
6782 {
6783 WholeMesh,
6784 FixedCanvas,
6785 UpdatedCanvas,
6786 };
6787 Q_ENUM( MeshRangeExtent )
6788
6789
6795 enum class PointCloudAccessType : int
6796 {
6797 Local,
6798 Remote
6799 };
6800 Q_ENUM( PointCloudAccessType )
6801
6802
6807 {
6808 RenderExtents,
6809 RenderOverview,
6810 RenderOverviewAndExtents
6811 };
6812 Q_ENUM( PointCloudZoomOutRenderBehavior )
6813
6814
6819 {
6820 Standard = 0,
6821 Adaptive,
6822 AreaError,
6823 ConstantDensity
6824 };
6825 Q_ENUM( SegmentCalculationMethod )
6826
6827
6831 enum class StacObjectType : int
6832 {
6833 Unknown,
6834 Catalog,
6835 Collection,
6836 Item,
6837 };
6838 Q_ENUM( StacObjectType )
6839
6840
6845 {
6846 WmsScale = 1 << 0,
6847 WmsDpi = 1 << 1,
6848 };
6849 Q_ENUM( RasterProcessingParameterCapability )
6850
6851
6857
6863 {
6864 Status = Qt::UserRole + 1,
6865 Id,
6866 ElapsedTime,
6867 MaximumTime,
6868 Sort,
6869 };
6870 Q_ENUM( DevToolsNodeRole )
6871
6872
6877 enum class ExtrusionFace : int SIP_ENUM_BASETYPE( IntFlag )
6878 {
6879 NoFace = 0,
6880 Walls = 1 << 0,
6881 Roof = 1 << 1,
6882 Floor = 1 << 2
6883 };
6884 Q_ENUM( ExtrusionFace )
6885
6886
6890 Q_DECLARE_FLAGS( ExtrusionFaces, ExtrusionFace )
6891 Q_FLAG( ExtrusionFaces )
6892
6897 enum class TriangulationAlgorithm : int SIP_ENUM_BASETYPE( IntFlag )
6898 {
6899 ConstrainedDelaunay = 0,
6900 Earcut = 1 << 0
6901 };
6902 Q_ENUM( TriangulationAlgorithm )
6903
6904
6915 enum class WmsGroupRequestMode : int
6916 {
6917 Normal,
6918 Opaque,
6919 };
6920 Q_ENUM( WmsGroupRequestMode )
6921
6922
6928 {
6929 RestorePreviousState,
6930 ForceDocked,
6931 ForceDialog,
6932 };
6933 Q_ENUM( DockableWidgetInitialState )
6934
6935
6941 {
6942 LongestBorder = 0,
6943 MaximumArea = 1,
6944 MinimumArea = 2,
6945 MinimumIndex = 3,
6946 };
6947 Q_ENUM( CoverageCleanOverlapMergeStrategy )
6948
6949
6954 enum class PdfRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
6955 {
6956 RenderTextAsText = 1 << 0,
6957 };
6958 Q_ENUM( PdfRenderFlag )
6959
6960
6965 Q_DECLARE_FLAGS( PdfRenderFlags, PdfRenderFlag )
6966 Q_FLAG( PdfRenderFlags )
6967
6973 enum class RubberBandIconType : int
6974 {
6975 NoIcon,
6976 CrossPlus,
6977 CrossX,
6978 Box,
6979 Circle,
6980 BoxFilled,
6981 Diamond,
6982 DiamondFilled,
6983 SVG
6984 };
6985 Q_ENUM( RubberBandIconType )
6986
6987
6992 enum class RubberBandComponent : int SIP_ENUM_BASETYPE( IntFlag )
6993 {
6994 Symbol = 1 << 0,
6995 PreviewItems = 1 << 1,
6996 };
6997 Q_ENUM( RubberBandComponent )
6998
6999
7005 Q_FLAG( RubberBandComponents )
7006
7010 static const double DEFAULT_SEARCH_RADIUS_MM;
7011
7014
7020 static const QColor DEFAULT_HIGHLIGHT_COLOR;
7021
7025 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
7026
7031
7039 Q_DECL_DEPRECATED static const double SCALE_PRECISION;
7040
7045 static const double DEFAULT_Z_COORDINATE;
7046
7052 static const double DEFAULT_M_COORDINATE;
7053
7058 static const double UI_SCALE_FACTOR;
7059
7063 static const double DEFAULT_SNAP_TOLERANCE;
7064
7069
7073 static const int USER_CRS_START_ID;
7074
7076 static const double DEFAULT_POINT_SIZE;
7077
7079 static const double DEFAULT_LINE_WIDTH;
7080
7082 static const double DEFAULT_SEGMENT_EPSILON;
7083
7086
7089
7095 static QString defaultProjectScales();
7096
7102 static int geosVersionInt();
7103
7109 static int geosVersionMajor();
7110
7116 static int geosVersionMinor();
7117
7123 static int geosVersionPatch();
7124
7130 static QString geosVersion();
7131
7137 static bool hasSfcgal();
7138
7145 static int sfcgalVersionInt();
7146
7152 static bool hasGeographicLib();
7153
7160 static int geographicLibVersion();
7161
7167 Q_DECL_DEPRECATED static bool hasQtWebkit();
7168
7174 static QString geoNone() { return u"NONE"_s; }
7175
7181 static QString geographicCrsAuthId() { return u"EPSG:4326"_s; }
7182
7187 Q_DECL_DEPRECATED static QString geoWkt()
7188 {
7189 return QStringLiteral(
7190 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]] )"""
7191 );
7192 }
7193
7198 Q_DECL_DEPRECATED static QString geoProj4() { return u"+proj=longlat +datum=WGS84 +no_defs"_s; }
7199};
7200
7203
7304Q_DECLARE_METATYPE( QTimeZone )
7305
7306// hack to workaround warnings when casting void pointers
7307// retrieved from QLibrary::resolve to function pointers.
7308// It's assumed that this works on all systems supporting
7309// QLibrary
7310#define cast_to_fptr( f ) f
7311
7312
7320// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
7321template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
7322{
7323 public:
7328 explicit QgsSignalBlocker( Object *object )
7329 : mObject( object )
7330 , mPreviousState( object->blockSignals( true ) )
7331 {}
7332
7333 ~QgsSignalBlocker() { mObject->blockSignals( mPreviousState ); }
7334
7336 Object *operator->() { return mObject; }
7337
7338 private:
7339 Object *mObject = nullptr;
7340 bool mPreviousState;
7341};
7342
7355// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
7356template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
7357{
7358 return QgsSignalBlocker<Object>( object );
7359}
7360
7362CORE_EXPORT size_t qHash( const QVariant &variant );
7363
7369inline QString qgsDoubleToString( double a, int precision = 17 )
7370{
7371 QString str;
7372 if ( precision )
7373 {
7374 if ( precision < 0 )
7375 {
7376 const double roundFactor = std::pow( 10, -precision );
7377 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
7378 }
7379 else
7380 {
7381 str = QString::number( a, 'f', precision );
7382 if ( str.contains( '.'_L1 ) )
7383 {
7384 // remove ending 0s
7385 int idx = str.length() - 1;
7386 while ( str.at( idx ) == '0' && idx > 1 )
7387 {
7388 idx--;
7389 }
7390 if ( idx < str.length() - 1 )
7391 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
7392 }
7393 }
7394 }
7395 else
7396 {
7397 str = QString::number( a, 'f', precision );
7398 }
7399 // avoid printing -0
7400 // see https://bugreports.qt.io/browse/QTBUG-71439
7401 if ( str == "-0"_L1 )
7402 {
7403 return "0"_L1;
7404 }
7405 return str;
7406}
7407
7414inline bool qgsNanCompatibleEquals( double a, double b )
7415{
7416 if ( a == b )
7417 return true;
7418
7419 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7420 return true;
7421
7422 return false;
7423}
7424
7425#ifndef SIP_RUN
7426
7434template<typename T> inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
7435{
7436 static_assert( std::is_floating_point<T>::value, "qgsNumberNear requires floating-point types" );
7437
7438 if ( a == b )
7439 return true;
7440
7441 // if either 'a' or 'b' is NaN, 'diff' becomes NaN.
7442 // comparisons (>= or <=) against NaN evaluate to false, which will fallback
7443 // to the nan related logic at the end of this function
7444 const T diff = a - b;
7445 if ( diff >= -epsilon && diff <= epsilon )
7446 return true;
7447
7448 // defer expensive nan checks to last -- calling std::isnan is NOT cheap!
7449 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7450 return true;
7451
7452 return false;
7453}
7454#endif
7455
7462inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7463{
7464 return qgsNumberNear<double>( a, b, epsilon );
7465}
7466
7475inline bool qgsDoubleLessThanOrNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7476{
7477 // fast check first
7478 if ( a <= b )
7479 return true;
7480
7481 // => a > b
7482 // => a - b > 0
7483 // we only need to check the upper epsilon bound for the fuzzy equality
7484 if ( a - b <= epsilon )
7485 return true;
7486
7487 // defer expensive nan checks to last -- calling std::isnan is NOT cheap!
7488 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7489 return true;
7490
7491 return false;
7492}
7493
7502inline bool qgsDoubleGreaterThanOrNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7503{
7504 // fast check first
7505 if ( a >= b )
7506 return true;
7507
7508 // => a < b
7509 // => b - a > 0
7510 // we only need to check the upper epsilon bound for the fuzzy equality
7511 if ( b - a <= epsilon )
7512 return true;
7513
7514 // defer expensive nan checks to last -- calling std::isnan is NOT cheap!
7515 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7516 return true;
7517
7518 return false;
7519}
7520
7527inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
7528{
7529 return qgsNumberNear<float>( a, b, epsilon );
7530}
7531
7533inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
7534{
7535 const bool aIsNan = std::isnan( a );
7536 const bool bIsNan = std::isnan( b );
7537 if ( aIsNan || bIsNan )
7538 return aIsNan && bIsNan;
7539
7540 // The most simple would be to print numbers as %.xe and compare as strings
7541 // but that is probably too costly
7542 // Then the fastest would be to set some bits directly, but little/big endian
7543 // has to be considered (maybe TODO)
7544 // Is there a better way?
7545 int aexp, bexp;
7546 const double ar = std::frexp( a, &aexp );
7547 const double br = std::frexp( b, &bexp );
7548
7549 return aexp == bexp && std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
7550}
7551
7556inline double qgsRound( double number, int places )
7557{
7558 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
7559 const double scaleFactor = std::pow( 10.0, places );
7560 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
7561}
7562
7563#ifndef SIP_RUN
7564
7571template<class Key, class Value> QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
7572{
7573 QString result;
7574 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7575 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
7576
7577 result.chop( separator.size() );
7578 return result;
7579}
7580
7587template<class Key, class Value> QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
7588{
7589 QString result;
7590 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7591 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
7592
7593 result.chop( separator.size() );
7594 return result;
7595}
7596
7603template<class T> QString qgsSetJoin( const QSet<T> &set, const QString &separator )
7604{
7605 QString result;
7606 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
7607 result += QString( "%1%2" ).arg( *it ).arg( separator );
7608
7609 result.chop( separator.size() );
7610 return result;
7611}
7612
7614
7624namespace qgis
7625{
7626
7639 template<typename To, typename From> inline To down_cast( From *f )
7640 {
7641 static_assert( ( std::is_base_of<From, typename std::remove_pointer<To>::type>::value ), "target type not derived from source type" );
7642 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
7643 return static_cast<To>( f );
7644 }
7645
7646 template<class T> QSet<T> listToSet( const QList<T> &list )
7647 {
7648 return QSet<T>( list.begin(), list.end() );
7649 }
7650
7651 template<class T> QList<T> setToList( const QSet<T> &set )
7652 {
7653 return QList<T>( set.begin(), set.end() );
7654 }
7655} //namespace qgis
7656
7658#endif
7659
7664template<class T> const QList<T> qgsEnumList() SIP_SKIP
7665{
7666 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7667 Q_ASSERT( metaEnum.isValid() );
7668 QList<T> enumList;
7669 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7670 {
7671 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
7672 }
7673 return enumList;
7674}
7675
7681template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
7682{
7683 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7684 Q_ASSERT( metaEnum.isValid() );
7685 QMap<T, QString> enumMap;
7686 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7687 {
7688 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
7689 }
7690 return enumMap;
7691}
7692
7698template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7699{
7700 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7701 Q_ASSERT( metaEnum.isValid() );
7702 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
7703 if ( returnOk )
7704 {
7705 *returnOk = key ? true : false;
7706 }
7707 return QString::fromUtf8( key );
7708}
7709
7717template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7718{
7719 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7720 Q_ASSERT( metaEnum.isValid() );
7721 bool ok = false;
7722 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
7723 if ( returnOk )
7724 {
7725 *returnOk = ok;
7726 }
7727 if ( ok )
7728 {
7729 return v;
7730 }
7731 else
7732 {
7733 // if conversion has failed, try with conversion from int value
7734 if ( tryValueAsKey )
7735 {
7736 bool canConvert = false;
7737 const int intValue = key.toInt( &canConvert );
7738 if ( canConvert && metaEnum.valueToKey( intValue ) )
7739 {
7740 if ( returnOk )
7741 {
7742 *returnOk = true;
7743 }
7744 return static_cast<T>( intValue );
7745 }
7746 }
7747 }
7748 return defaultValue;
7749}
7750
7756template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7757{
7758 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7759 Q_ASSERT( metaEnum.isValid() );
7760 int intValue = static_cast<int>( value );
7761 if ( intValue == 0 )
7762 {
7763 if ( returnOk )
7764 *returnOk = true;
7765 return u"0"_s;
7766 }
7767
7768 const QByteArray ba = metaEnum.valueToKeys( intValue );
7769 // check that the int value does correspond to a flag
7770 // see https://stackoverflow.com/a/68495949/1548052
7771 const int intValueCheck = metaEnum.keysToValue( ba );
7772 bool ok = intValue == intValueCheck;
7773 if ( returnOk )
7774 *returnOk = ok;
7775 return ok ? QString::fromUtf8( ba ) : QString();
7776}
7777
7785template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7786{
7787 if ( keys.isEmpty() )
7788 {
7789 if ( returnOk )
7790 {
7791 *returnOk = false;
7792 }
7793 return defaultValue;
7794 }
7795 else if ( keys == "0"_L1 )
7796 {
7797 if ( returnOk )
7798 {
7799 *returnOk = true;
7800 }
7801 return T();
7802 }
7803 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7804 Q_ASSERT( metaEnum.isValid() );
7805 bool ok = false;
7806 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
7807 if ( returnOk )
7808 {
7809 *returnOk = ok;
7810 }
7811 if ( ok )
7812 {
7813 return v;
7814 }
7815 else
7816 {
7817 // if conversion has failed, try with conversion from int value
7818 if ( tryValueAsKey )
7819 {
7820 bool canConvert = false;
7821 const int intValue = keys.toInt( &canConvert );
7822 if ( canConvert )
7823 {
7824 const QByteArray keyArray = metaEnum.valueToKeys( intValue );
7825 const int intValueCheck = metaEnum.keysToValue( keyArray );
7826 if ( !keyArray.isEmpty() && intValue == intValueCheck )
7827 {
7828 if ( returnOk )
7829 {
7830 *returnOk = true;
7831 }
7832 return T( intValue );
7833 }
7834 }
7835 }
7836 }
7837 return defaultValue;
7838}
7839
7840
7849CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
7850
7859CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
7860
7870CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
7871
7891CORE_EXPORT int qgsVariantCompare( const QVariant &lhs, const QVariant &rhs, bool strictTypeCheck = false );
7892
7903CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
7904
7913CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
7914
7923CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
7924
7936inline bool operator>( const QVariant &v1, const QVariant &v2 )
7937{
7938 return qgsVariantCompare( v1, v2, true ) > 0;
7939}
7940
7952inline bool operator<( const QVariant &v1, const QVariant &v2 )
7953{
7954 return qgsVariantCompare( v1, v2, true ) < 0;
7955}
7956
7963Q_DECL_DEPRECATED CORE_EXPORT QString qgsVsiPrefix( const QString &path ) SIP_DEPRECATED;
7964
7970void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
7971
7976void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
7977
7978#ifndef SIP_RUN
7979
7981class ScopedIntIncrementor
7982{
7983 public:
7984 ScopedIntIncrementor( int *variable )
7985 : mVariable( variable )
7986 {
7987 ( *mVariable )++;
7988 }
7989
7990 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
7991 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
7992
7993 void release()
7994 {
7995 if ( mVariable )
7996 ( *mVariable )--;
7997
7998 mVariable = nullptr;
7999 }
8000
8001 ~ScopedIntIncrementor() { release(); }
8002
8003 private:
8004 int *mVariable = nullptr;
8005};
8007
8008#endif
8009
8015Q_DECL_DEPRECATED const long GEOSRID = 4326;
8016
8022Q_DECL_DEPRECATED const long GEOCRS_ID = 3452;
8023
8029Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID = 4326;
8030
8031typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
8032
8041typedef unsigned long long qgssize;
8042
8043#ifndef SIP_RUN
8044#if ( __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 6 ) ) || defined( __clang__ )
8045
8046#define Q_NOWARN_DEPRECATED_PUSH _Pragma( "GCC diagnostic push" ) _Pragma( "GCC diagnostic ignored \"-Wdeprecated-declarations\"" );
8047#define Q_NOWARN_DEPRECATED_POP _Pragma( "GCC diagnostic pop" );
8048#define Q_NOWARN_UNREACHABLE_PUSH
8049#define Q_NOWARN_UNREACHABLE_POP
8050
8051#elif defined( _MSC_VER )
8052
8053#define Q_NOWARN_DEPRECATED_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4996 ) )
8054#define Q_NOWARN_DEPRECATED_POP __pragma( warning( pop ) )
8055#define Q_NOWARN_UNREACHABLE_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4702 ) )
8056#define Q_NOWARN_UNREACHABLE_POP __pragma( warning( pop ) )
8057#else
8058
8059#define Q_NOWARN_DEPRECATED_PUSH
8060#define Q_NOWARN_DEPRECATED_POP
8061#define Q_NOWARN_UNREACHABLE_PUSH
8062#define Q_NOWARN_UNREACHABLE_POP
8063
8064#endif
8065#endif
8066
8067#ifndef QGISEXTERN
8068#ifdef Q_OS_WIN
8069#define QGISEXTERN extern "C" __declspec( dllexport )
8070#else
8071#if defined( __GNUC__ ) || defined( __clang__ )
8072#define QGISEXTERN extern "C" __attribute__( ( visibility( "default" ) ) )
8073#else
8074#define QGISEXTERN extern "C"
8075#endif
8076#endif
8077#endif
8078#endif
8079
8080#ifndef SIP_RUN
8081#ifdef _MSC_VER
8082#define BUILTIN_UNREACHABLE __assume( false );
8083#elif defined( __GNUC__ ) && !defined( __clang__ )
8084// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
8085// like:
8086// switch( mVariableThatCanOnlyBeXorY )
8087// {
8088// case X:
8089// return "foo";
8090// case Y:
8091// return "foo";
8092// }
8093// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
8094#define BUILTIN_UNREACHABLE __builtin_unreachable();
8095#else
8096#define BUILTIN_UNREACHABLE
8097#endif
8098#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:5975
DistanceUnitType
Types of distance units.
Definition qgis.h:5547
PieChartLabelType
Pie chart label types.
Definition qgis.h:3562
GnssConstellation
GNSS constellation.
Definition qgis.h:2054
SettingsOption
Settings options.
Definition qgis.h:765
EmbeddedScriptType
Type of Python Embedded in projects.
Definition qgis.h:463
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition qgis.h:4619
GeometryBackend
Geometry backend for QgsGeometry.
Definition qgis.h:2299
ProcessingSourceType
Processing data source types.
Definition qgis.h:3747
static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS
Default snapping distance units.
Definition qgis.h:7068
GpsQualityIndicator
GPS signal quality indicator.
Definition qgis.h:2072
QFlags< MapGridFrameSideFlag > MapGridFrameSideFlags
Flags for controlling which side of the map a frame is drawn on.
Definition qgis.h:6005
DataItemProviderCapability
Capabilities for data item providers.
Definition qgis.h:1057
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:4007
RasterizedRenderingPolicy
Policies controlling when rasterisation of content during renders is permitted.
Definition qgis.h:2896
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
Definition qgis.h:2991
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:4703
QFlags< DatabaseProviderTableImportCapability > DatabaseProviderTableImportCapabilities
Definition qgis.h:6083
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
Definition qgis.h:2167
CurvedLabelMode
Modes which determine how curved labels are generated and placed.
Definition qgis.h:1306
MapToolUnit
Type of unit of tolerance value from settings.
Definition qgis.h:5453
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:3534
static const double DEFAULT_LINE_WIDTH
The default width (in millimeters) for line symbols.
Definition qgis.h:7079
ProcessingModelChildAlgorithmExecutionStatus
Reflects the status of a child algorithm in a Processing model.
Definition qgis.h:4082
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
Definition qgis.h:2134
ScaleBarDistanceLabelHorizontalPlacement
Scale bar distance label horizontal placement.
Definition qgis.h:5822
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:4647
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
Definition qgis.h:848
static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM
Default highlight line/stroke minimum width in mm.
Definition qgis.h:7030
QFlags< PdfRenderFlag > PdfRenderFlags
PDF rendering flags.
Definition qgis.h:6965
static QString version()
Version string.
Definition qgis.cpp:682
GeometryValidityFlag
Geometry validity check flags.
Definition qgis.h:2221
QFlags< RasterProviderCapability > RasterProviderCapabilities
Raster data provider capabilities.
Definition qgis.h:5378
ExpressionType
Expression types.
Definition qgis.h:6213
MapLayerActionFlag
Map layer action flags.
Definition qgis.h:5123
ScaleBarDistanceLabelVerticalPlacement
Scale bar distance label vertical placement.
Definition qgis.h:5808
MapLayerProperty
Generic map layer properties.
Definition qgis.h:2444
VectorProviderCapability
Vector data provider capabilities.
Definition qgis.h:525
RasterProcessingParameterCapability
Capabilities of a raster layer processing parameter.
Definition qgis.h:6845
BufferSide
Side of line to buffer.
Definition qgis.h:2248
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1619
WmsGroupRequestMode
Request mode of groups in a WMS context.
Definition qgis.h:6916
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
Definition qgis.h:5112
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
Definition qgis.h:6259
ProjectTrustStatus
Project trust status.
Definition qgis.h:476
MultiPartLabelingBehavior
Behavior modifier for labeling features with multi-part geometries.
Definition qgis.h:1345
AltitudeClamping
Altitude clamping.
Definition qgis.h:4201
static const int PREVIEW_JOB_DELAY_MS
Delay between the scheduling of 2 preview jobs.
Definition qgis.h:7085
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:6241
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:2767
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
Definition qgis.h:1558
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
Definition qgis.h:4747
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1395
QFlags< UriCleaningFlag > UriCleaningFlags
Flags for cleaning layer URIs.
Definition qgis.h:1518
CoordinateDisplayType
Formats for displaying coordinates.
Definition qgis.h:4884
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3955
QFlags< VectorRenderingSimplificationFlag > VectorRenderingSimplificationFlags
Simplification flags for vector feature rendering.
Definition qgis.h:3247
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:3507
static const double DEFAULT_Z_COORDINATE
Default Z coordinate value.
Definition qgis.h:7045
CoverageCleanOverlapMergeStrategy
Merge strategies for coverage cleaning operations.
Definition qgis.h:6941
GpsFixStatus
GPS fix status.
Definition qgis.h:2039
AnnotationItemNodeType
Annotation item node types.
Definition qgis.h:2694
static const char * QGIS_DEV_VERSION
The development version.
Definition qgis.h:89
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1154
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
Definition qgis.h:2933
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
Definition qgis.h:2583
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
Definition qgis.h:1662
AngularDirection
Angular directions.
Definition qgis.h:3648
DriveType
Drive types.
Definition qgis.h:1207
UnitType
Unit types.
Definition qgis.h:5468
ContentStatus
Status for fetched or stored content.
Definition qgis.h:1995
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
Definition qgis.h:1957
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition qgis.h:790
Map3DBackgroundType
Background types for 3D map view.
Definition qgis.h:4483
LayoutUnit
Layout measurement units.
Definition qgis.h:5675
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:4837
Q_ENUM(GnssConstellation)
PaintEffectFlag
Flags which control how paint effects behave.
Definition qgis.h:3000
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:3345
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Definition qgis.h:4725
LegendComponent
Component of legends which can be styled.
Definition qgis.h:5020
Point3DShape
3D point shape types.
Definition qgis.h:4387
GeometryOperationResult
Success or failure of a geometry operation.
Definition qgis.h:2192
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
Definition qgis.h:6603
BrowserItemState
Browser item states.
Definition qgis.h:1000
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:6141
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
Definition qgis.h:6302
QFlags< SensorThingsExtension > SensorThingsExtensions
OGC SensorThings extensions.
Definition qgis.h:6664
FeatureRequestFilterType
Types of feature request filters.
Definition qgis.h:2387
MarkerClipMode
Marker clipping modes.
Definition qgis.h:3465
GpsNavigationStatus
GPS navigation status.
Definition qgis.h:2092
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:2651
AttributeFormReuseLastValuePolicy
Attribute form policy for reusing last entered values.
Definition qgis.h:6200
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:3256
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Definition qgis.h:4097
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Definition qgis.h:2481
TextureFilterQuality
Texture filtering qualities.
Definition qgis.h:4441
Statistic
Available generic statistics.
Definition qgis.h:6521
TriangulationAlgorithm
Triangulation algorithms.
Definition qgis.h:6898
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:810
AngleUnit
Units of angles.
Definition qgis.h:5610
ToneMappingMethod
Defines the method used to map High Dynamic Range (HDR) scene colors to the Standard Dynamic Range (S...
Definition qgis.h:4558
MapGridAnnotationPosition
Position for map grid annotations.
Definition qgis.h:5885
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:599
BrowserItemCapability
Browser item capabilities.
Definition qgis.h:1013
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition qgis.h:6171
QFlags< AuthConfigurationStorageCapability > AuthConfigurationStorageCapabilities
Authentication configuration storage capabilities.
Definition qgis.h:152
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition qgis.h:4990
LayerTreeInsertionMethod
Layer tree insertion methods.
Definition qgis.h:4954
RasterProviderCapability
Raster data provider capabilities.
Definition qgis.h:5358
DatabaseProviderTableImportCapability
Represents capabilities of a database provider connection when importing table data.
Definition qgis.h:6078
LineClipMode
Line clipping modes.
Definition qgis.h:3479
static const double DEFAULT_SNAP_TOLERANCE
Default snapping distance tolerance.
Definition qgis.h:7063
VectorRenderingSimplificationFlag
Simplification flags for vector feature rendering.
Definition qgis.h:3232
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
Definition qgis.h:2226
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition qgis.h:1106
VsiHandlerType
GDAL VSI handler types.
Definition qgis.h:6415
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:695
TilePixelRatio
DpiMode enum.
Definition qgis.h:3588
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:6061
QFlags< PaintEffectFlag > PaintEffectFlags
Flags which control how paint effects behave.
Definition qgis.h:3010
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition qgis.h:1361
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
Definition qgis.h:4625
QFlags< MapLayerLegendFlag > MapLayerLegendFlags
Map layer legend flags.
Definition qgis.h:5009
MapGridUnit
Units for map grid values.
Definition qgis.h:5837
LabelPrioritization
Label prioritization.
Definition qgis.h:1273
GradientColorSource
Gradient color sources.
Definition qgis.h:3394
FileFilterType
Type of file filters.
Definition qgis.h:1490
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:1287
RasterLayerType
Raster layer types.
Definition qgis.h:5235
static const double DEFAULT_M_COORDINATE
Default M coordinate value.
Definition qgis.h:7052
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
Definition qgis.h:440
ScaleBarAlignment
Scalebar alignment.
Definition qgis.h:5779
LegendLayerDoubleClickAction
Action performed when double-clicking a layer in the legend.
Definition qgis.h:4967
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:5274
ProcessingMode
Types of modes which Processing widgets can be created for.
Definition qgis.h:3888
VectorExportResult
Vector layer export result codes.
Definition qgis.h:1133
ShadowQuality
Shadow texture quality.
Definition qgis.h:4456
PdfRenderFlag
PDF rendering flags.
Definition qgis.h:6955
DistanceUnit
Units of distance.
Definition qgis.h:5485
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:2842
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition qgis.h:942
MeshRangeLimit
Describes the limits used to compute mesh ranges (min/max values).
Definition qgis.h:6770
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:3438
LegendSyncMode
Legend synchronization mode.
Definition qgis.h:5038
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
Definition qgis.h:2684
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1420
RasterRangeLimit
Describes the limits used to compute raster ranges (min/max values).
Definition qgis.h:1694
ScaleMethod
Scale methods.
Definition qgis.h:665
QFlags< RasterProcessingParameterCapability > RasterProcessingParameterCapabilities
Raster layer processing parameter capabilities.
Definition qgis.h:6855
SldExportOption
SLD export options.
Definition qgis.h:737
VectorSimplificationAlgorithm
Simplification algorithms for vector features.
Definition qgis.h:3216
FilePathType
File path types.
Definition qgis.h:1826
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:4293
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:6186
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:3453
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
Definition qgis.h:752
static const double DEFAULT_HIGHLIGHT_BUFFER_MM
Default highlight buffer in mm.
Definition qgis.h:7025
MapCanvasFlag
Flags controlling behavior of map canvases.
Definition qgis.h:3674
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:4980
TextAnchorPoint
Anchor point of label text.
Definition qgis.h:1475
ExtrusionFace
Extrusion face types for the QgsTessellator.
Definition qgis.h:6878
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:6156
FeatureRequestFlag
Flags for controlling feature requests.
Definition qgis.h:2358
Map3DDebugFlag
Flags that control debug options for 3D maps.
Definition qgis.h:4354
VertexType
Types of vertex.
Definition qgis.h:3281
ShaderInterpolationMethod
Color ramp shader interpolation methods.
Definition qgis.h:1574
JoinStyle3D
Join styles for 3D buffers.
Definition qgis.h:2286
DataProviderFlag
Generic data provider flags.
Definition qgis.h:2474
Q_ENUM(GpsNavigationStatus)
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg).
Definition qgis.h:6393
RasterResamplingMethod
Resampling method for raster provider-level resampling.
Definition qgis.h:1633
GeometryValidationEngine
Available engines for validating geometries.
Definition qgis.h:2235
static int geosVersionPatch()
GEOS Patch version number linked.
Definition qgis.cpp:766
TransactionMode
Transaction mode.
Definition qgis.h:4188
Q_ENUM(ScaleToTileZoomLevelMethod)
QFlags< FeatureRendererFlag > FeatureRendererFlags
Flags controlling behavior of vector feature renderers.
Definition qgis.h:900
static const QColor DEFAULT_HIGHLIGHT_COLOR
Default highlight color.
Definition qgis.h:7020
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:5387
static Q_DECL_DEPRECATED const double SCALE_PRECISION
Fudge factor used to compare two scales.
Definition qgis.h:7039
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:5251
GeosCreationFlag
Flags which control geos geometry creation behavior.
Definition qgis.h:2311
Q_ENUM(SensorThingsExtension)
static const int MAXIMUM_LAYER_PREVIEW_TIME_MS
Maximum rendering time for a layer of a preview job.
Definition qgis.h:7088
QFlags< RubberBandComponent > RubberBandComponents
Rubber band components.
Definition qgis.h:7004
MeshRangeExtent
Describes the extent used to compute mesh ranges (min/max values).
Definition qgis.h:6782
GpsInformationComponent
GPS information component.
Definition qgis.h:2106
Q_ENUM(PointCloudProfileType)
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:3693
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3774
FileOperationFlag
File operation flags.
Definition qgis.h:2429
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
Definition qgis.h:1073
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:4737
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
Definition qgis.h:2152
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Definition qgis.h:949
QFlags< RasterInterfaceCapability > RasterInterfaceCapabilities
Raster interface capabilities.
Definition qgis.h:5345
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
Definition qgis.h:5147
TemporalNavigationMode
Temporal navigation modes.
Definition qgis.h:2721
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:4035
AreaUnit
Units of area.
Definition qgis.h:5562
StringStatistic
Available string statistics.
Definition qgis.h:6583
SelectiveMaskSourceType
Selective masking source types.
Definition qgis.h:3270
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:4142
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:6434
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:5939
SqlKeywordCategory
SqlKeywordCategory enum represents the categories of the SQL keywords used by the SQL query editor.
Definition qgis.h:1189
QFlags< SnappingType > SnappingTypes
Snapping types.
Definition qgis.h:801
static Q_DECL_DEPRECATED QString geoWkt()
WKT string that represents a geographic coord system.
Definition qgis.h:7187
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:5990
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:3522
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1410
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
Definition qgis.h:6311
TextLayoutMode
Text layout modes.
Definition qgis.h:3104
PropertyType
Property types.
Definition qgis.h:723
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2969
LayerFilter
Filter for layers.
Definition qgis.h:225
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
Definition qgis.h:1562
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition qgis.h:1651
QFlags< ExtrusionFace > ExtrusionFaces
Tessellator extrusion face types.
Definition qgis.h:6890
static QString devVersion()
The development version.
Definition qgis.cpp:699
CrsType
Coordinate reference system types.
Definition qgis.h:2493
QFlags< GeosCreationFlag > GeosCreationFlags
Geos geometry creation behavior flags.
Definition qgis.h:2322
MapGridComponentVisibility
Visibility display settings for map grid annotations and frames.
Definition qgis.h:5869
SensorThingsEntity
OGC SensorThings API entity types.
Definition qgis.h:6673
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1809
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:4125
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:4775
UriCleaningFlag
Flags for cleaning layer URIs.
Definition qgis.h:1507
RasterFileWriterResult
Raster file export results.
Definition qgis.h:1792
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition qgis.h:2706
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
Definition qgis.h:3859
GeoJsonProfile
GeoJson export Profile according to OGC Features and Geometries JSON - Part 1: Core https://docs....
Definition qgis.h:5066
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:3706
RasterRangeAccuracy
Describes the accuracy used to compute raster ranges (min/max values).
Definition qgis.h:1725
ActionType
Action types.
Definition qgis.h:5082
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:1224
PlaybackOperation
Media playback operations.
Definition qgis.h:2750
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
Definition qgis.h:972
QFlags< TextRendererFlag > TextRendererFlags
Definition qgis.h:3627
SensorThingsExtension
OGC SensorThings extensions.
Definition qgis.h:6651
QueryStorageBackend
Stored query storage backends.
Definition qgis.h:3733
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:6092
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:4674
MarkerShape
Marker shapes.
Definition qgis.h:3296
StacObjectType
Available types of stac objects.
Definition qgis.h:6832
LegendJsonRenderFlag
Legend JSON export flags.
Definition qgis.h:5053
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:5402
RasterElevationMode
Raster layer elevation modes.
Definition qgis.h:4240
Capitalization
String capitalization options.
Definition qgis.h:3605
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:2827
PictureFormat
Picture formats.
Definition qgis.h:5749
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1432
static QString releaseName()
Release name.
Definition qgis.cpp:694
LabelQuadrantPosition
Label quadrant positions.
Definition qgis.h:1375
QFlags< PlotToolFlag > PlotToolFlags
Definition qgis.h:4343
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:3636
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition qgis.h:1540
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1164
TextOrientation
Text orientations.
Definition qgis.h:3089
TemporalUnit
Temporal units.
Definition qgis.h:5631
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
Definition qgis.h:1683
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
Definition qgis.h:929
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:1236
CrsDefinitionFormat
CRS definition formats.
Definition qgis.h:4110
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:2416
VerticalAnchorPoint
Marker symbol vertical anchor points.
Definition qgis.h:876
QFlags< LayoutRenderFlag > LayoutRenderFlags
Flags for controlling how a layout is rendered.
Definition qgis.h:5738
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:3970
TileAvailability
Possible availability states for a tile within a tile matrix.
Definition qgis.h:6278
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:4322
MapGridStyle
Map grid drawing styles.
Definition qgis.h:5853
SensorThingsVersion
OGC SensorThings API versions.
Definition qgis.h:6639
FeatureRendererFlag
Flags controlling behavior of vector feature renderers.
Definition qgis.h:890
static Q_DECL_DEPRECATED QString geoProj4()
PROJ4 string that represents a geographic coord system.
Definition qgis.h:7198
BrowserItemType
Browser item types.
Definition qgis.h:981
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
Definition qgis.h:2376
static bool hasGeographicLib()
Returns true if the QGIS build contains GeographicLib.
Definition qgis.cpp:727
SettingsType
Types of settings entries.
Definition qgis.h:676
QFlags< SettingsOption > SettingsOptions
Definition qgis.h:770
RasterTemporalMode
Raster layer temporal modes.
Definition qgis.h:2810
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1766
RubberBandIconType
Rubber band icon type.
Definition qgis.h:6974
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:3040
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:379
RelationshipType
Relationship types.
Definition qgis.h:4823
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:4933
RasterInterfaceCapability
Raster interface capabilities.
Definition qgis.h:5325
JoinStyle
Join styles for buffers.
Definition qgis.h:2273
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:4659
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
Definition qgis.h:6630
CadMeasurementDisplayType
Advanced digitizing measurement display types.
Definition qgis.h:4309
ProcessingAlgorithmDocumentationFlag
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3835
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:3180
FieldDuplicatePolicy
Duplicate policy for fields.
Definition qgis.h:4162
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:6107
static const float DEFAULT_MAPTOPIXEL_THRESHOLD
Default threshold between map coordinates and device coordinates for map2pixel simplification.
Definition qgis.h:7013
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Definition qgis.h:2434
DpiMode
DpiMode enum.
Definition qgis.h:3574
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition qgis.h:1082
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3826
AltitudeBinding
Altitude binding.
Definition qgis.h:4214
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:6371
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:5097
ShaderClassificationMethod
Color ramp shader classification methods.
Definition qgis.h:1589
MapLayerLegendFlag
Map layer legend flags.
Definition qgis.h:4999
ZonalStatisticResult
Zonal statistics result codes.
Definition qgis.h:6471
ScriptLanguage
Scripting languages.
Definition qgis.h:4910
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
Definition qgis.h:1027
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:4570
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
Definition qgis.h:618
PlotAxisType
Plots axis types.
Definition qgis.h:3550
TiledSceneProviderCapability
Tiled scene data provider capabilities.
Definition qgis.h:6292
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:1458
PointCloudProfileType
Types of elevation profiles to generate for point cloud sources.
Definition qgis.h:4607
RasterBandStatistic
Available raster band statistics.
Definition qgis.h:6612
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
Definition qgis.h:6269
Q_ENUM(SensorThingsVersion)
AuthConfigurationStorageCapability
Authentication configuration storage capabilities.
Definition qgis.h:107
QFlags< ZonalStatistic > ZonalStatistics
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:6462
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:2797
TextRenderFormat
Options for rendering text.
Definition qgis.h:3021
DocumentationBrowser
Documentation API browser.
Definition qgis.h:6734
DataType
Raster data types.
Definition qgis.h:393
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
Definition qgis.h:3698
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition qgis.h:1548
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:5438
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
Definition qgis.h:1737
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition qgis.h:4536
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
Definition qgis.h:2887
RelationshipCapability
Relationship capabilities.
Definition qgis.h:4863
SkyboxCubeMapping
Skybox texture cube mapping for distinct texture skyboxes.
Definition qgis.h:4496
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:5289
QFlags< VectorProviderCapability > VectorProviderCapabilities
Vector data provider capabilities.
Definition qgis.h:564
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:4511
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:3365
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:6339
PointCloudZoomOutRenderBehavior
Point cloud zoom out options.
Definition qgis.h:6807
QFlags< SymbolConverterCapability > SymbolConverterCapabilities
Symbol converter capabilities.
Definition qgis.h:839
LayerType
Types of layers that can be added to a map.
Definition qgis.h:206
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
Definition qgis.h:2657
FieldOrigin
Field origin.
Definition qgis.h:1854
LinearReferencingLabelSource
Defines what quantity to use for the labels shown in a linear referencing symbol layer.
Definition qgis.h:3379
QFlags< BrowserItemFilterFlag > BrowserItemFilterFlags
Browser item filter flags.
Definition qgis.h:1046
LabelWhitespaceCollisionHandling
Label whitespace collision handling.
Definition qgis.h:1261
RasterRangeExtent
Describes the extent used to compute raster ranges (min/max values).
Definition qgis.h:1710
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
Definition qgis.h:6549
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition qgis.h:4339
RenderUnit
Rendering size units.
Definition qgis.h:5655
QFlags< ArcGisRestServiceCapability > ArcGisRestServiceCapabilities
Available ArcGIS REST service capabilities.
Definition qgis.h:4812
static QString geographicCrsAuthId()
Geographic coordinate system auth:id string for a default geographic CRS (EPSG:4326).
Definition qgis.h:7181
CoordinateOrder
Order of coordinates.
Definition qgis.h:2568
SelectionFlag
Flags which control feature selection behavior.
Definition qgis.h:1947
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
Definition qgis.h:712
EndCapStyle
End cap styles for buffers.
Definition qgis.h:2260
ScaleCalculationMethod
Scale calculation logic.
Definition qgis.h:5762
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
Definition qgis.h:6362
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:5136
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
Definition qgis.h:2451
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:2163
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
Definition qgis.h:3064
QFlags< VerticalAxisInversion > VerticalAxisInversionFlags
Definition qgis.h:4548
FieldDomainType
Types of field domain.
Definition qgis.h:4175
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2979
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2943
RasterPipeInterfaceRole
Raster pipe interface roles.
Definition qgis.h:1602
CoverageValidityResult
Coverage validity results.
Definition qgis.h:2331
DataProviderReadFlag
Flags which control data provider construction.
Definition qgis.h:491
ScaleBarSegmentSizeMode
Modes for setting size for scale bar segments.
Definition qgis.h:5794
Aggregate
Available aggregates to calculate.
Definition qgis.h:6489
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:2624
BrowserItemFilterFlag
Browser item filter flags.
Definition qgis.h:1036
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
Definition qgis.h:924
static const double DEFAULT_SEARCH_RADIUS_MM
Identify search radius in mm.
Definition qgis.h:7010
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
Definition qgis.h:2680
MapBoxGlStyleSourceType
Available MapBox GL style source types.
Definition qgis.h:4756
LayoutUnitType
Types of layout units.
Definition qgis.h:5695
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:631
DashPatternLineEndingRule
Dash pattern line ending rules.
Definition qgis.h:3492
FieldMetadataProperty
Standard field metadata values.
Definition qgis.h:1895
MapGridAnnotationType
Annotation coordinate type.
Definition qgis.h:6016
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:6352
RasterRendererCapability
Raster renderer capabilities.
Definition qgis.h:1673
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition qgis.h:1983
HistoryProviderBackend
History provider backends.
Definition qgis.h:3719
static const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition qgis.h:7082
RasterExportType
Raster file export types.
Definition qgis.h:1779
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition qgis.h:1838
TextVerticalAlignment
Text vertical alignment.
Definition qgis.h:3164
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:4849
GradientType
Gradient types.
Definition qgis.h:3408
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
Definition qgis.h:4945
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:4595
GpsFeatureType
GPS feature types.
Definition qgis.h:2177
SourceHierarchyLevel
Defines the structural levels within a data source hierarchy.
Definition qgis.h:1527
VectorLayerTypeFlag
Vector layer type flags.
Definition qgis.h:435
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition qgis.h:2344
QFlags< Map3DDebugFlag > Map3DDebugFlags
Definition qgis.h:4364
RangeLimits
Describes how the limits of a range are handled.
Definition qgis.h:4226
QFlags< ProjectFlag > ProjectFlags
Definition qgis.h:4330
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:2785
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3996
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
Definition qgis.h:1172
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:1968
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:643
Map3DProjectionType
3D map projection type
Definition qgis.h:4373
Axis
Cartesian axes.
Definition qgis.h:2638
QFlags< ProcessingAlgorithmDocumentationFlag > ProcessingAlgorithmDocumentationFlags
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3847
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
Definition qgis.h:4875
ArcGisRestServiceCapability
Available ArcGIS REST service capabilities.
Definition qgis.h:4796
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:818
VolumeUnit
Units of volume.
Definition qgis.h:5587
CurvedTextFlag
Flags controlling behavior of curved text generation.
Definition qgis.h:3193
AttributeEditorType
Attribute editor types.
Definition qgis.h:6122
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
Definition qgis.h:5057
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
Definition qgis.h:6098
RubberBandComponent
Rubber band components.
Definition qgis.h:6993
EmbeddedScriptMode
Authorisation to run script embedded in projects.
Definition qgis.h:448
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
Definition qgis.h:962
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:2403
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition qgis.h:915
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3918
MapGridFrameStyle
Style for map grid frames.
Definition qgis.h:5955
PointCloudAccessType
The access type of the data, local is for local files and remote for remote files (over HTTP).
Definition qgis.h:6796
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:4634
MeshElevationMode
Mesh layer elevation modes.
Definition qgis.h:4254
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:4689
SnappingMode
SnappingMode defines on which layer the snapping is performed.
Definition qgis.h:778
SymbolType
Symbol types.
Definition qgis.h:651
RasterColorInterpretation
Raster color interpretation.
Definition qgis.h:5184
static const int USER_CRS_START_ID
Minimum ID number for a user-defined projection.
Definition qgis.h:7073
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:4582
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:3075
Q_ENUM(ProcessingAlgorithmFlag)
static int geosVersionMinor()
GEOS Minor version number linked.
Definition qgis.cpp:761
MaterialRenderingTechnique
Material rendering techniques.
Definition qgis.h:4409
ColorModel
Color model types.
Definition qgis.h:6708
RendererUsage
Usage of the renderer.
Definition qgis.h:3661
SettingsTreeNodeOption
Options for named list nodes.
Definition qgis.h:707
BabelFormatCapability
Babel GPS format capabilities.
Definition qgis.h:2144
PostgresRelKind
Postgres database relkind options.
Definition qgis.h:6040
SegmentCalculationMethod
brief Method used to calculate the number of segments for circle approximation
Definition qgis.h:6819
GpsConnectionType
GPS connection types.
Definition qgis.h:2010
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
Definition qgis.h:6069
MouseHandlesAction
Action to be performed by the mouse handles.
Definition qgis.h:6746
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
Definition qgis.h:3903
QFlags< TextComponent > TextComponents
Text components.
Definition qgis.h:3134
static QString geoNone()
Constant that holds the string representation for "No ellipse/No CRS".
Definition qgis.h:7174
DevToolsNodeRole
Dev tools node custom data roles.
Definition qgis.h:6863
LoadStyleFlag
Flags for loading layer styles.
Definition qgis.h:252
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:4267
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
Definition qgis.h:6251
SymbolConverterCapability
Symbol converter capabilities.
Definition qgis.h:827
MetadataDateType
Date types for metadata.
Definition qgis.h:5165
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
Definition qgis.h:2853
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3929
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:5304
MapGridAnnotationDirection
Direction of grid annotations.
Definition qgis.h:5899
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:3145
SymbolFlag
Flags controlling behavior of symbols.
Definition qgis.h:909
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition qgis.h:4280
HttpMethod
Different methods of HTTP requests.
Definition qgis.h:1118
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:294
QFlags< SldExportOption > SldExportOptions
Definition qgis.h:743
SymbolCoordinateReference
Symbol coordinate reference modes.
Definition qgis.h:3423
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3788
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:6327
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
Definition qgis.h:6574
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1908
InputControllerType
Input controller types.
Definition qgis.h:6028
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:3623
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1935
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:2518
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:4066
static int geosVersionInt()
GEOS version number linked.
Definition qgis.cpp:750
QFlags< MarkerLinePlacement > MarkerLinePlacements
Definition qgis.h:3356
QFlags< MapCanvasFlag > MapCanvasFlags
Flags controlling behavior of map canvases.
Definition qgis.h:3684
CrsWktVariant
Coordinate reference system WKT formatting variants.
Definition qgis.h:2598
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:6384
MapGridAnnotationFormat
Format for displaying map grid annotations.
Definition qgis.h:5918
DocumentationApi
Documentation API.
Definition qgis.h:6720
AutoRefreshMode
Map layer automatic refresh modes.
Definition qgis.h:2461
AnnotationPlacementMode
Annotation item placement modes.
Definition qgis.h:2667
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3799
QFlags< InstancedMaterialFlag > InstancedMaterialFlags
Definition qgis.h:4432
SceneMode
The 3D scene mode used in 3D map views.
Definition qgis.h:4524
InstancedMaterialFlag
Optional per-instance properties of instanced materials.
Definition qgis.h:4427
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1871
SettingsOrigin
The setting origin describes where a setting is stored.
Definition qgis.h:4897
HorizontalAnchorPoint
Marker symbol horizontal anchor points.
Definition qgis.h:862
QFlags< CurvedTextFlag > CurvedTextFlags
Flags controlling behavior of curved text generation.
Definition qgis.h:3206
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3981
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:1248
static const double UI_SCALE_FACTOR
UI scaling factor.
Definition qgis.h:7058
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:6228
QFlags< LayerFilter > LayerFilters
Definition qgis.h:243
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:4053
DockableWidgetInitialState
Dockable widget initial states.
Definition qgis.h:6928
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:2874
TextComponent
Text components.
Definition qgis.h:3121
DateTimeStatistic
Available date/time statistics.
Definition qgis.h:6558
AnimationState
Animation states.
Definition qgis.h:2737
TransformDirection
Indicates the direction (forward or inverse) of a transform.
Definition qgis.h:2862
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:4471
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3941
QFlags< HistoryProviderBackend > HistoryProviderBackends
Definition qgis.h:3724
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition qgis.h:1322
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1886
UpsideDownLabelHandling
Handling techniques for upside down labels.
Definition qgis.h:1443
static const double DEFAULT_POINT_SIZE
The default size (in millimeters) for point marker symbols.
Definition qgis.h:7076
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:2024
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:4021
MapSettingsFlag
Flags which adjust the way maps are rendered.
Definition qgis.h:2909
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
Definition qgis.h:1180
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
Definition qgis.h:3873
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1921
LayoutRenderFlag
Flags for controlling how a layout is rendered.
Definition qgis.h:5709
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:45
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.
Contains settings related to how the label engine places and formats labels for line features (or pol...
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:7322
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:7336
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:7328
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:586
CreateLayerActionOnExisting
Actions to take when attempting to create a layer on an existing datasource.
Definition qgis.h:573
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:8022
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
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:7936
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:8015
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:7717
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:7369
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:7587
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:7698
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:7756
CORE_EXPORT size_t qHash(const QVariant &variant)
Hash for QVariant.
Definition qgis.cpp:611
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:7571
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:7785
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:8041
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:7681
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference).
Definition qgis.h:7527
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:7603
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:7664
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:7556
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference).
Definition qgis.h:7462
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:7414
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:7356
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:8031
Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system.
Definition qgis.h:8029
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:7533
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:7434
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
bool qgsDoubleGreaterThanOrNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles to see if one is greater than the other or very near to the other.
Definition qgis.h:7502
#define QHASH_FOR_CLASS_ENUM(T)
Definition qgis.h:50
bool qgsDoubleLessThanOrNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles to see if one is less than the other or very near to the other.
Definition qgis.h:7475
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:7952
#define SIP_DEPRECATED
Definition qgis_sip.h:113
#define SIP_ENUM_BASETYPE(type)
Definition qgis_sip.h:272
#define SIP_SKIP
Definition qgis_sip.h:133
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
Definition qgis_sip.h:265
#define SIP_MONKEYPATCH_FLAGS_UNNEST(OUTSIDE_CLASS, FORMERNAME)
Definition qgis_sip.h:266
#define SIP_MONKEYPATCH_SCOPEENUM
Definition qgis_sip.h:264
#define SIP_MONKEYPATCH_COMPAT_NAME(FORMERNAME)
Definition qgis_sip.h:267
Q_DECLARE_METATYPE(QgsDatabaseQueryLogEntry)
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsProjectionSelectionWidget::CrsOptions)
Utility class for identifying a unique vertex within a geometry.
Definition qgsvertexid.h:35