QGIS API Documentation 4.3.0-Master (d583d975f4e)
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 };
2239 Q_ENUM( GeometryValidationEngine )
2240
2241
2251 Q_ENUM( BufferSide )
2252
2253
2264 Q_ENUM( EndCapStyle )
2265
2266
2272 {
2273 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
2274 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
2275 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
2276 };
2277 Q_ENUM( JoinStyle )
2278
2279
2284 enum class JoinStyle3D : int
2285 {
2286 Round = 1,
2287 Flat,
2288 CylindersAndSpheres,
2289 };
2290 Q_ENUM( JoinStyle3D )
2291
2292
2297 enum class GeometryBackend : int
2298 {
2299 QGIS = 1,
2300 GEOS,
2301 };
2302 Q_ENUM( GeometryBackend )
2303
2304
2309 enum class GeosCreationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2310 {
2311 RejectOnInvalidSubGeometry = 1 << 0,
2312 SkipEmptyInteriorRings = 1 << 1,
2313 };
2314 Q_ENUM( GeosCreationFlag )
2315
2316
2322 Q_FLAG( GeosCreationFlags )
2323
2329 enum class CoverageValidityResult : int
2330 {
2331 Invalid = 0,
2332 Valid = 1,
2333 Error = 2,
2334 };
2335 Q_ENUM( CoverageValidityResult )
2336
2337
2342 enum class MakeValidMethod : int
2343 {
2344 Linework = 0,
2345 Structure = 1,
2346 };
2347 Q_ENUM( MakeValidMethod )
2348
2349
2357 {
2358 NoFlags = 0,
2359 NoGeometry = 1,
2360 SubsetOfAttributes = 2,
2361 ExactIntersect = 4,
2362 IgnoreStaticNodesDuringExpressionCompilation
2363 = 8,
2364 EmbeddedSymbols = 16,
2365 };
2366 Q_ENUM( FeatureRequestFlag )
2367
2368
2376 Q_FLAG( FeatureRequestFlags )
2377
2386 {
2387 NoFilter SIP_MONKEYPATCH_COMPAT_NAME( FilterNone ),
2389 Expression SIP_MONKEYPATCH_COMPAT_NAME( FilterExpression ),
2391 };
2392 Q_ENUM( FeatureRequestFilterType )
2393
2394
2402 {
2403 NoCheck SIP_MONKEYPATCH_COMPAT_NAME( GeometryNoCheck ) = 0,
2404 SkipInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometrySkipInvalid ) = 1,
2405 AbortOnInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometryAbortOnInvalid ) = 2,
2406 };
2407 Q_ENUM( InvalidGeometryCheck )
2408
2409
2414 enum class SpatialFilterType : int
2415 {
2416 NoFilter,
2417 BoundingBox,
2418 DistanceWithin,
2419 };
2420 Q_ENUM( SpatialFilterType )
2421
2422
2427 enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2428 {
2429 IncludeMetadataFile = 1 << 0,
2430 IncludeStyleFile = 1 << 1,
2431 };
2432
2435 Q_FLAG( FileOperationFlags )
2436
2437
2442 enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
2443 {
2444 UsersCannotToggleEditing
2445 = 1 << 0,
2446 IsBasemapLayer = 1 << 1,
2447 Is3DBasemapLayer = 1 << 2,
2448 };
2449
2452 Q_FLAG( MapLayerProperties )
2453
2454
2459 enum class AutoRefreshMode : int
2460 {
2461 Disabled = 0,
2462 ReloadData = 1,
2463 RedrawOnly = 2,
2464 };
2465 Q_ENUM( AutoRefreshMode )
2466
2467
2472 enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
2473 {
2474 IsBasemapSource = 1 << 1,
2475 FastExtent2D = 1 << 2,
2476 FastExtent3D = 1 << 3,
2477 Is3DBasemapSource = 1 << 4,
2478 };
2479
2482 Q_FLAG( DataProviderFlags )
2483
2484
2491 enum class CrsType : int
2492 {
2493 Unknown,
2494 Geodetic,
2495 Geocentric,
2496 Geographic2d,
2497 Geographic3d,
2498 Vertical,
2499 Projected,
2500 Compound,
2501 Temporal,
2502 Engineering,
2503 Bound,
2504 Other,
2505 DerivedProjected,
2506 };
2507 Q_ENUM( CrsType )
2508
2509
2516 enum class CrsAxisDirection : int
2517 {
2518 North,
2519 NorthNorthEast,
2520 NorthEast,
2521 EastNorthEast,
2522 East,
2523 EastSouthEast,
2524 SouthEast,
2525 SouthSouthEast,
2526 South,
2527 SouthSouthWest,
2528 SouthWest,
2529 WestSouthWest,
2530 West,
2531 WestNorthWest,
2532 NorthWest,
2533 NorthNorthWest,
2534 GeocentricX,
2535 GeocentricY,
2536 GeocentricZ,
2539 Forward,
2540 Aft,
2541 Port,
2542 Starboard,
2543 Clockwise,
2544 CounterClockwise,
2545 ColumnPositive,
2546 ColumnNegative,
2547 RowPositive,
2548 RowNegative,
2549 DisplayRight,
2550 DisplayLeft,
2551 DisplayUp,
2552 DisplayDown,
2553 Future,
2554 Past,
2555 Towards,
2556 AwayFrom,
2557 Unspecified,
2558 };
2559 Q_ENUM( CrsAxisDirection )
2560
2561
2566 enum class CoordinateOrder : int
2567 {
2568 Default,
2569 XY,
2570 YX,
2571 };
2572 Q_ENUM( CoordinateOrder )
2573
2574
2582 {
2583 ShortString,
2584 MediumString,
2585 FullString,
2586 };
2587 Q_ENUM( CrsIdentifierType )
2588
2589
2597 {
2599 WKT1_GDAL
2600 ),
2601 Wkt1Esri SIP_MONKEYPATCH_COMPAT_NAME( WKT1_ESRI ),
2602 Wkt2_2015 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015 ),
2603 Wkt2_2015Simplified SIP_MONKEYPATCH_COMPAT_NAME(
2604 WKT2_2015_SIMPLIFIED
2605 ),
2607 WKT2_2019
2608 ),
2609 Wkt2_2019Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019_SIMPLIFIED ),
2610 Preferred SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED ) = Wkt2_2019,
2611 PreferredSimplified SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_SIMPLIFIED )
2612 = Wkt2_2019Simplified,
2613 PreferredGdal SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_GDAL ) = Wkt2_2019,
2614 };
2615 Q_ENUM( CrsWktVariant )
2616
2617
2623 {
2624 NoAction = 0,
2625 PromptUserForCrs = 1,
2626 UseProjectCrs = 2,
2627 UseDefaultCrs = 3,
2628 };
2629 Q_ENUM( UnknownLayerCrsBehavior )
2630
2631
2636 enum class Axis : int
2637 {
2638 X,
2639 Y,
2641 };
2642 Q_ENUM( Axis )
2643
2644
2649 enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
2650 {
2651 ScaleDependentBoundingBox = 1 << 0,
2652 SupportsReferenceScale = 1 << 1,
2653 SupportsCallouts = 1 << 2,
2654 };
2655
2658 Q_FLAG( AnnotationItemFlags )
2659
2660
2666 {
2667 SpatialBounds = 0,
2668 FixedSize,
2669 RelativeToMapFrame,
2670 };
2671 Q_ENUM( AnnotationPlacementMode )
2672
2673
2678 enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
2679 {
2680 FlagNoCreationTools = 1 << 0,
2681 };
2682
2685 Q_FLAG( AnnotationItemGuiFlags )
2686
2687
2692 enum class AnnotationItemNodeType : int
2693 {
2694 VertexHandle,
2695 CalloutHandle,
2696 };
2697 Q_ENUM( AnnotationItemNodeType )
2698
2699
2705 {
2707 Invalid,
2708 ItemCleared,
2709 };
2710 Q_ENUM( AnnotationItemEditOperationResult )
2711
2712
2720 {
2721 Disabled SIP_MONKEYPATCH_COMPAT_NAME( NavigationOff ),
2722 Animated,
2723 FixedRange,
2724 Movie,
2725 };
2726 Q_ENUM( TemporalNavigationMode )
2727
2728
2741 Q_ENUM( AnimationState )
2742
2743
2748 enum class PlaybackOperation : int
2749 {
2750 SkipToStart,
2751 PreviousFrame,
2752 PlayReverse,
2753 Pause,
2754 PlayForward,
2755 NextFrame,
2756 SkipToEnd,
2757 };
2758 Q_ENUM( PlaybackOperation )
2759
2760
2766 {
2767 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2768 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
2769 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
2770 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
2771 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
2773 ModeRedrawLayerOnly
2774 ),
2775 };
2776 Q_ENUM( VectorTemporalMode )
2777
2778
2784 {
2785 IncludeBeginExcludeEnd = 0,
2786 IncludeBeginIncludeEnd,
2787 };
2788 Q_ENUM( VectorTemporalLimitMode )
2789
2790
2796 {
2797 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
2798 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
2799 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2800 };
2801 Q_ENUM( VectorDataProviderTemporalMode )
2802
2803
2809 {
2810 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2811 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
2812 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly )
2813 = 2,
2814 FixedRangePerBand = 3,
2815 RepresentsTemporalValues = 4,
2816 FixedDateTime = 5,
2817 };
2818 Q_ENUM( RasterTemporalMode )
2819
2820
2826 {
2827 MatchUsingWholeRange,
2828 MatchExactUsingStartOfRange,
2829 MatchExactUsingEndOfRange,
2830 FindClosestMatchToStartOfRange,
2831 FindClosestMatchToEndOfRange
2832 };
2833 Q_ENUM( TemporalIntervalMatchMethod )
2834
2835
2841 {
2842 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges
2843 = 1 << 0,
2844 };
2845 Q_ENUM( RasterTemporalCapabilityFlag )
2846
2847
2854
2865 Q_ENUM( TransformDirection )
2866
2867
2873 {
2874 BallparkTransformsAreAppropriate
2875 = 1 << 0,
2876 IgnoreImpossibleTransformations
2877 = 1 << 1,
2878 };
2879 Q_ENUM( CoordinateTransformationFlag )
2880
2881
2888
2895 {
2896 Default,
2897 PreferVector,
2898 ForceVector,
2899 };
2900 Q_ENUM( RasterizedRenderingPolicy )
2901
2902
2908 {
2909 Antialiasing = 0x01,
2910 DrawEditingInfo = 0x02,
2911 ForceVectorOutput = 0x04,
2912 UseAdvancedEffects = 0x08,
2913 DrawLabeling = 0x10,
2914 UseRenderingOptimization = 0x20,
2915 DrawSelection = 0x40,
2916 DrawSymbolBounds = 0x80,
2917 RenderMapTile = 0x100,
2918 RenderPartialOutput = 0x200,
2919 RenderPreviewJob = 0x400,
2920 RenderBlocking = 0x800,
2921 LosslessImageRendering
2922 = 0x1000,
2923 Render3DMap = 0x2000,
2924 HighQualityImageTransforms = 0x4000,
2925 SkipSymbolRendering = 0x8000,
2926 ForceRasterMasks = 0x10000,
2927 RecordProfile = 0x20000,
2928 AlwaysUseGlobalMasks
2929 = 0x40000,
2930 };
2931
2934 Q_FLAG( MapSettingsFlags )
2935
2936
2942 {
2943 DrawEditingInfo = 0x01,
2944 ForceVectorOutput = 0x02,
2945 UseAdvancedEffects = 0x04,
2946 UseRenderingOptimization = 0x08,
2947 DrawSelection = 0x10,
2948 DrawSymbolBounds = 0x20,
2949 RenderMapTile = 0x40,
2950 Antialiasing = 0x80,
2951 RenderPartialOutput = 0x100,
2952 RenderPreviewJob = 0x200,
2953 RenderBlocking = 0x400,
2954 RenderSymbolPreview = 0x800,
2955 LosslessImageRendering = 0x1000,
2956 ApplyScalingWorkaroundForTextRendering = 0x2000,
2957 Render3DMap = 0x4000,
2958 ApplyClipAfterReprojection = 0x8000,
2959 RenderingSubSymbol = 0x10000,
2960 HighQualityImageTransforms = 0x20000,
2961 SkipSymbolRendering = 0x40000,
2962 RecordProfile = 0x80000,
2963 AlwaysUseGlobalMasks = 0x100000,
2964 DisableSymbolClippingToExtent = 0x200000,
2965 RenderLayerTree = 0x400000
2966 };
2967
2970 Q_FLAG( RenderContextFlags )
2971
2972
2977 enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2978 {
2979 RenderPartialOutputs = 1 << 0,
2980 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2981 AffectsLabeling = 1 << 2,
2982 };
2983 Q_ENUM( MapLayerRendererFlag )
2984
2985
2991 Q_FLAG( MapLayerRendererFlags )
2992
2998 enum class PaintEffectFlag : int SIP_ENUM_BASETYPE( IntFlag )
2999 {
3000 RequiresRasterization = 1 << 0,
3001 };
3002 Q_ENUM( PaintEffectFlag )
3003
3004
3010 Q_FLAG( PaintEffectFlags )
3011
3012 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
3013 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
3014
3020 {
3022 TextFormatAlwaysOutlines
3023 ),
3025 TextFormatAlwaysText
3026 ),
3027 PreferText,
3028 };
3029 Q_ENUM( TextRenderFormat )
3030
3031
3039 {
3040 UseAllLabels = 1 << 1,
3041 UsePartialCandidates = 1 << 2,
3042 // TODO QGIS 5.0: remove
3043 RenderOutlineLabels = 1 << 3,
3044 DrawLabelRectOnly = 1 << 4,
3045 DrawCandidates = 1 << 5,
3046 DrawUnplacedLabels = 1 << 6,
3047 CollectUnplacedLabels = 1 << 7,
3048 DrawLabelMetrics = 1 << 8,
3049 };
3050 Q_ENUM( LabelingFlag )
3051
3052
3060 Q_FLAG( LabelingFlags )
3061
3070 {
3071 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
3072 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
3073 };
3074 Q_ENUM( LabelPlacementEngineVersion )
3075
3076
3084 {
3085 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
3086 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
3087 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
3088 };
3089 Q_ENUM( TextOrientation )
3090
3091
3099 {
3101 Point,
3103 RectangleCapHeightBased,
3104 RectangleAscentBased,
3105 };
3106 Q_ENUM( TextLayoutMode )
3107
3108
3116 {
3117 Text = 1 << 0,
3118 Buffer = 1 << 1,
3119 Background = 1 << 2,
3120 Shadow = 1 << 3,
3121 };
3122 Q_ENUM( TextComponent )
3123
3124
3129 Q_DECLARE_FLAGS( TextComponents, TextComponent )
3130 Q_FLAG( TextComponents )
3131
3146 Q_ENUM( TextHorizontalAlignment )
3147
3148
3159 {
3161 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
3162 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
3163 };
3164 Q_ENUM( TextVerticalAlignment )
3165
3166
3175 {
3176 Normal,
3177 SuperScript,
3178 SubScript,
3179 };
3180 Q_ENUM( TextCharacterVerticalAlignment )
3181
3182
3188 {
3189 TruncateStringWhenLineIsTooShort = 1 << 0,
3190 UseBaselinePlacement = 1 << 1,
3191 UprightCharactersOnly = 1 << 2,
3192 ExtendLineToFitText = 1 << 3,
3193 };
3194 Q_ENUM( CurvedTextFlag )
3195
3196
3202
3211 {
3212 Distance = 0,
3213 SnapToGrid = 1,
3214 Visvalingam = 2,
3215 SnappedToGridGlobal = 3,
3216 };
3217 Q_ENUM( VectorSimplificationAlgorithm )
3218
3219
3227 {
3228 NoSimplification = 0,
3229 GeometrySimplification = 1,
3230 AntialiasingSimplification = 2,
3231 FullSimplification = 3,
3232 };
3233 Q_ENUM( VectorRenderingSimplificationFlag )
3234
3235
3244
3251 {
3252 Generic,
3253 ShadowOffset,
3254 BlurSize,
3255 GlowSpread,
3256 };
3257 Q_ENUM( RenderSubcomponentProperty )
3258
3259
3265 {
3266 SymbolLayer,
3267 Label,
3268 };
3269 Q_ENUM( SelectiveMaskSourceType )
3270
3271
3276 {
3277 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
3278 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
3279 ControlPoint SIP_MONKEYPATCH_COMPAT_NAME( ControlPointVertex ) = 3,
3280 };
3281 Q_ENUM( VertexType )
3282
3283
3291 {
3292 Square,
3293 Diamond,
3294 Pentagon,
3295 Hexagon,
3296 Triangle,
3297 EquilateralTriangle,
3298 Star,
3299 Arrow,
3300 Circle,
3301 Cross,
3302 CrossFill,
3303 Cross2,
3304 Line,
3305 ArrowHead,
3306 ArrowHeadFilled,
3307 SemiCircle,
3308 ThirdCircle,
3309 QuarterCircle,
3310 QuarterSquare,
3311 HalfSquare,
3312 DiagonalHalfSquare,
3313 RightHalfTriangle,
3314 LeftHalfTriangle,
3315 Octagon,
3316 SquareWithCorners,
3317 AsteriskFill,
3318 HalfArc,
3319 ThirdArc,
3320 QuarterArc,
3321 ParallelogramRight,
3322 ParallelogramLeft,
3323 Trapezoid,
3324 Shield,
3325 DiamondStar,
3326 Heart,
3327 Decagon,
3328 RoundedSquare,
3329 };
3330 Q_ENUM( MarkerShape )
3331
3332
3340 {
3341 Interval = 1 << 0,
3342 Vertex = 1 << 1,
3343 LastVertex = 1 << 2,
3344 FirstVertex = 1 << 3,
3345 CentralPoint = 1 << 4,
3346 CurvePoint = 1 << 5,
3347 SegmentCenter = 1 << 6,
3348 InnerVertices = 1 << 7,
3349 };
3350 Q_ENUM( MarkerLinePlacement )
3352 Q_FLAG( MarkerLinePlacements )
3353
3360 {
3361 IntervalCartesian2D = 1 << 0,
3362 IntervalZ = 1 << 1,
3363 IntervalM = 1 << 2,
3364 Vertex = 1 << 3,
3365 };
3366 Q_ENUM( LinearReferencingPlacement )
3367
3368
3374 {
3375 CartesianDistance2D,
3376 Z,
3377 M,
3378 };
3379 Q_ENUM( LinearReferencingLabelSource )
3380
3381
3389 {
3390 SimpleTwoColor,
3391 ColorRamp,
3392 };
3393 Q_ENUM( GradientColorSource )
3394
3395
3408 Q_ENUM( GradientType )
3409
3410
3418 {
3419 Feature,
3420 Viewport,
3421 };
3422 Q_ENUM( SymbolCoordinateReference )
3423
3424
3438 Q_ENUM( GradientSpread )
3439
3440
3448 {
3449 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
3450 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
3451 };
3452 Q_ENUM( PointCountMethod )
3453
3454
3459 enum class MarkerClipMode : int
3460 {
3461 NoClipping,
3462 Shape,
3463 CentroidWithin,
3464 CompletelyWithin,
3465 };
3466 Q_ENUM( MarkerClipMode )
3467
3468
3473 enum class LineClipMode : int
3474 {
3475 ClipPainterOnly,
3476 ClipToIntersection,
3477 NoClipping,
3478 };
3479 Q_ENUM( LineClipMode )
3480
3481
3487 {
3488 NoRule,
3489 FullDash,
3490 HalfDash,
3491 FullGap,
3492 HalfGap,
3493 };
3494 Q_ENUM( DashPatternLineEndingRule )
3495
3496
3502 {
3503 ScaleBothDashAndGap,
3504 ScaleDashOnly,
3505 ScaleGapOnly,
3506 };
3507 Q_ENUM( DashPatternSizeAdjustment )
3508
3509
3521 Q_ENUM( GraduatedMethod )
3522
3523
3529 {
3530 NoLabels,
3531 EveryLabel,
3532 FirstLabel,
3533 LastLabel,
3534 FirstAndLastLabels,
3535 };
3536 Q_ENUM( PlotAxisSuffixPlacement )
3537
3538
3539
3544 enum class PlotAxisType
3545 {
3546 Interval,
3547 Categorical,
3548 };
3549 Q_ENUM( PlotAxisType )
3550
3551
3556 enum class PieChartLabelType : int
3557 {
3558 NoLabels,
3559 Categories,
3560 Values,
3561 };
3562 Q_ENUM( PieChartLabelType )
3563
3564
3568 enum class DpiMode
3569 {
3570 All = 7,
3571 Off = 0,
3572 QGIS = 1,
3573 UMN = 2,
3574 GeoServer = 4,
3575 };
3576 Q_ENUM( DpiMode )
3577
3578
3583 {
3584 Undefined = 0,
3585 StandardDpi = 1,
3586 HighDpi = 2,
3587 };
3588 Q_ENUM( TilePixelRatio )
3589
3590 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
3591
3592
3600 {
3601 MixedCase = 0,
3602 AllUppercase = 1,
3603 AllLowercase = 2,
3604 ForceFirstLetterToCapital = 4,
3605 SmallCaps = 5,
3606 TitleCase = 1004,
3607 UpperCamelCase = 1005,
3608 AllSmallCaps = 1006,
3609 };
3610 Q_ENUM( Capitalization )
3611
3612
3617 enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
3618 {
3619 WrapLines = 1 << 0,
3620 };
3621 Q_ENUM( TextRendererFlag )
3623 Q_FLAG( TextRendererFlags )
3624
3631 {
3632 MapBox,
3633 Esri,
3634 };
3636
3643 {
3644 Clockwise,
3645 CounterClockwise,
3646 NoOrientation,
3647 };
3648 Q_ENUM( AngularDirection )
3649
3650
3655 enum class RendererUsage : int
3656 {
3657 View,
3658 Export,
3659 Unknown,
3660 };
3661 Q_ENUM( RendererUsage )
3662
3663
3668 enum class MapCanvasFlag : int SIP_ENUM_BASETYPE( IntFlag )
3669 {
3670 ShowMainAnnotationLayer = 1 << 0,
3671 };
3672 Q_ENUM( MapCanvasFlag )
3673
3674
3679 Q_DECLARE_FLAGS( MapCanvasFlags, MapCanvasFlag )
3680 Q_FLAG( MapCanvasFlags )
3681
3687 enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
3688 {
3689 Sync3DTo2D = 1 << 0,
3690 Sync2DTo3D = 1 << 1,
3691 };
3692 Q_ENUM( ViewSyncModeFlag )
3694
3701 {
3702 Always,
3703 WhenOutsideVisibleExtent,
3704 Never,
3705 };
3706 Q_ENUM( MapRecenteringMode )
3707
3708
3713 enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
3714 {
3715 LocalProfile = 1 << 0,
3716 // Project = 1 << 1, //!< QGIS Project (not yet implemented)
3717 };
3718 Q_ENUM( HistoryProviderBackend )
3720 Q_FLAG( HistoryProviderBackends )
3721
3727 enum class QueryStorageBackend : int
3728 {
3729 LocalProfile,
3730 CurrentProject,
3731 };
3732 Q_ENUM( QueryStorageBackend )
3733
3734
3742 {
3743 MapLayer SIP_MONKEYPATCH_COMPAT_NAME( TypeMapLayer ) = -2,
3744 VectorAnyGeometry SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorAnyGeometry ) = -1,
3745 VectorPoint SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPoint ) = 0,
3746 VectorLine SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorLine ) = 1,
3747 VectorPolygon SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPolygon ) = 2,
3748 Raster SIP_MONKEYPATCH_COMPAT_NAME( TypeRaster ) = 3,
3749 File SIP_MONKEYPATCH_COMPAT_NAME( TypeFile ) = 4,
3750 Vector SIP_MONKEYPATCH_COMPAT_NAME( TypeVector ) = 5,
3751 Mesh SIP_MONKEYPATCH_COMPAT_NAME( TypeMesh ) = 6,
3752 Plugin SIP_MONKEYPATCH_COMPAT_NAME( TypePlugin ) = 7,
3753 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( TypePointCloud ) = 8,
3754 Annotation SIP_MONKEYPATCH_COMPAT_NAME( TypeAnnotation ) = 9,
3755 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorTile ) = 10,
3756 TiledScene = 11
3757 };
3758 Q_ENUM( ProcessingSourceType )
3759
3760
3761
3769 {
3770 DeemphasiseSearchResults SIP_MONKEYPATCH_COMPAT_NAME( FlagDeemphasiseSearchResults )
3771 = 1 << 1,
3772 CompatibleWithVirtualRaster SIP_MONKEYPATCH_COMPAT_NAME( FlagCompatibleWithVirtualRaster ) = 1 << 2,
3773 };
3775
3784 Q_FLAG( ProcessingProviderFlags )
3785
3786
3794 {
3795 HideFromToolbox SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromToolbox ) = 1 << 1,
3796 HideFromModeler SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromModeler ) = 1 << 2,
3797 SupportsBatch SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsBatch ) = 1 << 3,
3798 CanCancel SIP_MONKEYPATCH_COMPAT_NAME( FlagCanCancel ) = 1 << 4,
3799 RequiresMatchingCrs SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresMatchingCrs ) = 1 << 5,
3800 NoThreading SIP_MONKEYPATCH_COMPAT_NAME( FlagNoThreading ) = 1 << 6,
3801 DisplayNameIsLiteral SIP_MONKEYPATCH_COMPAT_NAME( FlagDisplayNameIsLiteral ) = 1 << 7,
3802 SupportsInPlaceEdits SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsInPlaceEdits ) = 1 << 8,
3803 KnownIssues SIP_MONKEYPATCH_COMPAT_NAME( FlagKnownIssues ) = 1 << 9,
3804 CustomException SIP_MONKEYPATCH_COMPAT_NAME( FlagCustomException ) = 1 << 10,
3805 PruneModelBranchesBasedOnAlgorithmResults SIP_MONKEYPATCH_COMPAT_NAME( FlagPruneModelBranchesBasedOnAlgorithmResults ) = 1 << 11,
3806 SkipGenericModelLogging SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGenericModelLogging ) = 1 << 12,
3807 NotAvailableInStandaloneTool SIP_MONKEYPATCH_COMPAT_NAME( FlagNotAvailableInStandaloneTool ) = 1 << 13,
3808 RequiresProject SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresProject ) = 1 << 14,
3809 SecurityRisk = 1 << 15,
3810 Deprecated SIP_MONKEYPATCH_COMPAT_NAME( FlagDeprecated ) = HideFromToolbox | HideFromModeler,
3811 };
3813
3822 Q_FLAG( ProcessingAlgorithmFlags )
3823
3824
3830 {
3831 RegeneratesPrimaryKey = 1 << 0,
3832 RegeneratesPrimaryKeyInSomeScenarios = 1 << 1,
3833 RespectsEllipsoid = 1 << 2,
3834 };
3835 Q_ENUM( ProcessingAlgorithmDocumentationFlag )
3836
3837
3844
3854 {
3855 NotAvailable,
3856 Available,
3857 };
3858 Q_ENUM( ProcessingPropertyAvailability )
3859
3860
3868 {
3869 DefaultLevel = 0,
3870 Verbose,
3871 ModelDebug,
3872 };
3873 Q_ENUM( ProcessingLogLevel )
3874
3875
3883 {
3884 Standard,
3885 Batch,
3886 Modeler,
3887 };
3888 Q_ENUM( ProcessingMode )
3889
3890
3898 {
3899 OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck )
3900 = 1 << 0,
3901 CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature )
3902 = 1 << 1,
3903 };
3904 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3905
3906
3915
3924 {
3925 SkipGeometryValidityChecks SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGeometryValidityChecks ) = 1 << 1,
3926 };
3927 Q_ENUM( ProcessingFeatureSourceFlag )
3928
3929
3938
3950 {
3951 ExposeToModeler = 1
3952 };
3953 Q_ENUM( ProcessingParameterTypeFlag )
3954
3955
3967
3976 {
3977 Advanced SIP_MONKEYPATCH_COMPAT_NAME( FlagAdvanced ) = 1 << 1,
3978 Hidden SIP_MONKEYPATCH_COMPAT_NAME( FlagHidden ) = 1 << 2,
3979 Optional SIP_MONKEYPATCH_COMPAT_NAME( FlagOptional ) = 1 << 3,
3980 IsModelOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagIsModelOutput ) = 1 << 4,
3981 };
3982 Q_ENUM( ProcessingParameterFlag )
3983
3984
3992 Q_FLAG( ProcessingParameterFlags )
3993
4006 Q_ENUM( ProcessingFileParameterBehavior )
4007
4008
4020 Q_ENUM( ProcessingNumberParameterType )
4021
4022
4030 {
4031 Any = -1,
4032 Numeric = 0,
4033 String = 1,
4034 DateTime = 2,
4035 Binary = 3,
4036 Boolean = 4,
4037 };
4038 Q_ENUM( ProcessingFieldParameterDataType )
4039
4040
4053 Q_ENUM( ProcessingDateTimeParameterDataType )
4054
4055
4061 {
4062 ModelParameter,
4063 ChildOutput,
4064 StaticValue,
4065 Expression,
4066 ExpressionText,
4067 ModelOutput,
4068 };
4069 Q_ENUM( ProcessingModelChildParameterSource )
4070
4071
4077 {
4078 NotExecuted,
4080 Failed,
4081 };
4082 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
4083
4084
4092 {
4093 Vertices,
4094 StructureLines,
4095 BreakLines
4096 };
4097 Q_ENUM( ProcessingTinInputLayerType )
4098
4099
4109 Q_ENUM( CrsDefinitionFormat )
4110
4111
4119 enum class FieldDomainSplitPolicy : int
4120 {
4121 DefaultValue,
4122 Duplicate,
4123 GeometryRatio,
4124 UnsetField,
4125 };
4126 Q_ENUM( FieldDomainSplitPolicy )
4127
4128
4136 enum class FieldDomainMergePolicy : int
4137 {
4138 DefaultValue,
4139 Sum,
4140 GeometryWeighted,
4141 UnsetField,
4142 LargestGeometry,
4143 MinimumValue,
4144 MaximumValue,
4145 SetToNull,
4146 };
4147 Q_ENUM( FieldDomainMergePolicy )
4148
4149
4156 enum class FieldDuplicatePolicy : int
4157 {
4158 DefaultValue,
4159 Duplicate,
4160 UnsetField,
4161 };
4162 Q_ENUM( FieldDuplicatePolicy )
4163
4164
4169 enum class FieldDomainType : int
4170 {
4171 Coded,
4172 Range,
4173 Glob,
4174 };
4175 Q_ENUM( FieldDomainType )
4176
4177
4182 enum class TransactionMode : int
4183 {
4184 Disabled = 0,
4185 AutomaticGroups = 1,
4186 BufferedGroups = 2,
4187 };
4188 Q_ENUM( TransactionMode )
4189
4190
4195 enum class AltitudeClamping : int
4196 {
4197 Absolute,
4198 Relative,
4199 Terrain,
4200 };
4201 Q_ENUM( AltitudeClamping )
4202
4203
4208 enum class AltitudeBinding : int
4209 {
4210 Vertex,
4211 Centroid,
4212 };
4213 Q_ENUM( AltitudeBinding )
4214
4215
4220 enum class RangeLimits : int
4221 {
4222 IncludeBoth = 0,
4223 IncludeLowerExcludeUpper,
4224 ExcludeLowerIncludeUpper,
4225 ExcludeBoth,
4226 };
4227 Q_ENUM( RangeLimits )
4228
4229
4234 enum class RasterElevationMode : int
4235 {
4236 FixedElevationRange = 0,
4237 RepresentsElevationSurface = 1,
4238 FixedRangePerBand = 2,
4239 DynamicRangePerBand = 3,
4240 };
4241 Q_ENUM( RasterElevationMode )
4242
4243
4248 enum class MeshElevationMode : int
4249 {
4250 FixedElevationRange = 0,
4251 FromVertices = 1,
4252 FixedRangePerGroup = 2,
4253 };
4254 Q_ENUM( MeshElevationMode )
4255
4256
4262 {
4263 NoConstraint,
4264 Perpendicular,
4265 Parallel
4266 };
4267 Q_ENUM( BetweenLineConstraint )
4268
4269
4274 enum class LineExtensionSide : int
4275 {
4276 BeforeVertex,
4277 AfterVertex,
4278 NoVertex,
4279 };
4280 Q_ENUM( LineExtensionSide )
4281
4282
4283
4287 enum class CadConstraintType : int
4288 {
4289 Generic,
4290 Angle,
4291 Distance,
4292 XCoordinate,
4293 YCoordinate,
4294 ZValue,
4295 MValue,
4296 };
4297 Q_ENUM( CadConstraintType )
4298
4299
4304 {
4305 Hidden,
4306 Cartesian,
4307 Ellipsoidal,
4308 };
4309 Q_ENUM( CadMeasurementDisplayType )
4310
4311
4316 enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
4317 {
4318 EvaluateDefaultValuesOnProviderSide = 1 << 0,
4319 TrustStoredLayerStatistics
4320 = 1 << 1,
4321 RememberLayerEditStatusBetweenSessions = 1 << 2,
4322 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
4323 };
4324 Q_ENUM( ProjectFlag )
4325 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
4326 Q_FLAG( ProjectFlags )
4327
4333 enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
4334 {
4335 ShowContextMenu = 1 << 0,
4336 };
4337 Q_ENUM( PlotToolFlag )
4338 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
4339 Q_FLAG( PlotToolFlags )
4340
4348 enum class Map3DDebugFlag : int SIP_ENUM_BASETYPE( IntFlag )
4349 {
4350 ShowTerrainBoundingBoxes = 1 << 0,
4351 ShowTerrainTileInfo = 1 << 1,
4352 ShowCameraViewCenter = 1 << 2,
4353 ShowCameraRotationCenter = 1 << 3,
4354 ShowLightSourceOrigins = 1 << 4,
4355 ShowFPS = 1 << 5,
4356 ShowDebugPanel = 1 << 6,
4357 };
4358 Q_ENUM( Map3DDebugFlag )
4360 Q_FLAG( Map3DDebugFlags )
4361
4367 enum class Map3DProjectionType : int
4368 {
4369 Orthographic = 0,
4370 Perspective = 1,
4371 };
4372 Q_ENUM( Map3DProjectionType )
4373
4374
4381 enum class Point3DShape : int
4382 {
4383 Cylinder,
4384 Sphere,
4385 Cone,
4386 Cube,
4387 Torus,
4388 Plane,
4389 ExtrudedText,
4390 Model,
4391 Billboard,
4392 };
4393 Q_ENUM( Point3DShape )
4394
4395
4404 {
4405 Triangles,
4406 Lines,
4407 InstancedPoints,
4408 Points,
4409 TrianglesWithFixedTexture,
4410 TrianglesFromModel,
4411 TrianglesDataDefined,
4412 Billboards,
4413 };
4414 Q_ENUM( MaterialRenderingTechnique )
4415
4416
4421 enum class InstancedMaterialFlag : int SIP_ENUM_BASETYPE( IntFlag )
4422 {
4423 DataDefinedScale = 1 << 0,
4424 DataDefinedRotation = 1 << 1,
4425 };
4426 Q_ENUM( InstancedMaterialFlag )
4428 Q_FLAG( InstancedMaterialFlags )
4429
4435 enum class TextureFilterQuality : int
4436 {
4437 Trilinear,
4438 Anisotropic2x,
4439 Anisotropic4x,
4440 Anisotropic8x,
4441 Anisotropic16x,
4442 };
4443 Q_ENUM( TextureFilterQuality )
4444
4445
4450 enum class ShadowQuality : int
4451 {
4452 Low,
4453 Medium,
4454 High,
4455 VeryHigh,
4456 Extreme,
4457 };
4458 Q_ENUM( ShadowQuality )
4459
4460
4465 enum class LightSourceType : int
4466 {
4467 Point,
4468 Directional,
4469 Sun,
4470 };
4471 Q_ENUM( LightSourceType )
4472
4473
4477 enum class Map3DBackgroundType : int
4478 {
4479 NoBackground,
4480 FixedGradientBackground,
4481 DistinctTextureSkybox,
4482 };
4483 Q_ENUM( Map3DBackgroundType )
4484
4485
4490 enum class SkyboxCubeMapping : int
4491 {
4492 NativeZUp,
4493 OpenGLYUp,
4494 GodotYUp,
4495 UnrealEngineZUp,
4496 LeftHandedYUpMirrored,
4497 };
4498 Q_ENUM( SkyboxCubeMapping )
4499
4500
4505 enum class NavigationMode : int
4506 {
4507 TerrainBased,
4508 Walk,
4509 GlobeTerrainBased
4510 };
4511 Q_ENUM( NavigationMode )
4512
4513
4518 enum class SceneMode : int
4519 {
4520 Local,
4521 Globe
4522 };
4523 Q_ENUM( SceneMode )
4524
4525
4530 enum class VerticalAxisInversion : int SIP_ENUM_BASETYPE( IntFlag )
4531 {
4532 WhenRotatingDragging = 1 << 0,
4533 WhenRotatingCaptured = 1 << 1,
4534 WhenPivoting = 1 << 2,
4535
4536 // Legacy aliases for old flying-only enum:
4537
4538 Never = WhenRotatingDragging | WhenRotatingCaptured | WhenPivoting,
4539 WhenDragging = WhenRotatingCaptured | WhenPivoting,
4540 Always = WhenPivoting,
4541 };
4542 Q_ENUM( VerticalAxisInversion )
4545
4552 enum class ToneMappingMethod : int
4553 {
4554 Clamp,
4555 Aces,
4556 };
4557 Q_ENUM( ToneMappingMethod )
4558
4559
4564 enum class Export3DSceneFormat : int
4565 {
4566 Obj,
4567 StlAscii
4568 };
4569 Q_ENUM( Export3DSceneFormat )
4570
4571
4577 {
4578 Line,
4579 FillBelow,
4580 FillAbove,
4581 };
4583
4589 enum class VectorProfileType : int
4590 {
4591 IndividualFeatures,
4592 ContinuousSurface,
4593 };
4595
4601 enum class PointCloudProfileType : int
4602 {
4603 IndividualPoints,
4604 TriangulatedSurface,
4605 };
4607
4613 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
4614 {
4615 RespectsMaximumErrorMapUnit = 1 << 0,
4616 RespectsDistanceRange = 1 << 1,
4617 RespectsElevationRange = 1 << 2,
4618 };
4619 Q_ENUM( ProfileGeneratorFlag )
4621 Q_FLAG( ProfileGeneratorFlags )
4622
4628 enum class ProfileExportType : int
4629 {
4630 Features3D,
4631 Profile2D,
4632 DistanceVsElevationTable,
4633 };
4635
4642 {
4643 Square,
4644 Circle,
4645 };
4646 Q_ENUM( PointCloudSymbol )
4647
4648
4654 {
4655 Default,
4656 BottomToTop,
4657 TopToBottom,
4658 };
4659 Q_ENUM( PointCloudDrawOrder )
4660
4661
4669 {
4670 AllowIntersections,
4671 AvoidIntersectionsCurrentLayer,
4672 AvoidIntersectionsLayers,
4673 };
4674 Q_ENUM( AvoidIntersectionsMode )
4675
4676
4684 {
4685 Qgz,
4686 Qgs,
4687 };
4688 Q_ENUM( ProjectFileFormat )
4689
4690
4698 {
4699 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers )
4700 = 1 << 0,
4701 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts )
4702 = 1 << 1,
4703 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata )
4704 = 1 << 2,
4705 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
4706 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
4707 DontLoadProjectStyles = 1 << 5,
4708 ForceReadOnlyLayers = 1 << 6,
4709 DontUpgradeAnnotations = 1 << 7,
4710 };
4711 Q_ENUM( ProjectReadFlag )
4712
4713
4721 Q_FLAG( ProjectReadFlags )
4722
4731 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
4732 {
4733 ProjectStyles = 1 << 0,
4734 };
4735 Q_ENUM( ProjectCapability )
4736
4737
4743 Q_FLAG( ProjectCapabilities )
4744
4751 {
4752 Vector,
4753 Raster,
4754 RasterDem,
4755 GeoJson,
4756 Image,
4757 Video,
4758 Unknown,
4759 };
4760 Q_ENUM( MapBoxGlStyleSourceType )
4761
4762
4770 {
4771 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
4772 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
4773 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
4774 GlobeServer,
4775 GPServer,
4776 GeocodeServer,
4777 Unknown,
4778 SceneServer,
4779 };
4780 Q_ENUM( ArcGisRestServiceType )
4781
4782
4791 {
4792 Map = 1 << 0,
4793 Query = 1 << 1,
4794 Update = 1 << 2,
4795 Delete = 1 << 3,
4796 Create = 1 << 4,
4797 Image = 1 << 5,
4798 TilesOnly = 1 << 6,
4799 };
4800 Q_ENUM( ArcGisRestServiceCapability )
4801
4802
4809
4818 {
4819 Normal,
4820 Generated,
4821 };
4822 Q_ENUM( RelationshipType )
4823
4824
4832 {
4833 Association,
4834 Composition,
4835 };
4836 Q_ENUM( RelationshipStrength )
4837
4838
4844 {
4845 OneToOne,
4846 OneToMany,
4847 ManyToOne,
4848 ManyToMany,
4849 };
4850 Q_ENUM( RelationshipCardinality )
4851
4852
4857 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
4858 {
4859 MultipleFieldKeys = 1 << 0,
4860 ForwardPathLabel = 1 << 1,
4861 BackwardPathLabel = 1 << 2,
4862 };
4863 Q_ENUM( RelationshipCapability )
4864
4865
4871 Q_FLAG( RelationshipCapabilities )
4872
4878 enum class CoordinateDisplayType : int
4879 {
4880 MapCrs,
4881 MapGeographic,
4882 CustomCrs,
4883 };
4884 Q_ENUM( CoordinateDisplayType )
4885
4886
4891 enum class SettingsOrigin : int
4892 {
4893 Any,
4894 Global,
4895 Local,
4896 };
4897 Q_ENUM( SettingsOrigin )
4898
4899
4904 enum class ScriptLanguage : int
4905 {
4906 Css,
4907 QgisExpression,
4908 Html,
4909 JavaScript,
4910 Json,
4911 Python,
4912 R,
4913 Sql,
4914 Batch,
4915 Bash,
4916 Unknown,
4917 };
4918 Q_ENUM( ScriptLanguage )
4919
4920
4928 {
4929 Reformat = 1 << 0,
4930 CheckSyntax = 1 << 1,
4931 ToggleComment = 1 << 2,
4932 };
4933 Q_ENUM( ScriptLanguageCapability )
4934
4935
4942
4949 {
4950 AboveInsertionPoint,
4951 TopOfTree,
4952 OptimalInInsertionGroup,
4953 };
4954 Q_ENUM( LayerTreeInsertionMethod )
4955
4956
4962 {
4963 LayerProperties = 0,
4964 AttributeTable = 1,
4965 LayerStyling = 2,
4966 };
4967 Q_ENUM( LegendLayerDoubleClickAction )
4968
4969
4974 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
4975 {
4976 SkipVisibilityCheck = 1 << 0,
4977 };
4978 Q_ENUM( LayerTreeFilterFlag )
4979
4980
4986 Q_FLAG( LayerTreeFilterFlags )
4987
4993 enum class MapLayerLegendFlag : int SIP_ENUM_BASETYPE( IntFlag )
4994 {
4995 ExcludeByDefault = 1 << 0,
4996 };
4997 Q_ENUM( MapLayerLegendFlag )
4998
4999
5005 Q_FLAG( MapLayerLegendFlags )
5006
5015 {
5016 Undefined,
5017 Hidden,
5018 Title,
5019 Group,
5020 Subgroup,
5021 Symbol,
5022 SymbolLabel,
5023 };
5024 // !!! WARNING: If adding new values to this enum, make sure you update QgsLegendSettings constructor accordingly!!
5025 Q_ENUM( LegendComponent )
5026
5027
5032 enum class LegendSyncMode : int
5033 {
5034 AllProjectLayers,
5035 VisibleLayers,
5036 Manual,
5037 };
5038 Q_ENUM( LegendSyncMode )
5039
5040
5047 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
5048 {
5049 ShowRuleDetails = 1 << 0,
5050 };
5051 Q_ENUM( LegendJsonRenderFlag )
5053 Q_FLAG( LegendJsonRenderFlags )
5054
5060 enum class GeoJsonProfile : int
5061 {
5062 Legacy,
5063 Rfc7946,
5064 JsonFg,
5065 JsonFgPlus,
5066 };
5067 Q_ENUM( GeoJsonProfile )
5068
5069
5076 enum class ActionType : int
5077 {
5078 Invalid,
5079 MapLayerAction,
5080 AttributeAction
5081 };
5082 Q_ENUM( ActionType )
5083
5084
5091 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
5092 {
5093 Layer = 1 << 0,
5094 SingleFeature = 1 << 1,
5095 MultipleFeatures = 1 << 2,
5096 AllActions = Layer | SingleFeature | MultipleFeatures
5097 };
5098 Q_ENUM( MapLayerActionTarget )
5099
5100
5108 Q_FLAG( MapLayerActionTargets )
5109
5117 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
5118 {
5119 EnabledOnlyWhenEditable = 1 << 1,
5120 EnableOnlyWhenHasGeometry = 1 << 2,
5121 };
5122 Q_ENUM( MapLayerActionFlag )
5123
5124
5132 Q_FLAG( MapLayerActionFlags )
5133
5142 {
5143 Generic,
5144 GenericPython,
5145 Mac,
5146 Windows,
5147 Unix,
5148 OpenUrl,
5149 SubmitUrlEncoded,
5150 SubmitUrlMultipart,
5151 };
5152 Q_ENUM( AttributeActionType )
5153
5154
5160 {
5161 Created,
5162 Published,
5163 Revised,
5164 Superseded,
5165 };
5166 Q_ENUM( MetadataDateType )
5167
5168
5177
5179 {
5180 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
5181 GrayIndex = 1,
5182 PaletteIndex = 2,
5183 RedBand = 3,
5184 GreenBand = 4,
5185 BlueBand = 5,
5186 AlphaBand = 6,
5187 HueBand = 7,
5188 SaturationBand = 8,
5189 LightnessBand = 9,
5190 CyanBand = 10,
5191 MagentaBand = 11,
5192 YellowBand = 12,
5193 BlackBand = 13,
5194 YCbCr_YBand = 14,
5195 YCbCr_CbBand = 15,
5196 YCbCr_CrBand = 16,
5197 ContinuousPalette = 17,
5198
5199 // Note: values between PanBand and SAR_P_Band match additions done in
5200 // GDAL 3.10, except that the numeric values of the constant don't match GDAL ones
5201
5202 PanBand = 18,
5203 CoastalBand = 19,
5204 RedEdgeBand = 20,
5205 NIRBand = 21,
5206 SWIRBand = 22,
5207 MWIRBand = 23,
5208 LWIRBand = 24,
5209 TIRBand = 25,
5210 OtherIRBand = 26,
5211 SAR_Ka_Band = 27,
5212 SAR_K_Band = 28,
5213 SAR_Ku_Band = 30,
5214 SAR_X_Band = 31,
5215 SAR_C_Band = 32,
5216 SAR_S_Band = 33,
5217 SAR_L_Band = 34,
5218 SAR_P_Band = 35,
5219 };
5220 Q_ENUM( RasterColorInterpretation )
5221
5222
5230 {
5231 GrayOrUndefined,
5232 Palette,
5233 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
5234 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
5235 };
5236 Q_ENUM( RasterLayerType )
5237
5238
5246 {
5247 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
5248 SingleBandGray,
5249 SingleBandPseudoColor,
5250 PalettedColor,
5251 PalettedSingleBandGray,
5252 PalettedSingleBandPseudoColor,
5253 PalettedMultiBandColor,
5254 MultiBandSingleBandGray,
5255 MultiBandSingleBandPseudoColor,
5256 MultiBandColor,
5257 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
5258 };
5259 Q_ENUM( RasterDrawingStyle )
5260
5261
5268 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
5269 {
5270 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
5271 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
5272 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
5273 };
5274 Q_ENUM( RasterPyramidFormat )
5275
5276
5284 {
5285 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
5286 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
5287 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
5288 };
5289 Q_ENUM( RasterBuildPyramidOption )
5290
5291
5299 {
5300 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
5301 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
5302 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
5303 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
5304 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
5305 };
5306 Q_ENUM( RasterIdentifyFormat )
5307
5308 // TODO QGIS 5 -- remove NoCapabilities and rely on RasterInterfaceCapabilities() instead
5309 // remove deprecated members
5310 // Remove "Identify" member, and replace with combinations of IdentifyValue/IdentifyText/etc
5311
5312
5320 {
5321 NoCapabilities = 0,
5322 Size = 1 << 1,
5323 Create = 1 << 2,
5324 Remove = 1 << 3,
5325 BuildPyramids = 1 << 4,
5326 Identify = 1 << 5,
5327 IdentifyValue = 1 << 6,
5328 IdentifyText = 1 << 7,
5329 IdentifyHtml = 1 << 8,
5330 IdentifyFeature = 1 << 9,
5331 Prefetch = 1 << 10,
5332 };
5333 Q_ENUM( RasterInterfaceCapability )
5334
5335
5342
5343 // TODO QGIS 5 -- remove NoProviderCapabilities and rely on RasterProviderCapabilities() instead
5344
5353 {
5354 NoProviderCapabilities = 0,
5355 ReadLayerMetadata = 1 << 1,
5356 WriteLayerMetadata = 1 << 2,
5357 ProviderHintBenefitsFromResampling = 1 << 3,
5358 ProviderHintCanPerformProviderResampling = 1 << 4,
5359 ReloadData = 1 << 5,
5360 DpiDependentData = 1 << 6,
5361 NativeRasterAttributeTable = 1 << 7,
5362 BuildPyramids = 1 << 8,
5363 };
5364 Q_ENUM( RasterProviderCapability )
5365
5366
5375
5382 {
5383 HighestElevation,
5384 NewerElevation,
5385 };
5386 Q_ENUM( ElevationMapCombineMethod )
5387
5388
5397 {
5398 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
5399 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
5400 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
5401 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
5402 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
5403 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
5404 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
5406 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
5407 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
5408 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
5409 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
5410 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
5411 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
5412 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
5413 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
5414 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
5415 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
5416 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
5417 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
5418 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
5419 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
5420 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
5422 };
5423 Q_ENUM( BlendMode )
5424
5425
5433 {
5434 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
5435 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
5436 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
5437 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
5438 };
5439 Q_ENUM( SystemOfMeasurement )
5440
5441
5448 {
5449 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
5450 Pixels,
5451 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
5452 };
5453 Q_ENUM( MapToolUnit )
5454
5455
5463 {
5464 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
5466 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
5467 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
5468 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
5469 };
5470 Q_ENUM( UnitType )
5471
5472
5480 {
5481 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
5482 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
5483 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
5484 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
5485 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
5486 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
5487 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
5488 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
5489 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
5490 Inches,
5491 ChainsInternational,
5492 ChainsBritishBenoit1895A,
5493 ChainsBritishBenoit1895B,
5494 ChainsBritishSears1922Truncated,
5495 ChainsBritishSears1922,
5496 ChainsClarkes,
5497 ChainsUSSurvey,
5498 FeetBritish1865,
5499 FeetBritish1936,
5500 FeetBritishBenoit1895A,
5501 FeetBritishBenoit1895B,
5502 FeetBritishSears1922Truncated,
5503 FeetBritishSears1922,
5504 FeetClarkes,
5505 FeetGoldCoast,
5506 FeetIndian,
5507 FeetIndian1937,
5508 FeetIndian1962,
5509 FeetIndian1975,
5510 FeetUSSurvey,
5511 LinksInternational,
5512 LinksBritishBenoit1895A,
5513 LinksBritishBenoit1895B,
5514 LinksBritishSears1922Truncated,
5515 LinksBritishSears1922,
5516 LinksClarkes,
5517 LinksUSSurvey,
5518 YardsBritishBenoit1895A,
5519 YardsBritishBenoit1895B,
5520 YardsBritishSears1922Truncated,
5521 YardsBritishSears1922,
5522 YardsClarkes,
5523 YardsIndian,
5524 YardsIndian1937,
5525 YardsIndian1962,
5526 YardsIndian1975,
5527 MilesUSSurvey,
5528 Fathoms,
5529 MetersGermanLegal,
5530 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
5531 };
5532 Q_ENUM( DistanceUnit )
5533
5534
5542 {
5543 Standard,
5544 Geographic,
5545 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
5546 };
5547 Q_ENUM( DistanceUnitType )
5548
5549
5557 {
5558 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
5559 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
5560 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
5561 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
5562 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
5563 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
5564 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
5565 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
5566 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
5567 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
5568 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
5569 SquareInches,
5570 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
5571 };
5572 Q_ENUM( AreaUnit )
5573
5574
5582 {
5583 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
5584 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
5585 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
5586 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
5587 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
5588 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
5589 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
5590 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
5591 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
5592 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
5593 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
5594 };
5595 Q_ENUM( VolumeUnit )
5596
5597
5605 {
5606 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
5607 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
5609 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
5610 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
5612 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
5613 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
5614 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
5615 };
5616 Q_ENUM( AngleUnit )
5617
5618
5626 {
5627 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
5628 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
5629 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
5630 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
5631 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
5632 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
5633 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
5634 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
5635 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
5636 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
5637 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
5638 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
5639 };
5640 Q_ENUM( TemporalUnit )
5641
5642
5650 {
5651 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
5652 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
5653 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
5654 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
5655 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
5656 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
5657 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
5658 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
5659 };
5660 Q_ENUM( RenderUnit )
5661
5662
5670 {
5671 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
5672 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
5673 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
5674 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
5675 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
5676 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
5677 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
5678 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
5679 };
5680 Q_ENUM( LayoutUnit )
5681
5682
5690 {
5691 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
5692 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
5693 };
5694 Q_ENUM( LayoutUnitType )
5695
5696
5704 {
5705 Debug SIP_MONKEYPATCH_COMPAT_NAME( FlagDebug ) = 1 << 1,
5706 OutlineOnly SIP_MONKEYPATCH_COMPAT_NAME( FlagOutlineOnly ) = 1 << 2,
5707 Antialiasing SIP_MONKEYPATCH_COMPAT_NAME( FlagAntialiasing ) = 1 << 3,
5708 UseAdvancedEffects SIP_MONKEYPATCH_COMPAT_NAME( FlagUseAdvancedEffects ) = 1 << 4,
5709 ForceVectorOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagForceVectorOutput )
5710 = 1 << 5,
5711 HideCoverageLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagHideCoverageLayer ) = 1 << 6,
5712 DrawSelection SIP_MONKEYPATCH_COMPAT_NAME( FlagDrawSelection ) = 1 << 7,
5713 DisableTiledRasterLayerRenders SIP_MONKEYPATCH_COMPAT_NAME( FlagDisableTiledRasterLayerRenders )
5714 = 1 << 8,
5715 RenderLabelsByMapLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagRenderLabelsByMapLayer )
5716 = 1 << 9,
5717 LosslessImageRendering SIP_MONKEYPATCH_COMPAT_NAME( FlagLosslessImageRendering )
5718 = 1 << 10,
5719 SynchronousLegendGraphics SIP_MONKEYPATCH_COMPAT_NAME( FlagSynchronousLegendGraphics ) = 1 << 11,
5720 AlwaysUseGlobalMasks SIP_MONKEYPATCH_COMPAT_NAME( FlagAlwaysUseGlobalMasks )
5721 = 1 << 12,
5722 LimitCoverageLayerRenderToCurrentFeature = 1 << 13,
5723 };
5724 Q_ENUM( LayoutRenderFlag )
5725
5726
5734 Q_FLAG( LayoutRenderFlags )
5735
5744 {
5745 SVG SIP_MONKEYPATCH_COMPAT_NAME( FormatSVG ) = 0,
5746 Raster SIP_MONKEYPATCH_COMPAT_NAME( FormatRaster ),
5747 Unknown SIP_MONKEYPATCH_COMPAT_NAME( FormatUnknown ),
5748 };
5749 Q_ENUM( PictureFormat )
5750
5751
5756 enum class ScaleCalculationMethod : int
5757 {
5758 HorizontalTop = 0,
5759 HorizontalMiddle,
5760 HorizontalBottom,
5761 HorizontalAverage,
5762 AtEquator,
5763 };
5764 Q_ENUM( ScaleCalculationMethod )
5765
5766
5779 Q_ENUM( ScaleBarAlignment )
5780
5781
5789 {
5790 Fixed SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFixed ) = 0,
5791 FitWidth SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFitWidth ) = 1
5792 };
5793 Q_ENUM( ScaleBarSegmentSizeMode )
5794
5795
5803 {
5804 AboveSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelAboveSegment ) = 0,
5805 BelowSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelBelowSegment ),
5806 };
5807 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
5808
5809
5817 {
5818 CenteredEdge SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredEdge ) = 0,
5819 CenteredSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredSegment ),
5820 };
5821 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
5822
5823
5824
5832 {
5833 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( MapUnit ),
5836 DynamicPageSizeBased,
5837 };
5838 Q_ENUM( MapGridUnit )
5839
5840
5848 {
5849 Lines SIP_MONKEYPATCH_COMPAT_NAME( Solid ) = 0,
5850 LineCrosses SIP_MONKEYPATCH_COMPAT_NAME( Cross ),
5851 Markers,
5852 FrameAndAnnotationsOnly SIP_MONKEYPATCH_COMPAT_NAME( FrameAnnotationsOnly )
5853 };
5854 Q_ENUM( MapGridStyle )
5855
5856
5864 {
5865 ShowAll = 0,
5866 LatitudeOnly,
5867 LongitudeOnly,
5868 HideAll
5869 };
5870 Q_ENUM( MapGridComponentVisibility )
5871
5872
5880 {
5881 InsideMapFrame = 0,
5882 OutsideMapFrame,
5883 };
5884 Q_ENUM( MapGridAnnotationPosition )
5885
5886
5894 {
5895 Horizontal = 0,
5896 Vertical,
5897 VerticalDescending,
5898 BoundaryDirection,
5899 AboveTick,
5900 OnTick,
5901 UnderTick,
5902 };
5903 Q_ENUM( MapGridAnnotationDirection )
5904
5905
5913 {
5914 Decimal = 0,
5915 DegreeMinute,
5916 DegreeMinuteSecond,
5917 DecimalWithSuffix,
5918 DegreeMinuteNoSuffix,
5919 DegreeMinutePadded,
5920 DegreeMinuteSecondNoSuffix,
5921 DegreeMinuteSecondPadded,
5922 CustomFormat
5923 };
5924 Q_ENUM( MapGridAnnotationFormat )
5925
5926
5940 Q_ENUM( MapGridBorderSide )
5941
5942
5950 {
5951 NoFrame = 0,
5952 Zebra,
5953 InteriorTicks,
5954 ExteriorTicks,
5955 InteriorExteriorTicks,
5956 LineBorder,
5957 LineBorderNautical,
5958 ZebraNautical,
5959 };
5960 Q_ENUM( MapGridFrameStyle )
5961
5962
5970 {
5971 OrthogonalTicks = 0,
5972 NormalizedTicks,
5973 };
5974 Q_ENUM( MapGridTickLengthMode )
5975
5976
5977
5985 {
5986 Left SIP_MONKEYPATCH_COMPAT_NAME( FrameLeft ) = 0x01,
5987 Right SIP_MONKEYPATCH_COMPAT_NAME( FrameRight ) = 0x02,
5988 Top SIP_MONKEYPATCH_COMPAT_NAME( FrameTop ) = 0x04,
5989 Bottom SIP_MONKEYPATCH_COMPAT_NAME( FrameBottom ) = 0x08
5990 };
5991 Q_ENUM( MapGridFrameSideFlag )
5992
5993
6001 Q_FLAG( MapGridFrameSideFlags )
6002
6011 {
6012 Longitude = 0,
6013 Latitude
6014 };
6015 Q_ENUM( MapGridAnnotationType )
6016
6017
6022 enum class InputControllerType : int
6023 {
6024 Map2D,
6025 Map3D
6026 };
6028
6035 {
6036 NotSet,
6037 Unknown,
6038 OrdinaryTable,
6039 Index,
6040 Sequence,
6041 View,
6042 MaterializedView,
6043 CompositeType,
6044 ToastTable,
6045 ForeignTable,
6046 PartitionedTable,
6047 };
6048 Q_ENUM( PostgresRelKind )
6049
6050
6056 {
6057 SetFieldComment = 1 << 0,
6058 SetFieldAlias = 1 << 1,
6059 SetTableComment = 1 << 2,
6060 EditFieldDomain = 1 << 3,
6061 DeleteFieldDomain = 1 << 4,
6062 };
6063 Q_ENUM( DatabaseProviderConnectionCapability2 )
6066
6073 {
6074 SetGeometryColumnName = 1 << 0,
6075 SetPrimaryKeyName = 1 << 1,
6076 };
6077 Q_ENUM( DatabaseProviderTableImportCapability )
6080
6087 {
6088 SaveToDatabase = 1 << 1,
6089 LoadFromDatabase = 1 << 2,
6090 DeleteFromDatabase = 1 << 3
6091 };
6095
6096
6102 {
6103 LastProfile,
6104 DefaultProfile,
6105 AskUser,
6106 };
6107 Q_ENUM( UserProfileSelectionPolicy )
6108
6109
6117 {
6118 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
6119 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
6120 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
6121 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
6122 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
6123 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
6124 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
6125 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
6126 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
6127 };
6128 Q_ENUM( AttributeEditorType )
6129
6130
6136 {
6137 GroupBox,
6138 Tab,
6139 Row,
6140 };
6141 Q_ENUM( AttributeEditorContainerType )
6142
6143
6151 {
6152 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
6153 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
6154 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
6155 };
6156 Q_ENUM( AttributeFormLayout )
6157
6158
6166 {
6167 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
6168 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
6169 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
6170 };
6171 Q_ENUM( AttributeFormSuppression )
6172
6173
6181 {
6182 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
6183 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
6184 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
6185 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
6186 };
6187 Q_ENUM( AttributeFormPythonInitCodeSource )
6188
6189
6195 {
6196 NotAllowed = 0,
6197 AllowedDefaultOn = 1,
6198 AllowedDefaultOff = 2,
6199 };
6200 Q_ENUM( AttributeFormReuseLastValuePolicy )
6201
6202
6208 {
6210 PointCloud,
6211 RasterCalculator,
6212 };
6213 Q_ENUM( ExpressionType )
6214
6215
6223 {
6224 NoSymbology = 0,
6225 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
6226 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
6227 };
6228 Q_ENUM( FeatureSymbologyExport )
6229
6230
6235 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
6236 {
6237 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
6238 };
6239 Q_ENUM( VectorTileProviderFlag )
6240
6241
6247 Q_FLAG( VectorTileProviderFlags )
6248
6254 {
6255 ReadLayerMetadata = 1 << 1,
6256 };
6257 Q_ENUM( VectorTileProviderCapability )
6258
6259
6266
6273 {
6274 Available,
6275 NotAvailable,
6276 AvailableNoChildren,
6277 UseLowerZoomLevelTile,
6278 };
6279 Q_ENUM( TileAvailability )
6280
6281
6287 {
6288 ReadLayerMetadata = 1 << 1,
6289 };
6290 Q_ENUM( TiledSceneProviderCapability )
6291
6292
6299
6306 {
6307 Region,
6308 OrientedBox,
6309 Sphere,
6310 };
6311 Q_ENUM( TiledSceneBoundingVolumeType )
6312
6313
6322 {
6323 Replacement,
6324 Additive,
6325 };
6326 Q_ENUM( TileRefinementProcess )
6327
6328
6334 {
6335 NoChildren,
6336 Available,
6337 NeedFetching,
6338 };
6339 Q_ENUM( TileChildrenAvailability )
6340
6341
6346 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
6347 {
6348 NoHierarchyFetch = 1 << 0,
6349 };
6350 Q_ENUM( TiledSceneRequestFlag )
6351
6352
6358 Q_FLAG( TiledSceneRequestFlags )
6359
6365 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
6366 {
6367 RequiresTextures = 1 << 0,
6368 ForceRasterRender = 1 << 1,
6369 RendersTriangles = 1 << 2,
6370 RendersLines = 1 << 3,
6371 };
6372 Q_ENUM( TiledSceneRendererFlag )
6373
6374
6380 Q_FLAG( TiledSceneRendererFlags )
6381
6387 enum class GdalResampleAlgorithm : int
6388 {
6389 RA_NearestNeighbour = 0,
6390 RA_Bilinear = 1,
6391 RA_Cubic = 2,
6392 RA_CubicSpline = 3,
6393 RA_Lanczos = 4,
6394 RA_Average = 5,
6395 RA_Mode = 6,
6396 RA_Max = 8,
6397 RA_Min = 9,
6398 RA_Median = 10,
6399 RA_Q1 = 11,
6400 RA_Q3 = 12,
6401 };
6402 Q_ENUM( GdalResampleAlgorithm )
6403
6404
6409 enum class VsiHandlerType : int
6410 {
6411 Invalid,
6412 Archive,
6413 Network,
6414 Cloud,
6415 Memory,
6416 Other,
6417 };
6418 Q_ENUM( VsiHandlerType )
6419
6420 // TODO QGIS 5: make All include all values (we can't do this before 4.0, as we need to keep
6421 // compatibility with code which expects all these statistics to give numeric results)
6422
6423
6428 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
6429 {
6430 Count = 1 << 0,
6431 Sum = 1 << 1,
6432 Mean = 1 << 2,
6433 Median = 1 << 3,
6434 StDev = 1 << 4,
6435 Min = 1 << 5,
6436 Max = 1 << 6,
6437 Range = 1 << 7,
6438 Minority = 1 << 8,
6439 Majority = 1 << 9,
6440 Variety = 1 << 10,
6441 Variance = 1 << 11,
6442 MinimumPoint = 1 << 12,
6443 MaximumPoint = 1 << 13,
6444 // clang-format off
6445 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6446 // clang-format on
6447 AllNumeric = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6448 Default = Count | Sum | Mean,
6449 };
6450 Q_ENUM( ZonalStatistic )
6451
6452
6458 Q_FLAG( ZonalStatistics )
6459
6465 enum class ZonalStatisticResult : int
6466 {
6468 LayerTypeWrong = 1,
6469 LayerInvalid,
6470 RasterInvalid,
6471 RasterBandInvalid,
6472 FailedToCreateField = 8,
6473 Canceled = 9
6474 };
6475 Q_ENUM( ZonalStatisticResult )
6476
6477
6484 {
6485 Count,
6486 CountDistinct,
6487 CountMissing,
6488 Min,
6489 Max,
6490 Sum,
6491 Mean,
6492 Median,
6493 StDev,
6494 StDevSample,
6495 Range,
6496 Minority,
6497 Majority,
6498 FirstQuartile,
6499 ThirdQuartile,
6500 InterQuartileRange,
6501 StringMinimumLength,
6502 StringMaximumLength,
6503 StringConcatenate,
6504 GeometryCollect,
6505 ArrayAggregate,
6506 StringConcatenateUnique
6507 };
6508 Q_ENUM( Aggregate )
6509
6510
6516 {
6517 Count = 1 << 0,
6518 CountMissing = 1 << 15,
6519 Sum = 1 << 1,
6520 Mean = 1 << 2,
6521 Median = 1 << 3,
6522 StDev = 1 << 4,
6523 StDevSample = 1 << 5,
6524 Min = 1 << 6,
6525 Max = 1 << 7,
6526 Range = 1 << 8,
6527 Minority = 1 << 9,
6528 Majority = 1 << 10,
6529 Variety = 1 << 11,
6530 FirstQuartile = 1 << 12,
6531 ThirdQuartile = 1 << 13,
6532 InterQuartileRange = 1 << 14,
6533 First = 1 << 16,
6534 Last = 1 << 17,
6535 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
6536 };
6537 Q_ENUM( Statistic )
6538
6539
6545 Q_FLAG( Statistics )
6546
6553 {
6554 Count = 1,
6555 CountDistinct = 2,
6556 CountMissing = 4,
6557 Min = 8,
6558 Max = 16,
6559 Range = 32,
6560 All = Count | CountDistinct | CountMissing | Min | Max | Range,
6561 };
6562 Q_ENUM( DateTimeStatistic )
6563
6564
6570 Q_FLAG( DateTimeStatistics )
6571
6578 {
6579 Count = 1,
6580 CountDistinct = 2,
6581 CountMissing = 4,
6582 Min = 8,
6583 Max = 16,
6584 MinimumLength = 32,
6585 MaximumLength = 64,
6586 MeanLength = 128,
6587 Minority = 256,
6588 Majority = 512,
6589 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
6590 };
6591 Q_ENUM( StringStatistic )
6592
6593
6599 Q_FLAG( StringStatistics )
6600
6607 {
6608 NoStatistic = 0,
6609 Min = 1,
6610 Max = 1 << 1,
6611 Range = 1 << 2,
6612 Sum = 1 << 3,
6613 Mean = 1 << 4,
6614 StdDev = 1 << 5,
6615 SumOfSquares = 1 << 6,
6616 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
6617 };
6618 Q_ENUM( RasterBandStatistic )
6619
6620
6626 Q_FLAG( RasterBandStatistics )
6627
6633 enum class SensorThingsVersion : int
6634 {
6635 Version1_1,
6636 Version2_0,
6637 };
6639
6645 enum class SensorThingsExtension : int SIP_ENUM_BASETYPE( IntFlag )
6646 {
6647 MultiDatastream = 1 << 0,
6648 SensingExtensionObservationsMeasurements = 1 << 1,
6649 SensingExtensionSampling = 1 << 2,
6650 SensingExtensionRelations = 1 << 3,
6651 };
6653
6660 Q_FLAG( SensorThingsExtensions )
6661
6662
6667 enum class SensorThingsEntity : int
6668 {
6669 Invalid,
6670 Thing,
6671 Location,
6672 HistoricalLocation,
6673 Datastream,
6674 Sensor,
6675 ObservedProperty,
6676 Observation,
6677 FeatureOfInterest,
6678 MultiDatastream,
6679 // version 2.0
6680 Feature,
6681 FeatureType,
6682 Deployment,
6683 ObservingProcedure,
6684 Sampling,
6685 SamplingProcedure,
6686 Sampler,
6687 PreparationStep,
6688 PreparationProcedure,
6689 ThingRelation,
6690 RelationRole,
6691 FeatureRelation,
6692 DatastreamRelation,
6693 ObservationRelation,
6694 };
6695 Q_ENUM( SensorThingsEntity )
6696
6697
6702 enum class ColorModel : int
6703 {
6704 Rgb,
6705 Cmyk,
6706 };
6707 Q_ENUM( ColorModel )
6708
6709
6714 enum class DocumentationApi : int
6715 {
6716 PyQgis,
6717 PyQgisSearch,
6718 CppQgis,
6719 Qt,
6720 };
6721 Q_ENUM( DocumentationApi )
6722
6723
6728 enum class DocumentationBrowser : int
6729 {
6730 DeveloperToolsPanel,
6731 SystemWebBrowser,
6732 };
6733 Q_ENUM( DocumentationBrowser )
6734
6735
6740 enum class MouseHandlesAction : int
6741 {
6742 MoveItem,
6743 ResizeUp,
6744 ResizeDown,
6745 ResizeLeft,
6746 ResizeRight,
6747 ResizeLeftUp,
6748 ResizeRightUp,
6749 ResizeLeftDown,
6750 ResizeRightDown,
6751 RotateTopLeft,
6752 RotateTopRight,
6753 RotateBottomLeft,
6754 RotateBottomRight,
6755 SelectItem,
6756 NoAction
6757 };
6758 Q_ENUM( MouseHandlesAction )
6759
6760
6764 enum class MeshRangeLimit : int
6765 {
6766 NotSet,
6767 MinimumMaximum,
6768 };
6769 Q_ENUM( MeshRangeLimit )
6770
6771
6776 enum class MeshRangeExtent : int
6777 {
6778 WholeMesh,
6779 FixedCanvas,
6780 UpdatedCanvas,
6781 };
6782 Q_ENUM( MeshRangeExtent )
6783
6784
6790 enum class PointCloudAccessType : int
6791 {
6792 Local,
6793 Remote
6794 };
6795 Q_ENUM( PointCloudAccessType )
6796
6797
6802 {
6803 RenderExtents,
6804 RenderOverview,
6805 RenderOverviewAndExtents
6806 };
6807 Q_ENUM( PointCloudZoomOutRenderBehavior )
6808
6809
6814 {
6815 Standard = 0,
6816 Adaptive,
6817 AreaError,
6818 ConstantDensity
6819 };
6820 Q_ENUM( SegmentCalculationMethod )
6821
6822
6826 enum class StacObjectType : int
6827 {
6828 Unknown,
6829 Catalog,
6830 Collection,
6831 Item,
6832 };
6833 Q_ENUM( StacObjectType )
6834
6835
6840 {
6841 WmsScale = 1 << 0,
6842 WmsDpi = 1 << 1,
6843 };
6844 Q_ENUM( RasterProcessingParameterCapability )
6845
6846
6852
6858 {
6859 Status = Qt::UserRole + 1,
6860 Id,
6861 ElapsedTime,
6862 MaximumTime,
6863 Sort,
6864 };
6865 Q_ENUM( DevToolsNodeRole )
6866
6867
6872 enum class ExtrusionFace : int SIP_ENUM_BASETYPE( IntFlag )
6873 {
6874 NoFace = 0,
6875 Walls = 1 << 0,
6876 Roof = 1 << 1,
6877 Floor = 1 << 2
6878 };
6879 Q_ENUM( ExtrusionFace )
6880
6881
6885 Q_DECLARE_FLAGS( ExtrusionFaces, ExtrusionFace )
6886 Q_FLAG( ExtrusionFaces )
6887
6892 enum class TriangulationAlgorithm : int SIP_ENUM_BASETYPE( IntFlag )
6893 {
6894 ConstrainedDelaunay = 0,
6895 Earcut = 1 << 0
6896 };
6897 Q_ENUM( TriangulationAlgorithm )
6898
6899
6910 enum class WmsGroupRequestMode : int
6911 {
6912 Normal,
6913 Opaque,
6914 };
6915 Q_ENUM( WmsGroupRequestMode )
6916
6917
6923 {
6924 RestorePreviousState,
6925 ForceDocked,
6926 ForceDialog,
6927 };
6928 Q_ENUM( DockableWidgetInitialState )
6929
6930
6936 {
6937 LongestBorder = 0,
6938 MaximumArea = 1,
6939 MinimumArea = 2,
6940 MinimumIndex = 3,
6941 };
6942 Q_ENUM( CoverageCleanOverlapMergeStrategy )
6943
6944
6949 enum class PdfRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
6950 {
6951 RenderTextAsText = 1 << 0,
6952 };
6953 Q_ENUM( PdfRenderFlag )
6954
6955
6960 Q_DECLARE_FLAGS( PdfRenderFlags, PdfRenderFlag )
6961 Q_FLAG( PdfRenderFlags )
6962
6966 static const double DEFAULT_SEARCH_RADIUS_MM;
6967
6970
6976 static const QColor DEFAULT_HIGHLIGHT_COLOR;
6977
6981 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
6982
6987
6995 Q_DECL_DEPRECATED static const double SCALE_PRECISION;
6996
7001 static const double DEFAULT_Z_COORDINATE;
7002
7008 static const double DEFAULT_M_COORDINATE;
7009
7014 static const double UI_SCALE_FACTOR;
7015
7019 static const double DEFAULT_SNAP_TOLERANCE;
7020
7025
7029 static const int USER_CRS_START_ID;
7030
7032 static const double DEFAULT_POINT_SIZE;
7033
7035 static const double DEFAULT_LINE_WIDTH;
7036
7038 static const double DEFAULT_SEGMENT_EPSILON;
7039
7042
7045
7051 static QString defaultProjectScales();
7052
7058 static int geosVersionInt();
7059
7065 static int geosVersionMajor();
7066
7072 static int geosVersionMinor();
7073
7079 static int geosVersionPatch();
7080
7086 static QString geosVersion();
7087
7093 static bool hasSfcgal();
7094
7101 static int sfcgalVersionInt();
7102
7108 static bool hasGeographicLib();
7109
7116 static int geographicLibVersion();
7117
7123 Q_DECL_DEPRECATED static bool hasQtWebkit();
7124
7130 static QString geoNone() { return u"NONE"_s; }
7131
7137 static QString geographicCrsAuthId() { return u"EPSG:4326"_s; }
7138
7143 Q_DECL_DEPRECATED static QString geoWkt()
7144 {
7145 return QStringLiteral(
7146 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]] )"""
7147 );
7148 }
7149
7154 Q_DECL_DEPRECATED static QString geoProj4() { return u"+proj=longlat +datum=WGS84 +no_defs"_s; }
7155};
7156
7159
7259Q_DECLARE_METATYPE( QTimeZone )
7260
7261// hack to workaround warnings when casting void pointers
7262// retrieved from QLibrary::resolve to function pointers.
7263// It's assumed that this works on all systems supporting
7264// QLibrary
7265#define cast_to_fptr( f ) f
7266
7267
7275// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
7276template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
7277{
7278 public:
7283 explicit QgsSignalBlocker( Object *object )
7284 : mObject( object )
7285 , mPreviousState( object->blockSignals( true ) )
7286 {}
7287
7288 ~QgsSignalBlocker() { mObject->blockSignals( mPreviousState ); }
7289
7291 Object *operator->() { return mObject; }
7292
7293 private:
7294 Object *mObject = nullptr;
7295 bool mPreviousState;
7296};
7297
7310// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
7311template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
7312{
7313 return QgsSignalBlocker<Object>( object );
7314}
7315
7317CORE_EXPORT size_t qHash( const QVariant &variant );
7318
7324inline QString qgsDoubleToString( double a, int precision = 17 )
7325{
7326 QString str;
7327 if ( precision )
7328 {
7329 if ( precision < 0 )
7330 {
7331 const double roundFactor = std::pow( 10, -precision );
7332 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
7333 }
7334 else
7335 {
7336 str = QString::number( a, 'f', precision );
7337 if ( str.contains( '.'_L1 ) )
7338 {
7339 // remove ending 0s
7340 int idx = str.length() - 1;
7341 while ( str.at( idx ) == '0' && idx > 1 )
7342 {
7343 idx--;
7344 }
7345 if ( idx < str.length() - 1 )
7346 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
7347 }
7348 }
7349 }
7350 else
7351 {
7352 str = QString::number( a, 'f', precision );
7353 }
7354 // avoid printing -0
7355 // see https://bugreports.qt.io/browse/QTBUG-71439
7356 if ( str == "-0"_L1 )
7357 {
7358 return "0"_L1;
7359 }
7360 return str;
7361}
7362
7369inline bool qgsNanCompatibleEquals( double a, double b )
7370{
7371 if ( a == b )
7372 return true;
7373
7374 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7375 return true;
7376
7377 return false;
7378}
7379
7380#ifndef SIP_RUN
7381
7389template<typename T> inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
7390{
7391 static_assert( std::is_floating_point<T>::value, "qgsNumberNear requires floating-point types" );
7392
7393 if ( a == b )
7394 return true;
7395
7396 // if either 'a' or 'b' is NaN, 'diff' becomes NaN.
7397 // comparisons (>= or <=) against NaN evaluate to false, which will fallback
7398 // to the nan related logic at the end of this function
7399 const T diff = a - b;
7400 if ( diff >= -epsilon && diff <= epsilon )
7401 return true;
7402
7403 // defer expensive nan checks to last -- calling std::isnan is NOT cheap!
7404 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7405 return true;
7406
7407 return false;
7408}
7409#endif
7410
7417inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7418{
7419 return qgsNumberNear<double>( a, b, epsilon );
7420}
7421
7430inline bool qgsDoubleLessThanOrNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7431{
7432 // fast check first
7433 if ( a <= b )
7434 return true;
7435
7436 // => a > b
7437 // => a - b > 0
7438 // we only need to check the upper epsilon bound for the fuzzy equality
7439 if ( a - b <= epsilon )
7440 return true;
7441
7442 // defer expensive nan checks to last -- calling std::isnan is NOT cheap!
7443 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7444 return true;
7445
7446 return false;
7447}
7448
7457inline bool qgsDoubleGreaterThanOrNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7458{
7459 // fast check first
7460 if ( a >= b )
7461 return true;
7462
7463 // => a < b
7464 // => b - a > 0
7465 // we only need to check the upper epsilon bound for the fuzzy equality
7466 if ( b - a <= epsilon )
7467 return true;
7468
7469 // defer expensive nan checks to last -- calling std::isnan is NOT cheap!
7470 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7471 return true;
7472
7473 return false;
7474}
7475
7482inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
7483{
7484 return qgsNumberNear<float>( a, b, epsilon );
7485}
7486
7488inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
7489{
7490 const bool aIsNan = std::isnan( a );
7491 const bool bIsNan = std::isnan( b );
7492 if ( aIsNan || bIsNan )
7493 return aIsNan && bIsNan;
7494
7495 // The most simple would be to print numbers as %.xe and compare as strings
7496 // but that is probably too costly
7497 // Then the fastest would be to set some bits directly, but little/big endian
7498 // has to be considered (maybe TODO)
7499 // Is there a better way?
7500 int aexp, bexp;
7501 const double ar = std::frexp( a, &aexp );
7502 const double br = std::frexp( b, &bexp );
7503
7504 return aexp == bexp && std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
7505}
7506
7511inline double qgsRound( double number, int places )
7512{
7513 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
7514 const double scaleFactor = std::pow( 10.0, places );
7515 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
7516}
7517
7518#ifndef SIP_RUN
7519
7526template<class Key, class Value> QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
7527{
7528 QString result;
7529 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7530 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
7531
7532 result.chop( separator.size() );
7533 return result;
7534}
7535
7542template<class Key, class Value> QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
7543{
7544 QString result;
7545 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7546 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
7547
7548 result.chop( separator.size() );
7549 return result;
7550}
7551
7558template<class T> QString qgsSetJoin( const QSet<T> &set, const QString &separator )
7559{
7560 QString result;
7561 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
7562 result += QString( "%1%2" ).arg( *it ).arg( separator );
7563
7564 result.chop( separator.size() );
7565 return result;
7566}
7567
7569
7579namespace qgis
7580{
7581
7594 template<typename To, typename From> inline To down_cast( From *f )
7595 {
7596 static_assert( ( std::is_base_of<From, typename std::remove_pointer<To>::type>::value ), "target type not derived from source type" );
7597 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
7598 return static_cast<To>( f );
7599 }
7600
7601 template<class T> QSet<T> listToSet( const QList<T> &list )
7602 {
7603 return QSet<T>( list.begin(), list.end() );
7604 }
7605
7606 template<class T> QList<T> setToList( const QSet<T> &set )
7607 {
7608 return QList<T>( set.begin(), set.end() );
7609 }
7610} //namespace qgis
7611
7613#endif
7614
7619template<class T> const QList<T> qgsEnumList() SIP_SKIP
7620{
7621 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7622 Q_ASSERT( metaEnum.isValid() );
7623 QList<T> enumList;
7624 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7625 {
7626 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
7627 }
7628 return enumList;
7629}
7630
7636template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
7637{
7638 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7639 Q_ASSERT( metaEnum.isValid() );
7640 QMap<T, QString> enumMap;
7641 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7642 {
7643 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
7644 }
7645 return enumMap;
7646}
7647
7653template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7654{
7655 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7656 Q_ASSERT( metaEnum.isValid() );
7657 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
7658 if ( returnOk )
7659 {
7660 *returnOk = key ? true : false;
7661 }
7662 return QString::fromUtf8( key );
7663}
7664
7672template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7673{
7674 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7675 Q_ASSERT( metaEnum.isValid() );
7676 bool ok = false;
7677 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
7678 if ( returnOk )
7679 {
7680 *returnOk = ok;
7681 }
7682 if ( ok )
7683 {
7684 return v;
7685 }
7686 else
7687 {
7688 // if conversion has failed, try with conversion from int value
7689 if ( tryValueAsKey )
7690 {
7691 bool canConvert = false;
7692 const int intValue = key.toInt( &canConvert );
7693 if ( canConvert && metaEnum.valueToKey( intValue ) )
7694 {
7695 if ( returnOk )
7696 {
7697 *returnOk = true;
7698 }
7699 return static_cast<T>( intValue );
7700 }
7701 }
7702 }
7703 return defaultValue;
7704}
7705
7711template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7712{
7713 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7714 Q_ASSERT( metaEnum.isValid() );
7715 int intValue = static_cast<int>( value );
7716 if ( intValue == 0 )
7717 {
7718 if ( returnOk )
7719 *returnOk = true;
7720 return u"0"_s;
7721 }
7722
7723 const QByteArray ba = metaEnum.valueToKeys( intValue );
7724 // check that the int value does correspond to a flag
7725 // see https://stackoverflow.com/a/68495949/1548052
7726 const int intValueCheck = metaEnum.keysToValue( ba );
7727 bool ok = intValue == intValueCheck;
7728 if ( returnOk )
7729 *returnOk = ok;
7730 return ok ? QString::fromUtf8( ba ) : QString();
7731}
7732
7740template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7741{
7742 if ( keys.isEmpty() )
7743 {
7744 if ( returnOk )
7745 {
7746 *returnOk = false;
7747 }
7748 return defaultValue;
7749 }
7750 else if ( keys == "0"_L1 )
7751 {
7752 if ( returnOk )
7753 {
7754 *returnOk = true;
7755 }
7756 return T();
7757 }
7758 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7759 Q_ASSERT( metaEnum.isValid() );
7760 bool ok = false;
7761 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
7762 if ( returnOk )
7763 {
7764 *returnOk = ok;
7765 }
7766 if ( ok )
7767 {
7768 return v;
7769 }
7770 else
7771 {
7772 // if conversion has failed, try with conversion from int value
7773 if ( tryValueAsKey )
7774 {
7775 bool canConvert = false;
7776 const int intValue = keys.toInt( &canConvert );
7777 if ( canConvert )
7778 {
7779 const QByteArray keyArray = metaEnum.valueToKeys( intValue );
7780 const int intValueCheck = metaEnum.keysToValue( keyArray );
7781 if ( !keyArray.isEmpty() && intValue == intValueCheck )
7782 {
7783 if ( returnOk )
7784 {
7785 *returnOk = true;
7786 }
7787 return T( intValue );
7788 }
7789 }
7790 }
7791 }
7792 return defaultValue;
7793}
7794
7795
7804CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
7805
7814CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
7815
7825CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
7826
7846CORE_EXPORT int qgsVariantCompare( const QVariant &lhs, const QVariant &rhs, bool strictTypeCheck = false );
7847
7858CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
7859
7868CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
7869
7878CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
7879
7891inline bool operator>( const QVariant &v1, const QVariant &v2 )
7892{
7893 return qgsVariantCompare( v1, v2, true ) > 0;
7894}
7895
7907inline bool operator<( const QVariant &v1, const QVariant &v2 )
7908{
7909 return qgsVariantCompare( v1, v2, true ) < 0;
7910}
7911
7918Q_DECL_DEPRECATED CORE_EXPORT QString qgsVsiPrefix( const QString &path ) SIP_DEPRECATED;
7919
7925void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
7926
7931void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
7932
7933#ifndef SIP_RUN
7934
7936class ScopedIntIncrementor
7937{
7938 public:
7939 ScopedIntIncrementor( int *variable )
7940 : mVariable( variable )
7941 {
7942 ( *mVariable )++;
7943 }
7944
7945 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
7946 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
7947
7948 void release()
7949 {
7950 if ( mVariable )
7951 ( *mVariable )--;
7952
7953 mVariable = nullptr;
7954 }
7955
7956 ~ScopedIntIncrementor() { release(); }
7957
7958 private:
7959 int *mVariable = nullptr;
7960};
7962
7963#endif
7964
7970Q_DECL_DEPRECATED const long GEOSRID = 4326;
7971
7977Q_DECL_DEPRECATED const long GEOCRS_ID = 3452;
7978
7984Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID = 4326;
7985
7986typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
7987
7996typedef unsigned long long qgssize;
7997
7998#ifndef SIP_RUN
7999#if ( __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 6 ) ) || defined( __clang__ )
8000
8001#define Q_NOWARN_DEPRECATED_PUSH _Pragma( "GCC diagnostic push" ) _Pragma( "GCC diagnostic ignored \"-Wdeprecated-declarations\"" );
8002#define Q_NOWARN_DEPRECATED_POP _Pragma( "GCC diagnostic pop" );
8003#define Q_NOWARN_UNREACHABLE_PUSH
8004#define Q_NOWARN_UNREACHABLE_POP
8005
8006#elif defined( _MSC_VER )
8007
8008#define Q_NOWARN_DEPRECATED_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4996 ) )
8009#define Q_NOWARN_DEPRECATED_POP __pragma( warning( pop ) )
8010#define Q_NOWARN_UNREACHABLE_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4702 ) )
8011#define Q_NOWARN_UNREACHABLE_POP __pragma( warning( pop ) )
8012#else
8013
8014#define Q_NOWARN_DEPRECATED_PUSH
8015#define Q_NOWARN_DEPRECATED_POP
8016#define Q_NOWARN_UNREACHABLE_PUSH
8017#define Q_NOWARN_UNREACHABLE_POP
8018
8019#endif
8020#endif
8021
8022#ifndef QGISEXTERN
8023#ifdef Q_OS_WIN
8024#define QGISEXTERN extern "C" __declspec( dllexport )
8025#else
8026#if defined( __GNUC__ ) || defined( __clang__ )
8027#define QGISEXTERN extern "C" __attribute__( ( visibility( "default" ) ) )
8028#else
8029#define QGISEXTERN extern "C"
8030#endif
8031#endif
8032#endif
8033#endif
8034
8035#ifndef SIP_RUN
8036#ifdef _MSC_VER
8037#define BUILTIN_UNREACHABLE __assume( false );
8038#elif defined( __GNUC__ ) && !defined( __clang__ )
8039// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
8040// like:
8041// switch( mVariableThatCanOnlyBeXorY )
8042// {
8043// case X:
8044// return "foo";
8045// case Y:
8046// return "foo";
8047// }
8048// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
8049#define BUILTIN_UNREACHABLE __builtin_unreachable();
8050#else
8051#define BUILTIN_UNREACHABLE
8052#endif
8053#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:5970
DistanceUnitType
Types of distance units.
Definition qgis.h:5542
PieChartLabelType
Pie chart label types.
Definition qgis.h:3557
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:4614
GeometryBackend
Geometry backend for QgsGeometry.
Definition qgis.h:2298
ProcessingSourceType
Processing data source types.
Definition qgis.h:3742
static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS
Default snapping distance units.
Definition qgis.h:7024
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:6000
DataItemProviderCapability
Capabilities for data item providers.
Definition qgis.h:1057
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:4002
RasterizedRenderingPolicy
Policies controlling when rasterisation of content during renders is permitted.
Definition qgis.h:2895
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
Definition qgis.h:2990
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:4698
QFlags< DatabaseProviderTableImportCapability > DatabaseProviderTableImportCapabilities
Definition qgis.h:6078
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:5448
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:3529
static const double DEFAULT_LINE_WIDTH
The default width (in millimeters) for line symbols.
Definition qgis.h:7035
ProcessingModelChildAlgorithmExecutionStatus
Reflects the status of a child algorithm in a Processing model.
Definition qgis.h:4077
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
Definition qgis.h:2134
ScaleBarDistanceLabelHorizontalPlacement
Scale bar distance label horizontal placement.
Definition qgis.h:5817
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:4642
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:6986
QFlags< PdfRenderFlag > PdfRenderFlags
PDF rendering flags.
Definition qgis.h:6960
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:5373
ExpressionType
Expression types.
Definition qgis.h:6208
MapLayerActionFlag
Map layer action flags.
Definition qgis.h:5118
ScaleBarDistanceLabelVerticalPlacement
Scale bar distance label vertical placement.
Definition qgis.h:5803
MapLayerProperty
Generic map layer properties.
Definition qgis.h:2443
VectorProviderCapability
Vector data provider capabilities.
Definition qgis.h:525
RasterProcessingParameterCapability
Capabilities of a raster layer processing parameter.
Definition qgis.h:6840
BufferSide
Side of line to buffer.
Definition qgis.h:2247
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1619
WmsGroupRequestMode
Request mode of groups in a WMS context.
Definition qgis.h:6911
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
Definition qgis.h:5107
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
Definition qgis.h:6254
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:4196
static const int PREVIEW_JOB_DELAY_MS
Delay between the scheduling of 2 preview jobs.
Definition qgis.h:7041
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:6236
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:2766
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:4742
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:4879
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3950
QFlags< VectorRenderingSimplificationFlag > VectorRenderingSimplificationFlags
Simplification flags for vector feature rendering.
Definition qgis.h:3242
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:3502
static const double DEFAULT_Z_COORDINATE
Default Z coordinate value.
Definition qgis.h:7001
CoverageCleanOverlapMergeStrategy
Merge strategies for coverage cleaning operations.
Definition qgis.h:6936
GpsFixStatus
GPS fix status.
Definition qgis.h:2039
AnnotationItemNodeType
Annotation item node types.
Definition qgis.h:2693
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:2932
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
Definition qgis.h:2582
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
Definition qgis.h:1662
AngularDirection
Angular directions.
Definition qgis.h:3643
DriveType
Drive types.
Definition qgis.h:1207
UnitType
Unit types.
Definition qgis.h:5463
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:4478
LayoutUnit
Layout measurement units.
Definition qgis.h:5670
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:4832
Q_ENUM(GnssConstellation)
PaintEffectFlag
Flags which control how paint effects behave.
Definition qgis.h:2999
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:3340
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Definition qgis.h:4720
LegendComponent
Component of legends which can be styled.
Definition qgis.h:5015
Point3DShape
3D point shape types.
Definition qgis.h:4382
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:6598
BrowserItemState
Browser item states.
Definition qgis.h:1000
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:6136
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
Definition qgis.h:6297
QFlags< SensorThingsExtension > SensorThingsExtensions
OGC SensorThings extensions.
Definition qgis.h:6659
FeatureRequestFilterType
Types of feature request filters.
Definition qgis.h:2386
MarkerClipMode
Marker clipping modes.
Definition qgis.h:3460
GpsNavigationStatus
GPS navigation status.
Definition qgis.h:2092
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:2650
AttributeFormReuseLastValuePolicy
Attribute form policy for reusing last entered values.
Definition qgis.h:6195
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:3251
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Definition qgis.h:4092
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Definition qgis.h:2480
TextureFilterQuality
Texture filtering qualities.
Definition qgis.h:4436
Statistic
Available generic statistics.
Definition qgis.h:6516
TriangulationAlgorithm
Triangulation algorithms.
Definition qgis.h:6893
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:810
AngleUnit
Units of angles.
Definition qgis.h:5605
ToneMappingMethod
Defines the method used to map High Dynamic Range (HDR) scene colors to the Standard Dynamic Range (S...
Definition qgis.h:4553
MapGridAnnotationPosition
Position for map grid annotations.
Definition qgis.h:5880
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:6166
QFlags< AuthConfigurationStorageCapability > AuthConfigurationStorageCapabilities
Authentication configuration storage capabilities.
Definition qgis.h:152
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition qgis.h:4985
LayerTreeInsertionMethod
Layer tree insertion methods.
Definition qgis.h:4949
RasterProviderCapability
Raster data provider capabilities.
Definition qgis.h:5353
DatabaseProviderTableImportCapability
Represents capabilities of a database provider connection when importing table data.
Definition qgis.h:6073
LineClipMode
Line clipping modes.
Definition qgis.h:3474
static const double DEFAULT_SNAP_TOLERANCE
Default snapping distance tolerance.
Definition qgis.h:7019
VectorRenderingSimplificationFlag
Simplification flags for vector feature rendering.
Definition qgis.h:3227
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:6410
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:3583
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:6056
QFlags< PaintEffectFlag > PaintEffectFlags
Flags which control how paint effects behave.
Definition qgis.h:3009
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:4620
QFlags< MapLayerLegendFlag > MapLayerLegendFlags
Map layer legend flags.
Definition qgis.h:5004
MapGridUnit
Units for map grid values.
Definition qgis.h:5832
LabelPrioritization
Label prioritization.
Definition qgis.h:1273
GradientColorSource
Gradient color sources.
Definition qgis.h:3389
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:5230
static const double DEFAULT_M_COORDINATE
Default M coordinate value.
Definition qgis.h:7008
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
Definition qgis.h:440
ScaleBarAlignment
Scalebar alignment.
Definition qgis.h:5774
LegendLayerDoubleClickAction
Action performed when double-clicking a layer in the legend.
Definition qgis.h:4962
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:5269
ProcessingMode
Types of modes which Processing widgets can be created for.
Definition qgis.h:3883
VectorExportResult
Vector layer export result codes.
Definition qgis.h:1133
ShadowQuality
Shadow texture quality.
Definition qgis.h:4451
PdfRenderFlag
PDF rendering flags.
Definition qgis.h:6950
DistanceUnit
Units of distance.
Definition qgis.h:5480
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:2841
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:6765
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:3433
LegendSyncMode
Legend synchronization mode.
Definition qgis.h:5033
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
Definition qgis.h:2683
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:6850
SldExportOption
SLD export options.
Definition qgis.h:737
VectorSimplificationAlgorithm
Simplification algorithms for vector features.
Definition qgis.h:3211
FilePathType
File path types.
Definition qgis.h:1826
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:4288
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:6181
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:3448
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:6981
MapCanvasFlag
Flags controlling behavior of map canvases.
Definition qgis.h:3669
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:4975
TextAnchorPoint
Anchor point of label text.
Definition qgis.h:1475
ExtrusionFace
Extrusion face types for the QgsTessellator.
Definition qgis.h:6873
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:6151
FeatureRequestFlag
Flags for controlling feature requests.
Definition qgis.h:2357
Map3DDebugFlag
Flags that control debug options for 3D maps.
Definition qgis.h:4349
VertexType
Types of vertex.
Definition qgis.h:3276
ShaderInterpolationMethod
Color ramp shader interpolation methods.
Definition qgis.h:1574
JoinStyle3D
Join styles for 3D buffers.
Definition qgis.h:2285
DataProviderFlag
Generic data provider flags.
Definition qgis.h:2473
Q_ENUM(GpsNavigationStatus)
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg).
Definition qgis.h:6388
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:4183
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:6976
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:5382
static Q_DECL_DEPRECATED const double SCALE_PRECISION
Fudge factor used to compare two scales.
Definition qgis.h:6995
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:5246
GeosCreationFlag
Flags which control geos geometry creation behavior.
Definition qgis.h:2310
Q_ENUM(SensorThingsExtension)
static const int MAXIMUM_LAYER_PREVIEW_TIME_MS
Maximum rendering time for a layer of a preview job.
Definition qgis.h:7044
MeshRangeExtent
Describes the extent used to compute mesh ranges (min/max values).
Definition qgis.h:6777
GpsInformationComponent
GPS information component.
Definition qgis.h:2106
Q_ENUM(PointCloudProfileType)
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:3688
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3769
FileOperationFlag
File operation flags.
Definition qgis.h:2428
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
Definition qgis.h:1073
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:4732
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:5340
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
Definition qgis.h:5142
TemporalNavigationMode
Temporal navigation modes.
Definition qgis.h:2720
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:4030
AreaUnit
Units of area.
Definition qgis.h:5557
StringStatistic
Available string statistics.
Definition qgis.h:6578
SelectiveMaskSourceType
Selective masking source types.
Definition qgis.h:3265
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:4137
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:6429
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:5934
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:7143
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:5985
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:3517
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:6306
TextLayoutMode
Text layout modes.
Definition qgis.h:3099
PropertyType
Property types.
Definition qgis.h:723
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2968
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:6885
static QString devVersion()
The development version.
Definition qgis.cpp:699
CrsType
Coordinate reference system types.
Definition qgis.h:2492
QFlags< GeosCreationFlag > GeosCreationFlags
Geos geometry creation behavior flags.
Definition qgis.h:2321
MapGridComponentVisibility
Visibility display settings for map grid annotations and frames.
Definition qgis.h:5864
SensorThingsEntity
OGC SensorThings API entity types.
Definition qgis.h:6668
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1809
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:4120
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:4770
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:2705
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
Definition qgis.h:3854
GeoJsonProfile
GeoJson export Profile according to OGC Features and Geometries JSON - Part 1: Core https://docs....
Definition qgis.h:5061
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:3701
RasterRangeAccuracy
Describes the accuracy used to compute raster ranges (min/max values).
Definition qgis.h:1725
ActionType
Action types.
Definition qgis.h:5077
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:1224
PlaybackOperation
Media playback operations.
Definition qgis.h:2749
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
Definition qgis.h:972
QFlags< TextRendererFlag > TextRendererFlags
Definition qgis.h:3622
SensorThingsExtension
OGC SensorThings extensions.
Definition qgis.h:6646
QueryStorageBackend
Stored query storage backends.
Definition qgis.h:3728
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:6087
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:4669
MarkerShape
Marker shapes.
Definition qgis.h:3291
StacObjectType
Available types of stac objects.
Definition qgis.h:6827
LegendJsonRenderFlag
Legend JSON export flags.
Definition qgis.h:5048
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:5397
RasterElevationMode
Raster layer elevation modes.
Definition qgis.h:4235
Capitalization
String capitalization options.
Definition qgis.h:3600
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:2826
PictureFormat
Picture formats.
Definition qgis.h:5744
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:4338
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:3631
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:3084
TemporalUnit
Temporal units.
Definition qgis.h:5626
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:4105
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:2415
VerticalAnchorPoint
Marker symbol vertical anchor points.
Definition qgis.h:876
QFlags< LayoutRenderFlag > LayoutRenderFlags
Flags for controlling how a layout is rendered.
Definition qgis.h:5733
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:3965
TileAvailability
Possible availability states for a tile within a tile matrix.
Definition qgis.h:6273
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:4317
MapGridStyle
Map grid drawing styles.
Definition qgis.h:5848
SensorThingsVersion
OGC SensorThings API versions.
Definition qgis.h:6634
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:7154
BrowserItemType
Browser item types.
Definition qgis.h:981
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
Definition qgis.h:2375
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:2809
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1766
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:3039
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:379
RelationshipType
Relationship types.
Definition qgis.h:4818
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:4928
RasterInterfaceCapability
Raster interface capabilities.
Definition qgis.h:5320
JoinStyle
Join styles for buffers.
Definition qgis.h:2272
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:4654
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
Definition qgis.h:6625
CadMeasurementDisplayType
Advanced digitizing measurement display types.
Definition qgis.h:4304
ProcessingAlgorithmDocumentationFlag
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3830
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:3175
FieldDuplicatePolicy
Duplicate policy for fields.
Definition qgis.h:4157
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:6102
static const float DEFAULT_MAPTOPIXEL_THRESHOLD
Default threshold between map coordinates and device coordinates for map2pixel simplification.
Definition qgis.h:6969
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Definition qgis.h:2433
DpiMode
DpiMode enum.
Definition qgis.h:3569
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:3821
AltitudeBinding
Altitude binding.
Definition qgis.h:4209
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:6366
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:5092
ShaderClassificationMethod
Color ramp shader classification methods.
Definition qgis.h:1589
MapLayerLegendFlag
Map layer legend flags.
Definition qgis.h:4994
ZonalStatisticResult
Zonal statistics result codes.
Definition qgis.h:6466
ScriptLanguage
Scripting languages.
Definition qgis.h:4905
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:4565
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:3545
TiledSceneProviderCapability
Tiled scene data provider capabilities.
Definition qgis.h:6287
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:4602
RasterBandStatistic
Available raster band statistics.
Definition qgis.h:6607
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
Definition qgis.h:6264
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:6457
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:2796
TextRenderFormat
Options for rendering text.
Definition qgis.h:3020
DocumentationBrowser
Documentation API browser.
Definition qgis.h:6729
DataType
Raster data types.
Definition qgis.h:393
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
Definition qgis.h:3693
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition qgis.h:1548
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:5433
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:4531
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
Definition qgis.h:2886
RelationshipCapability
Relationship capabilities.
Definition qgis.h:4858
SkyboxCubeMapping
Skybox texture cube mapping for distinct texture skyboxes.
Definition qgis.h:4491
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:5284
QFlags< VectorProviderCapability > VectorProviderCapabilities
Vector data provider capabilities.
Definition qgis.h:564
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:4506
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:3360
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:6334
PointCloudZoomOutRenderBehavior
Point cloud zoom out options.
Definition qgis.h:6802
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:2656
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:3374
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:6544
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition qgis.h:4334
RenderUnit
Rendering size units.
Definition qgis.h:5650
QFlags< ArcGisRestServiceCapability > ArcGisRestServiceCapabilities
Available ArcGIS REST service capabilities.
Definition qgis.h:4807
static QString geographicCrsAuthId()
Geographic coordinate system auth:id string for a default geographic CRS (EPSG:4326).
Definition qgis.h:7137
CoordinateOrder
Order of coordinates.
Definition qgis.h:2567
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:2259
ScaleCalculationMethod
Scale calculation logic.
Definition qgis.h:5757
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
Definition qgis.h:6357
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:5131
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
Definition qgis.h:2450
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:3059
QFlags< VerticalAxisInversion > VerticalAxisInversionFlags
Definition qgis.h:4543
FieldDomainType
Types of field domain.
Definition qgis.h:4170
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2978
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2942
RasterPipeInterfaceRole
Raster pipe interface roles.
Definition qgis.h:1602
CoverageValidityResult
Coverage validity results.
Definition qgis.h:2330
DataProviderReadFlag
Flags which control data provider construction.
Definition qgis.h:491
ScaleBarSegmentSizeMode
Modes for setting size for scale bar segments.
Definition qgis.h:5789
Aggregate
Available aggregates to calculate.
Definition qgis.h:6484
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:2623
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:6966
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
Definition qgis.h:2679
MapBoxGlStyleSourceType
Available MapBox GL style source types.
Definition qgis.h:4751
LayoutUnitType
Types of layout units.
Definition qgis.h:5690
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:3487
FieldMetadataProperty
Standard field metadata values.
Definition qgis.h:1895
MapGridAnnotationType
Annotation coordinate type.
Definition qgis.h:6011
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:6347
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:3714
static const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition qgis.h:7038
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:3159
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:4844
GradientType
Gradient types.
Definition qgis.h:3403
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
Definition qgis.h:4940
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:4590
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:2343
QFlags< Map3DDebugFlag > Map3DDebugFlags
Definition qgis.h:4359
RangeLimits
Describes how the limits of a range are handled.
Definition qgis.h:4221
QFlags< ProjectFlag > ProjectFlags
Definition qgis.h:4325
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:2784
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3991
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:4368
Axis
Cartesian axes.
Definition qgis.h:2637
QFlags< ProcessingAlgorithmDocumentationFlag > ProcessingAlgorithmDocumentationFlags
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3842
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
Definition qgis.h:4870
ArcGisRestServiceCapability
Available ArcGIS REST service capabilities.
Definition qgis.h:4791
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:818
VolumeUnit
Units of volume.
Definition qgis.h:5582
CurvedTextFlag
Flags controlling behavior of curved text generation.
Definition qgis.h:3188
AttributeEditorType
Attribute editor types.
Definition qgis.h:6117
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
Definition qgis.h:5052
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
Definition qgis.h:6093
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:2402
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition qgis.h:915
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3913
MapGridFrameStyle
Style for map grid frames.
Definition qgis.h:5950
PointCloudAccessType
The access type of the data, local is for local files and remote for remote files (over HTTP).
Definition qgis.h:6791
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:4629
MeshElevationMode
Mesh layer elevation modes.
Definition qgis.h:4249
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:4684
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:5179
static const int USER_CRS_START_ID
Minimum ID number for a user-defined projection.
Definition qgis.h:7029
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:4577
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:3070
Q_ENUM(ProcessingAlgorithmFlag)
static int geosVersionMinor()
GEOS Minor version number linked.
Definition qgis.cpp:761
MaterialRenderingTechnique
Material rendering techniques.
Definition qgis.h:4404
ColorModel
Color model types.
Definition qgis.h:6703
RendererUsage
Usage of the renderer.
Definition qgis.h:3656
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:6035
SegmentCalculationMethod
brief Method used to calculate the number of segments for circle approximation
Definition qgis.h:6814
GpsConnectionType
GPS connection types.
Definition qgis.h:2010
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
Definition qgis.h:6064
MouseHandlesAction
Action to be performed by the mouse handles.
Definition qgis.h:6741
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
Definition qgis.h:3898
QFlags< TextComponent > TextComponents
Text components.
Definition qgis.h:3129
static QString geoNone()
Constant that holds the string representation for "No ellipse/No CRS".
Definition qgis.h:7130
DevToolsNodeRole
Dev tools node custom data roles.
Definition qgis.h:6858
LoadStyleFlag
Flags for loading layer styles.
Definition qgis.h:252
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:4262
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
Definition qgis.h:6246
SymbolConverterCapability
Symbol converter capabilities.
Definition qgis.h:827
MetadataDateType
Date types for metadata.
Definition qgis.h:5160
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
Definition qgis.h:2852
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3924
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:5299
MapGridAnnotationDirection
Direction of grid annotations.
Definition qgis.h:5894
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:3140
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:4275
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:3418
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3783
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:6322
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
Definition qgis.h:6569
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1908
InputControllerType
Input controller types.
Definition qgis.h:6023
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:3618
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1935
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:2517
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:4061
static int geosVersionInt()
GEOS version number linked.
Definition qgis.cpp:750
QFlags< MarkerLinePlacement > MarkerLinePlacements
Definition qgis.h:3351
QFlags< MapCanvasFlag > MapCanvasFlags
Flags controlling behavior of map canvases.
Definition qgis.h:3679
CrsWktVariant
Coordinate reference system WKT formatting variants.
Definition qgis.h:2597
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:6379
MapGridAnnotationFormat
Format for displaying map grid annotations.
Definition qgis.h:5913
DocumentationApi
Documentation API.
Definition qgis.h:6715
AutoRefreshMode
Map layer automatic refresh modes.
Definition qgis.h:2460
AnnotationPlacementMode
Annotation item placement modes.
Definition qgis.h:2666
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3794
QFlags< InstancedMaterialFlag > InstancedMaterialFlags
Definition qgis.h:4427
SceneMode
The 3D scene mode used in 3D map views.
Definition qgis.h:4519
InstancedMaterialFlag
Optional per-instance properties of instanced materials.
Definition qgis.h:4422
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:4892
HorizontalAnchorPoint
Marker symbol horizontal anchor points.
Definition qgis.h:862
QFlags< CurvedTextFlag > CurvedTextFlags
Flags controlling behavior of curved text generation.
Definition qgis.h:3201
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3976
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:1248
static const double UI_SCALE_FACTOR
UI scaling factor.
Definition qgis.h:7014
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:6223
QFlags< LayerFilter > LayerFilters
Definition qgis.h:243
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:4048
DockableWidgetInitialState
Dockable widget initial states.
Definition qgis.h:6923
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:2873
TextComponent
Text components.
Definition qgis.h:3116
DateTimeStatistic
Available date/time statistics.
Definition qgis.h:6553
AnimationState
Animation states.
Definition qgis.h:2736
TransformDirection
Indicates the direction (forward or inverse) of a transform.
Definition qgis.h:2861
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:4466
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3936
QFlags< HistoryProviderBackend > HistoryProviderBackends
Definition qgis.h:3719
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:7032
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:2024
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:4016
MapSettingsFlag
Flags which adjust the way maps are rendered.
Definition qgis.h:2908
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:3868
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1921
LayoutRenderFlag
Flags for controlling how a layout is rendered.
Definition qgis.h:5704
Utility class that encapsulates an action based on vector attributes.
Definition qgsaction.h:38
Utility class for calculating aggregates for a field (or expression) over the features from a vector ...
Utility functions for working with ArcGIS REST services.
An abstract base class for any elements of a drag and drop form.
A ramp shader will color a raster pixel based on a list of values ranges in a ramp.
Represents a coordinate reference system (CRS).
Handles coordinate transforms between two coordinate systems.
Abstract base class for curved geometry type.
Definition qgscurve.h:36
Base class for all items in the model.
Definition qgsdataitem.h:50
Abstract base class for spatial data provider implementations.
Calculator for summary statistics and aggregates for a list of datetimes.
Contains configuration settings for an editor form.
Wraps a request for features to a vector layer (or directly its vector data provider).
An interface for objects which provide features via a getFeatures method.
Container of fields for a vector layer.
Definition qgsfields.h:46
A geometry is the spatial representation of a feature.
Encapsulates information relating to a GPS position fix.
A fill symbol layer which draws a smooth color gradient over a polygon.
A vector feature renderer which uses numeric attributes to classify features into different ranges.
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:7277
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:7291
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:7283
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:7977
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:7891
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:7970
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:7672
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:7324
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:7542
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:7653
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:7711
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:7526
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:7740
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:7996
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:7636
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference).
Definition qgis.h:7482
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:7558
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:7619
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:7511
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference).
Definition qgis.h:7417
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:7369
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:7311
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:7986
Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system.
Definition qgis.h:7984
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:7488
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:7389
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:7457
#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:7430
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:7907
#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