QGIS API Documentation 4.1.0-Master (70f46ec8b69)
Loading...
Searching...
No Matches
qgis.h
Go to the documentation of this file.
1/***************************************************************************
2 qgis.h - QGIS namespace
3 -------------------
4 begin : Sat Jun 30 2002
5 copyright : (C) 2002 by Gary E.Sherman
6 email : sherman at mrcc.com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGIS_H
19#define QGIS_H
20
21
22#include <cfloat>
23#include <cmath>
24#include <memory>
25
26#include "qgis_core.h"
27#include "qgis_sip.h"
28
29#include <QMetaEnum>
30#include <QString>
31#include <QTimeZone>
32
33using namespace Qt::StringLiterals;
34
35#ifdef SIP_RUN
36// clang-format off
37% ModuleHeaderCode
38#include <qgis.h>
39% End
40
41% ModuleCode
42int QgisEvent = QEvent::User + 1;
43% End
44// clang-format on
45#endif
46
47#ifndef SIP_RUN
48// qHash implementation for scoped enum type
49// https://gitlab.com/frostasm/programming-knowledge-base/-/snippets/20120
50#define QHASH_FOR_CLASS_ENUM( T ) \
51 inline uint qHash( const T &t, uint seed ) \
52 { \
53 return ::qHash( static_cast<typename std::underlying_type<T>::type>( t ), seed ); \
54 }
55#endif
56
61 class CORE_EXPORT Qgis
62{
63 Q_GADGET
64 Q_CLASSINFO( "RegisterEnumClassesUnscoped", "false" )
65
66 public:
72 static QString version();
73
79 static int versionInt();
80
86 static QString releaseName();
87
89 static const char *QGIS_DEV_VERSION;
90
96 static QString devVersion();
97
98 // Enumerations
99 //
100
107 {
108 ClearStorage = 1 << 0,
109
110 ReadConfiguration = 1 << 1,
111 UpdateConfiguration = 1 << 2,
112 DeleteConfiguration = 1 << 3,
113 CreateConfiguration = 1 << 4,
114
115 ReadCertificateIdentity = 1 << 5,
116 UpdateCertificateIdentity = 1 << 6,
117 DeleteCertificateIdentity = 1 << 7,
118 CreateCertificateIdentity = 1 << 8,
119
120 ReadSslCertificateCustomConfig = 1 << 9,
121 UpdateSslCertificateCustomConfig = 1 << 10,
122 DeleteSslCertificateCustomConfig = 1 << 11,
123 CreateSslCertificateCustomConfig = 1 << 12,
124
125 ReadCertificateAuthority = 1 << 13,
126 UpdateCertificateAuthority = 1 << 14,
127 DeleteCertificateAuthority = 1 << 15,
128 CreateCertificateAuthority = 1 << 16,
129
130 ReadCertificateTrustPolicy = 1 << 17,
131 UpdateCertificateTrustPolicy = 1 << 18,
132 DeleteCertificateTrustPolicy = 1 << 19,
133 CreateCertificateTrustPolicy = 1 << 20,
134
135 ReadMasterPassword = 1 << 21,
136 UpdateMasterPassword = 1 << 22,
137 DeleteMasterPassword = 1 << 23,
138 CreateMasterPassword = 1 << 24,
139
140 ReadSetting = 1 << 25,
141 UpdateSetting = 1 << 26,
142 DeleteSetting = 1 << 27,
143 CreateSetting = 1 << 28,
144
145 };
146 Q_ENUM( AuthConfigurationStorageCapability )
147
148
154
160 {
161 Info = 0,
166 };
167 Q_ENUM( MessageLevel )
168
169
175 {
176 PlainText SIP_MONKEYPATCH_COMPAT_NAME( MessageText ),
177 Html SIP_MONKEYPATCH_COMPAT_NAME( MessageHtml ),
178 };
179 Q_ENUM( StringFormat )
180
181
186 enum class NetworkRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
187 {
188 DisableMessageLogging = 1 << 0,
189 };
190 Q_ENUM( NetworkRequestFlag )
191
192
198 Q_FLAG( NetworkRequestFlags )
199
206 {
207 Vector SIP_MONKEYPATCH_COMPAT_NAME( VectorLayer ),
208 Raster SIP_MONKEYPATCH_COMPAT_NAME( RasterLayer ),
209 Plugin SIP_MONKEYPATCH_COMPAT_NAME( PluginLayer ),
210 Mesh SIP_MONKEYPATCH_COMPAT_NAME( MeshLayer ),
211 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( VectorTileLayer ),
212 Annotation SIP_MONKEYPATCH_COMPAT_NAME( AnnotationLayer ),
213 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( PointCloudLayer ),
214 Group SIP_MONKEYPATCH_COMPAT_NAME( GroupLayer ),
215 TiledScene,
216 };
217 Q_ENUM( LayerType )
218
219
225 {
226 RasterLayer = 1,
227 NoGeometry = 2,
228 PointLayer = 4,
229 LineLayer = 8,
230 PolygonLayer = 16,
231 HasGeometry = PointLayer | LineLayer | PolygonLayer,
232 VectorLayer = NoGeometry | HasGeometry,
233 PluginLayer = 32,
234 WritableLayer = 64,
235 MeshLayer = 128,
236 VectorTileLayer = 256,
237 PointCloudLayer = 512,
238 AnnotationLayer = 1024,
239 TiledSceneLayer = 2048,
240 All = RasterLayer | VectorLayer | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer,
241 SpatialLayer = RasterLayer | HasGeometry | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer
242 };
243 Q_DECLARE_FLAGS( LayerFilters, LayerFilter )
244 Q_FLAG( LayerFilters )
245
246
251 enum class LoadStyleFlag : int SIP_ENUM_BASETYPE( IntFlag )
252 {
253 IgnoreMissingStyleErrors
254 = 1 << 0,
255 };
256 Q_ENUM( LoadStyleFlag )
257
258
263 Q_DECLARE_FLAGS( LoadStyleFlags, LoadStyleFlag )
264 Q_FLAG( LoadStyleFlags )
265
294 {
295 Unknown = 0,
296 Point = 1,
297 LineString = 2,
298 Polygon = 3,
299 Triangle = 17,
300 MultiPoint = 4,
301 MultiLineString = 5,
302 MultiPolygon = 6,
303 GeometryCollection = 7,
304 CircularString = 8,
305 CompoundCurve = 9,
306 CurvePolygon = 10,
307 MultiCurve = 11,
308 MultiSurface = 12,
309 PolyhedralSurface = 15,
310 TIN = 16,
311 NurbsCurve = 21,
312 NoGeometry = 100,
313 PointZ = 1001,
314 LineStringZ = 1002,
315 PolygonZ = 1003,
316 TriangleZ = 1017,
317 MultiPointZ = 1004,
318 MultiLineStringZ = 1005,
319 MultiPolygonZ = 1006,
320 GeometryCollectionZ = 1007,
321 CircularStringZ = 1008,
322 CompoundCurveZ = 1009,
323 CurvePolygonZ = 1010,
324 MultiCurveZ = 1011,
325 MultiSurfaceZ = 1012,
326 PolyhedralSurfaceZ = 1015,
327 TINZ = 1016,
328 NurbsCurveZ = 1021,
329 PointM = 2001,
330 LineStringM = 2002,
331 PolygonM = 2003,
332 TriangleM = 2017,
333 MultiPointM = 2004,
334 MultiLineStringM = 2005,
335 MultiPolygonM = 2006,
336 GeometryCollectionM = 2007,
337 CircularStringM = 2008,
338 CompoundCurveM = 2009,
339 CurvePolygonM = 2010,
340 MultiCurveM = 2011,
341 MultiSurfaceM = 2012,
342 PolyhedralSurfaceM = 2015,
343 TINM = 2016,
344 NurbsCurveM = 2021,
345 PointZM = 3001,
346 LineStringZM = 3002,
347 PolygonZM = 3003,
348 MultiPointZM = 3004,
349 MultiLineStringZM = 3005,
350 MultiPolygonZM = 3006,
351 GeometryCollectionZM = 3007,
352 CircularStringZM = 3008,
353 CompoundCurveZM = 3009,
354 CurvePolygonZM = 3010,
355 MultiCurveZM = 3011,
356 MultiSurfaceZM = 3012,
357 PolyhedralSurfaceZM = 3015,
358 TINZM = 3016,
359 TriangleZM = 3017,
360 NurbsCurveZM = 3021,
361 Point25D = 0x80000001,
362 LineString25D,
363 Polygon25D,
364 MultiPoint25D,
365 MultiLineString25D,
366 MultiPolygon25D
367 };
368 Q_ENUM( WkbType )
369
370
379 {
380 Point SIP_MONKEYPATCH_COMPAT_NAME( PointGeometry ),
381 Line SIP_MONKEYPATCH_COMPAT_NAME( LineGeometry ),
382 Polygon SIP_MONKEYPATCH_COMPAT_NAME( PolygonGeometry ),
383 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownGeometry ),
384 Null SIP_MONKEYPATCH_COMPAT_NAME( NullGeometry ),
385 };
386 Q_ENUM( GeometryType )
387
388
393 {
394 UnknownDataType = 0,
395 Byte = 1,
396 Int8 = 14,
397 UInt16 = 2,
398 Int16 = 3,
399 UInt32 = 4,
400 Int32 = 5,
401 Float32 = 6,
402 Float64 = 7,
403 CInt16 = 8,
404 CInt32 = 9,
405 CFloat32 = 10,
406 CFloat64 = 11,
407 ARGB32 = 12,
408 ARGB32_Premultiplied = 13
409 };
410 Q_ENUM( DataType )
411
412
417 enum class CaptureTechnique : int
418 {
419 StraightSegments,
420 CircularString,
421 Streaming,
422 Shape,
423 PolyBezier,
424 NurbsCurve,
425 };
426 Q_ENUM( CaptureTechnique )
427
428
429
434 enum class VectorLayerTypeFlag : int SIP_ENUM_BASETYPE( IntFlag )
435 {
436 SqlQuery = 1 << 0
437 };
438 Q_ENUM( VectorLayerTypeFlag )
441 Q_FLAG( VectorLayerTypeFlags )
442
447 enum class EmbeddedScriptMode SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, PythonMacroMode ) : int
448 {
449 Never = 0,
450 Ask = 1,
451 SessionOnly = 2,
452 Always = 3,
453 NotForThisSession = 4,
454 NeverAsk = 5,
455 };
456 Q_ENUM( EmbeddedScriptMode )
457
458
462 enum class EmbeddedScriptType : int
463 {
464 Macro = 0,
465 ExpressionFunction = 1,
466 Action = 2,
467 FormInitCode = 3,
468 };
469 Q_ENUM( EmbeddedScriptType )
470
471
475 enum class ProjectTrustStatus : int
476 {
477 Undetermined = 0,
478 Trusted = 1,
479 Untrusted = 2,
480 };
481 Q_ENUM( ProjectTrustStatus )
482
483
491 {
492 TrustDataSource SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustDataSource )
493 = 1 << 0,
494 SkipFeatureCount = 1 << 1,
495 LoadDefaultStyle SIP_MONKEYPATCH_COMPAT_NAME( FlagLoadDefaultStyle ) = 1 << 2,
496 SkipGetExtent = 1 << 3,
497 SkipFullScan = 1 << 4,
498 ForceReadOnly = 1 << 5,
499 SkipCredentialsRequest
500 = 1 << 6,
501 ParallelThreadLoading = 1 << 7,
502 };
503 Q_ENUM( DataProviderReadFlag )
504
505
513 Q_FLAG( DataProviderReadFlags )
514
515 // TODO QGIS 5 -- remove NoCapabilities and rely on VectorProviderCapabilities() instead
516
525 {
526 NoCapabilities = 0,
527 AddFeatures = 1,
528 DeleteFeatures = 1 << 1,
529 ChangeAttributeValues = 1 << 2,
530 AddAttributes = 1 << 3,
531 DeleteAttributes = 1 << 4,
532 CreateSpatialIndex = 1 << 6,
533 SelectAtId = 1 << 7,
534 ChangeGeometries = 1 << 8,
535 SelectEncoding = 1 << 13,
536 CreateAttributeIndex = 1 << 12,
537 SimplifyGeometries = 1 << 14,
538 SimplifyGeometriesWithTopologicalValidation = 1 << 15,
539 TransactionSupport = 1 << 16,
540 CircularGeometries = 1 << 17,
541 ChangeFeatures = 1 << 18,
542 RenameAttributes = 1 << 19,
543 FastTruncate = 1 << 20,
544 ReadLayerMetadata = 1 << 21,
545 WriteLayerMetadata = 1 << 22,
546 CancelSupport = 1 << 23,
547 CreateRenderer = 1 << 24,
548 CreateLabeling = 1 << 25,
549 ReloadData = 1 << 26,
550 FeatureSymbology = 1 << 27,
551 CacheData = 1 << 28,
552 EditingCapabilities = AddFeatures | DeleteFeatures | ChangeAttributeValues | ChangeGeometries | AddAttributes | DeleteAttributes | RenameAttributes,
553 };
554 Q_ENUM( VectorProviderCapability )
555
556
565
572 {
573 Uncounted = -2,
574 UnknownCount = -1,
575 };
576 Q_ENUM( FeatureCountState )
577
578
585 {
586 Unknown SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexUnknown ) = 0,
587 NotPresent SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexNotPresent ) = 1,
588 Present SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexPresent ) = 2,
589 };
590 Q_ENUM( SpatialIndexPresence )
591
592
604 {
605 NoFeaturesAvailable = 0,
606 FeaturesAvailable,
607 FeaturesMaybeAvailable
608 };
609 Q_ENUM( FeatureAvailability )
610
611
617 {
618 EditAlias = 1 << 0,
619 EditComment = 1 << 1,
620 };
621
622 Q_ENUM( VectorDataProviderAttributeEditCapability )
623
624
631
637 {
638 Marker,
639 Line,
640 Fill,
641 Hybrid
642 };
643 Q_ENUM( SymbolType )
644
645
651 {
652 ScaleArea,
653 ScaleDiameter
654 };
655 Q_ENUM( ScaleMethod )
656
657
662 {
663 Custom,
664 Variant,
665 String,
666 StringList,
667 VariantMap,
668 Bool,
669 Integer,
670 Double,
671 EnumFlag,
672 Color
673 };
674 Q_ENUM( SettingsType )
675
676
681 {
682 Root,
683 Standard,
684 NamedList,
685 };
686 Q_ENUM( SettingsTreeNodeType )
687
688
692 enum class SettingsTreeNodeOption : int SIP_ENUM_BASETYPE( IntFlag )
693 {
694 NamedListSelectedItemSetting = 1 << 0,
695 };
696
697 Q_ENUM( SettingsTreeNodeOption )
700
709 {
710 Invalid SIP_MONKEYPATCH_COMPAT_NAME( InvalidProperty ),
711 Static SIP_MONKEYPATCH_COMPAT_NAME( StaticProperty ),
712 Field SIP_MONKEYPATCH_COMPAT_NAME( FieldBasedProperty ),
713 Expression SIP_MONKEYPATCH_COMPAT_NAME( ExpressionBasedProperty ),
714 };
715 Q_ENUM( PropertyType )
716
717
722 enum class SldExportOption : int SIP_ENUM_BASETYPE( IntFlag )
723 {
724 NoOptions = 0,
725 Svg = 1 << 0,
726 Png = 1 << 1,
727 };
728 Q_ENUM( SldExportOption )
730 Q_FLAG( SldExportOptions )
731
737 enum class SldExportVendorExtension : int SIP_ENUM_BASETYPE( IntFlag )
738 {
739 NoVendorExtension = 0,
740 GeoServerVendorExtension = 1 << 1,
741 DeegreeVendorExtension = 1 << 2,
742 };
743 Q_ENUM( SldExportVendorExtension )
744
745
746
750 enum class SettingsOption : int SIP_ENUM_BASETYPE( IntFlag )
751 {
752 SaveFormerValue = 1 << 1,
753 SaveEnumFlagAsInt = 1 << 2,
754 };
755 Q_ENUM( SettingsOption )
756 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
757 Q_FLAG( SettingsOptions )
758
764 {
765 ActiveLayer = 1,
766 AllLayers = 2,
767 AdvancedConfiguration = 3,
768 };
769 Q_ENUM( SnappingMode )
770
771
776 {
777 NoSnap SIP_MONKEYPATCH_COMPAT_NAME( NoSnapFlag ) = 0,
778 Vertex SIP_MONKEYPATCH_COMPAT_NAME( VertexFlag ) = 1 << 0,
779 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentFlag ) = 1 << 1,
780 Area SIP_MONKEYPATCH_COMPAT_NAME( AreaFlag ) = 1 << 2,
781 Centroid SIP_MONKEYPATCH_COMPAT_NAME( CentroidFlag ) = 1 << 3,
782 MiddleOfSegment SIP_MONKEYPATCH_COMPAT_NAME( MiddleOfSegmentFlag ) = 1 << 4,
783 LineEndpoint SIP_MONKEYPATCH_COMPAT_NAME( LineEndpointFlag ) = 1 << 5,
784 };
785 Q_ENUM( SnappingType )
788 Q_FLAG( SnappingTypes )
789
796 {
797 DynamicRotation = 1 << 1,
798 IsSymbolLayerSubSymbol = 1 << 2,
799 ForceVectorRendering = 1 << 3,
800 ExcludeSymbolBuffers = 1 << 4,
801 };
802 Q_ENUM( SymbolRenderHint )
805 Q_FLAG( SymbolRenderHints )
806
813 {
814 ReadSymbol = 1 << 0,
815 WriteSymbol = 1 << 1,
816 };
817
818 Q_ENUM( SymbolConverterCapability )
819
820
827
833 enum class SymbolRotationMode : int
834 {
835 RespectMapRotation,
836 IgnoreMapRotation,
837 };
838 Q_ENUM( SymbolRotationMode )
839
840
841
853 Q_ENUM( HorizontalAnchorPoint )
854
855
868 Q_ENUM( VerticalAnchorPoint )
869
870
875 enum class FeatureRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
876 {
877 AffectsLabeling = 1 << 0,
878 };
879 Q_ENUM( FeatureRendererFlag )
880
881
887 Q_FLAG( FeatureRendererFlags )
888
894 enum class SymbolFlag : int SIP_ENUM_BASETYPE( IntFlag )
895 {
896 RendererShouldUseSymbolLevels = 1 << 0,
897 AffectsLabeling = 1 << 1,
898 };
899 Q_ENUM( SymbolFlag )
901 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
902 Q_FLAG( SymbolFlags )
903
910 {
911 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
912 };
913 Q_ENUM( SymbolPreviewFlag )
916 Q_FLAG( SymbolPreviewFlags )
917
927 enum class SymbolLayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
928 {
929 DisableFeatureClipping = 1 << 0,
930 CanCalculateMaskGeometryPerFeature = 1 << 1,
931 AffectsLabeling = 1 << 2,
932 };
933 Q_ENUM( SymbolLayerFlag )
936 Q_FLAG( SymbolLayerFlags )
937
947 enum class SymbolLayerUserFlag : int SIP_ENUM_BASETYPE( IntFlag )
948 {
949 DisableSelectionRecoloring = 1 << 0,
950 };
951 Q_ENUM( SymbolLayerUserFlag )
952
953
959 Q_FLAG( SymbolLayerUserFlags )
960
967 {
968 Collection,
969 Directory,
970 Layer,
971 Error,
972 Favorites,
973 Project,
974 Custom,
975 Fields,
976 Field,
977 };
978 Q_ENUM( BrowserItemType )
979
980
986 {
987 NotPopulated,
988 Populating,
989 Populated,
990 };
991 Q_ENUM( BrowserItemState )
992
993
999 {
1000 NoCapabilities = 0,
1001 SetCrs = 1 << 0,
1002 Fertile = 1 << 1,
1003 Fast = 1 << 2,
1004 Collapse = 1 << 3,
1005 Rename = 1 << 4,
1006 Delete = 1 << 5,
1007 ItemRepresentsFile = 1 << 6,
1008 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
1009 ReadOnly = 1 << 8,
1010 };
1011 Q_ENUM( BrowserItemCapability )
1014 Q_FLAG( BrowserItemCapabilities )
1015
1021 enum class BrowserItemFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
1022 {
1023 HideWhenNotFilteringByLayerType = 1 << 0,
1024 };
1025 Q_ENUM( BrowserItemFilterFlag )
1026
1027
1033 Q_FLAG( BrowserItemFilterFlags )
1034
1043 {
1044 NoCapabilities SIP_MONKEYPATCH_COMPAT_NAME( NoDataCapabilities ) = 0,
1046 Directories SIP_MONKEYPATCH_COMPAT_NAME( Dir ) = 1 << 1,
1047 Databases SIP_MONKEYPATCH_COMPAT_NAME( Database ) = 1 << 2,
1048 NetworkSources SIP_MONKEYPATCH_COMPAT_NAME( Net ) = 1 << 3,
1049 };
1050 Q_ENUM( DataItemProviderCapability )
1051
1052
1061
1068 {
1069 NoType,
1070 Vector,
1071 Raster,
1072 Point,
1073 Line,
1074 Polygon,
1075 TableLayer,
1076 Database,
1077 Table,
1078 Plugin,
1079 Mesh,
1080 VectorTile,
1081 PointCloud,
1082 TiledScene,
1083 };
1084 Q_ENUM( BrowserLayerType )
1085
1086
1092 {
1093 Default,
1094 NeverMonitor,
1095 AlwaysMonitor,
1096 };
1097 Q_ENUM( BrowserDirectoryMonitoring )
1098
1099
1103 enum class HttpMethod : int
1104 {
1105 Get = 0,
1106 Post = 1,
1107 Head,
1108 Put,
1109 Delete,
1110 };
1111 Q_ENUM( HttpMethod )
1112
1113
1119 {
1121 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
1122 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
1123 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
1124 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
1125 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
1126 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
1127 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
1128 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
1129 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
1130 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
1131 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
1132 };
1133 Q_ENUM( VectorExportResult )
1134
1135
1140 {
1141 FieldAliases = 1 << 0,
1142 FieldComments = 1 << 2,
1143 };
1144 Q_ENUM( VectorFileWriterCapability )
1145
1146
1152
1158 {
1159 SubsetStringFilter = 1 << 1,
1160 GeometryColumn = 1 << 2,
1161 PrimaryKeys = 1 << 3,
1162 UnstableFeatureIds = 1 << 4
1163 };
1164 Q_ENUM( SqlLayerDefinitionCapability )
1168
1174 enum class SqlKeywordCategory : int
1175 {
1176 Keyword,
1177 Constant,
1178 Function,
1179 Geospatial,
1180 Operator,
1181 Math,
1183 String,
1184 Identifier
1185 };
1186 Q_ENUM( SqlKeywordCategory )
1187
1188
1192 enum class DriveType : int
1193 {
1194 Unknown,
1195 Invalid,
1196 Removable,
1197 Fixed,
1198 Remote,
1199 CdRom,
1200 RamDisk,
1201 Cloud,
1202 };
1203 Q_ENUM( DriveType )
1204
1205
1210 {
1211 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
1212 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
1213 };
1214 Q_ENUM( ActionStart )
1215
1216
1222 {
1223 FollowEngineSetting,
1224 NeverShow,
1225 };
1226 Q_ENUM( UnplacedLabelVisibility )
1227
1228
1233 enum class LabelOverlapHandling : int
1234 {
1235 PreventOverlap,
1236 AllowOverlapIfRequired,
1237 AllowOverlapAtNoCost,
1238 };
1239 Q_ENUM( LabelOverlapHandling )
1240
1241
1247 {
1248 TreatWhitespaceAsCollision,
1249 IgnoreWhitespaceCollisions,
1250 };
1251 Q_ENUM( LabelWhitespaceCollisionHandling )
1252
1253
1258 enum class LabelPrioritization : int
1259 {
1260 PreferCloser,
1261 PreferPositionOrdering,
1262 };
1263 Q_ENUM( LabelPrioritization )
1264
1265
1273 {
1274 AroundPoint,
1275 OverPoint,
1276 Line,
1277 Curved,
1278 Horizontal,
1279 Free,
1280 OrderedPositionsAroundPoint,
1281 PerimeterCurved,
1282 OutsidePolygons,
1283 };
1284 Q_ENUM( LabelPlacement )
1285
1286
1291 enum class CurvedLabelMode : int
1292 {
1293 Default,
1294 PlaceCharactersAtVertices,
1295 StretchCharacterSpacingToFitLine,
1296 StretchWordSpacingToFitLine,
1297 };
1298 Q_ENUM( CurvedLabelMode )
1299
1300
1308 {
1309 TopLeft,
1310 TopSlightlyLeft,
1311 TopMiddle,
1312 TopSlightlyRight,
1313 TopRight,
1314 MiddleLeft,
1315 MiddleRight,
1316 BottomLeft,
1317 BottomSlightlyLeft,
1318 BottomMiddle,
1319 BottomSlightlyRight,
1320 BottomRight,
1321 OverPoint,
1322 };
1323 Q_ENUM( LabelPredefinedPointPosition )
1324
1325
1331 {
1332 LabelLargestPartOnly,
1333 LabelEveryPartWithEntireLabel,
1334 SplitLabelTextLinesOverParts,
1335 };
1336 Q_ENUM( MultiPartLabelingBehavior )
1337
1338
1347 {
1348 FromPoint,
1349 FromSymbolBounds,
1350 };
1351 Q_ENUM( LabelOffsetType )
1352
1353
1361 {
1362 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
1363 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
1364 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
1366 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
1368 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
1369 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
1370 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
1371 };
1372 Q_ENUM( LabelQuadrantPosition )
1373
1374
1381 {
1382 OnLine = 1,
1383 AboveLine = 2,
1384 BelowLine = 4,
1385 MapOrientation = 8,
1386 };
1387 Q_ENUM( LabelLinePlacementFlag )
1388
1389
1397 Q_FLAG( LabelLinePlacementFlags )
1398
1406 {
1407 AllowPlacementOutsideOfPolygon = 1 << 0,
1408 AllowPlacementInsideOfPolygon = 1 << 1,
1409 };
1410 Q_ENUM( LabelPolygonPlacementFlag )
1411
1412
1420
1429 {
1430 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
1431 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
1432 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
1433 };
1434 Q_ENUM( UpsideDownLabelHandling )
1435
1436
1444 {
1446 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
1448 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
1449 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
1450 };
1451 Q_ENUM( LabelMultiLineAlignment )
1452
1453
1460 {
1461 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
1462 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1463 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1464 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1465 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1466 VectorTile,
1467 TiledScene,
1468 };
1469 Q_ENUM( FileFilterType )
1470
1471
1476 enum class UriCleaningFlag : int SIP_ENUM_BASETYPE( IntFlag )
1477 {
1478 RemoveCredentials = 1 << 0,
1479 RedactCredentials = 1 << 1,
1480 };
1481 Q_ENUM( UriCleaningFlag )
1482
1483
1489 Q_FLAG( UriCleaningFlags )
1490
1496 enum class SourceHierarchyLevel : int
1497 {
1498 Connection,
1499 Group,
1500 Object,
1501 };
1502 Q_ENUM( SourceHierarchyLevel )
1503
1504
1509 enum class SublayerQueryFlag : int SIP_ENUM_BASETYPE( IntFlag )
1510 {
1511 FastScan = 1 << 0,
1512 ResolveGeometryType = 1 << 1,
1513 CountFeatures = 1 << 2,
1514 IncludeSystemTables = 1 << 3,
1515 OpenLayersToResolveDescriptions = 1 << 4,
1516 };
1517
1520 Q_FLAG( SublayerQueryFlags )
1521
1522
1527 enum class SublayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
1528 {
1529 SystemTable = 1 << 0,
1530 };
1531
1532 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1534 Q_FLAG( SublayerFlags )
1535
1536
1544 {
1545 Linear SIP_MONKEYPATCH_COMPAT_NAME( Interpolated ) = 0,
1546 Discrete = 1,
1547 Exact = 2,
1548 };
1549 Q_ENUM( ShaderInterpolationMethod )
1550
1551
1559 {
1560 Continuous = 1,
1561 EqualInterval = 2,
1562 Quantile = 3,
1563 };
1564 Q_ENUM( ShaderClassificationMethod )
1565
1566
1572 {
1573 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1574 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1575 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1576 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1577 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1578 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1579 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1580 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1581 };
1582 Q_ENUM( RasterPipeInterfaceRole )
1583
1584
1589 {
1590 ResampleFilter,
1591 Provider,
1592 };
1593 Q_ENUM( RasterResamplingStage )
1594
1595
1603 {
1604 Nearest,
1605 Bilinear,
1606 Cubic,
1607 CubicSpline,
1608 Lanczos,
1609 Average,
1610 Mode,
1611 Gauss
1612 };
1613 Q_ENUM( RasterResamplingMethod )
1614
1615
1620 enum class RasterRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
1621 {
1622 InternalLayerOpacityHandling = 1 << 0,
1623 UseNoDataForOutOfRangePixels
1624 = 1 << 1,
1625 };
1626
1633
1635 Q_FLAG( RasterRendererFlags )
1636
1637
1643 {
1644 UsesMultipleBands = 1 << 0,
1645 };
1646 Q_ENUM( RasterRendererCapability )
1647
1648
1655
1664 {
1666 MinimumMaximum SIP_MONKEYPATCH_COMPAT_NAME( MinMax ),
1667 StdDev,
1668 CumulativeCut
1669 };
1670 Q_ENUM( RasterRangeLimit )
1671
1672
1680 {
1681 WholeRaster SIP_MONKEYPATCH_COMPAT_NAME( None_ ),
1682 FixedCanvas SIP_MONKEYPATCH_COMPAT_NAME( CurrentCanvas ),
1683 UpdatedCanvas,
1684 };
1685 Q_ENUM( RasterRangeExtent )
1686
1687
1695 {
1696 Exact,
1697 Estimated,
1698 };
1699 Q_ENUM( RasterRangeAccuracy )
1700
1701
1707 {
1708 Generic = 0,
1709 PixelCount = 1,
1710 Name = 2,
1711 Min = 3,
1712 Max = 4,
1713 MinMax = 5,
1714 Red = 6,
1715 Green = 7,
1716 Blue = 8,
1717 Alpha = 9,
1718 RedMin = 10,
1719 GreenMin = 11,
1720 BlueMin = 12,
1721 AlphaMin = 13,
1722 RedMax = 14,
1723 GreenMax = 15,
1724 BlueMax = 16,
1725 AlphaMax = 17,
1726 MaxCount
1727 };
1728 Q_ENUM( RasterAttributeTableFieldUsage )
1729
1730
1736 {
1737 Thematic = 0,
1738 Athematic = 1
1739 };
1740 Q_ENUM( RasterAttributeTableType )
1741
1742
1749 {
1750 Raw = 0,
1751 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1752 };
1753 Q_ENUM( RasterExportType )
1754
1755
1762 {
1764 SourceProviderError = 1,
1765 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1766 CreateDatasourceError = 3,
1767 WriteError = 4,
1768 NoDataConflict = 5,
1769 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1770 };
1771 Q_ENUM( RasterFileWriterResult )
1772
1773
1778 enum class MeshEditingErrorType : int
1779 {
1780 NoError,
1781 InvalidFace,
1782 TooManyVerticesInFace,
1783 FlatFace,
1784 UniqueSharedVertex,
1785 InvalidVertex,
1786 ManifoldFace,
1787 };
1788 Q_ENUM( MeshEditingErrorType )
1789
1790
1795 enum class FilePathType : int
1796 {
1797 Absolute,
1798 Relative,
1799 };
1800 Q_ENUM( FilePathType )
1801
1802
1807 enum class SublayerPromptMode : int
1808 {
1809 AlwaysAsk,
1810 AskExcludingRasterBands,
1811 NeverAskSkip,
1812 NeverAskLoadAll,
1813 };
1814 Q_ENUM( SublayerPromptMode )
1815
1816
1824 {
1825 Unknown SIP_MONKEYPATCH_COMPAT_NAME( OriginUnknown ),
1826 Provider SIP_MONKEYPATCH_COMPAT_NAME( OriginProvider ),
1827 Join SIP_MONKEYPATCH_COMPAT_NAME( OriginJoin ),
1828 Edit SIP_MONKEYPATCH_COMPAT_NAME( OriginEdit ),
1829 Expression SIP_MONKEYPATCH_COMPAT_NAME( OriginExpression )
1830 };
1831 Q_ENUM( FieldOrigin )
1832
1833
1840 enum class FieldConfigurationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1841 {
1842 NoFlag = 0,
1843 NotSearchable = 1 << 1,
1844 HideFromWms = 1 << 2,
1845 HideFromWfs = 1 << 3,
1846 };
1847 Q_ENUM( FieldConfigurationFlag )
1848
1849
1857 Q_FLAG( FieldConfigurationFlags )
1858
1864 enum class FieldMetadataProperty : int
1865 {
1866 GeometryCrs = 0x1000,
1867 GeometryWkbType = 0x1001,
1868 CustomProperty = 0x100000,
1869 };
1870 Q_ENUM( FieldMetadataProperty )
1871
1872
1877 enum class SelectionRenderingMode : int
1878 {
1879 Default,
1880 CustomColor,
1881 CustomSymbol,
1882 };
1883 Q_ENUM( SelectionRenderingMode )
1884
1885
1891 {
1892 SetSelection,
1893 AddToSelection,
1894 IntersectSelection,
1895 RemoveFromSelection,
1896 };
1897 Q_ENUM( SelectBehavior )
1898
1899
1905 {
1906 Intersect,
1907 Within,
1908 };
1909 Q_ENUM( SelectGeometryRelationship )
1910
1911
1916 enum class SelectionFlag : int SIP_ENUM_BASETYPE( IntFlag )
1917 {
1918 SingleFeatureSelection = 1 << 0,
1919 ToggleSelection = 1 << 1,
1920 };
1921
1927 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1928
1930 Q_FLAG( SelectionFlags )
1931
1932
1938 {
1940 EmptyGeometry = 1,
1941 EditFailed = 2,
1942 FetchFeatureFailed = 3,
1943 InvalidLayer = 4,
1944 };
1945 Q_ENUM( VectorEditResult )
1946
1947
1953 {
1954 SemiTransparentCircle,
1955 Cross,
1956 NoMarker,
1957 };
1958 Q_ENUM( VertexMarkerType )
1959
1960
1964 enum class ContentStatus : int
1965 {
1966 NotStarted,
1967 Running,
1968 Finished,
1969 Failed,
1970 Canceled,
1971 };
1972 Q_ENUM( ContentStatus )
1973
1974
1979 enum class GpsConnectionType : int
1980 {
1981 Automatic,
1982 Internal,
1983 Serial,
1984 Gpsd,
1985 };
1986 Q_ENUM( GpsConnectionType )
1987
1988
1993 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
1994 {
1995 Disconnected,
1996 Connecting,
1997 Connected,
1998 };
1999 Q_ENUM( DeviceConnectionStatus )
2000
2001
2009 {
2010 NoData,
2011 NoFix,
2012 Fix2D,
2013 Fix3D
2014 };
2016
2017
2024 {
2025 Unknown,
2026 Gps,
2027 Glonass,
2028 Galileo,
2029 BeiDou,
2030 Qzss,
2031 Navic,
2032 Sbas,
2033 };
2035
2042 {
2043 Unknown = -1,
2044 Invalid,
2045 GPS,
2046 DGPS,
2047 PPS,
2048 RTK,
2049 FloatRTK,
2050 Estimated,
2051 Manual,
2052 Simulation,
2053 };
2054 Q_ENUM( GpsQualityIndicator )
2055
2056
2061 enum class GpsNavigationStatus : int
2062 {
2063 NotValid,
2064 Safe,
2065 Caution,
2066 Unsafe,
2067 };
2069
2075 enum class GpsInformationComponent : int SIP_ENUM_BASETYPE( IntFlag )
2076 {
2077 Location = 1 << 0,
2078 Altitude = 1 << 1,
2079 GroundSpeed = 1 << 2,
2080 Bearing = 1 << 3,
2081 TotalTrackLength = 1 << 4,
2082 TrackDistanceFromStart = 1 << 5,
2083 Pdop = 1 << 6,
2084 Hdop = 1 << 7,
2085 Vdop = 1 << 8,
2086 HorizontalAccuracy = 1 << 9,
2087 VerticalAccuracy = 1 << 10,
2088 HvAccuracy = 1 << 11,
2089 SatellitesUsed = 1 << 12,
2090 Timestamp = 1 << 13,
2091 TrackStartTime = 1 << 14,
2092 TrackEndTime = 1 << 15,
2093 TrackDistanceSinceLastPoint = 1 << 16,
2094 TrackTimeSinceLastPoint = 1 << 17,
2095 GeoidalSeparation = 1 << 18,
2096 EllipsoidAltitude = 1 << 19,
2097 };
2098
2106 Q_FLAG( GpsInformationComponents )
2107
2108
2113 enum class BabelFormatCapability : int SIP_ENUM_BASETYPE( IntFlag )
2114 {
2115 Import = 1 << 0,
2116 Export = 1 << 1,
2117 Waypoints = 1 << 2,
2118 Routes = 1 << 3,
2119 Tracks = 1 << 4,
2120 };
2121
2124 Q_FLAG( BabelFormatCapabilities )
2125
2126
2132 enum class BabelCommandFlag : int SIP_ENUM_BASETYPE( IntFlag )
2133 {
2134 QuoteFilePaths = 1 << 0,
2135 };
2136
2139 Q_FLAG( BabelCommandFlags )
2140
2141
2146 enum class GpsFeatureType : int
2147 {
2148 Waypoint,
2149 Route,
2150 Track,
2151 };
2152 Q_ENUM( GpsFeatureType )
2153
2154
2162 {
2164 NothingHappened = 1000,
2165 InvalidBaseGeometry,
2166 InvalidInputGeometryType,
2167 SelectionIsEmpty,
2168 SelectionIsGreaterThanOne,
2169 GeometryEngineError,
2170 LayerNotEditable,
2171 // Add part issues
2172 AddPartSelectedGeometryNotFound,
2173 AddPartNotMultiGeometry,
2174 // Add ring issues
2175 AddRingNotClosed,
2176 AddRingNotValid,
2177 AddRingCrossesExistingRings,
2178 AddRingNotInExistingFeature,
2179 // Split features
2180 SplitCannotSplitPoint,
2181 GeometryTypeHasChanged,
2182 };
2183 Q_ENUM( GeometryOperationResult )
2184
2185
2191 {
2192 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles )
2193 = 1 << 0,
2194 };
2195
2198 Q_FLAG( GeometryValidityFlags )
2199
2200
2205 {
2206 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
2207 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
2208 };
2209 Q_ENUM( GeometryValidationEngine )
2210
2211
2221 Q_ENUM( BufferSide )
2222
2223
2234 Q_ENUM( EndCapStyle )
2235
2236
2242 {
2243 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
2244 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
2245 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
2246 };
2247 Q_ENUM( JoinStyle )
2248
2249
2254 enum class JoinStyle3D : int
2255 {
2256 Round = 1,
2257 Flat,
2258 CylindersAndSpheres,
2259 };
2260 Q_ENUM( JoinStyle3D )
2261
2262
2267 enum class GeometryBackend : int
2268 {
2269 QGIS = 1,
2270 GEOS,
2271 };
2272 Q_ENUM( GeometryBackend )
2273
2274
2279 enum class GeosCreationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2280 {
2281 RejectOnInvalidSubGeometry = 1 << 0,
2282 SkipEmptyInteriorRings = 1 << 1,
2283 };
2284 Q_ENUM( GeosCreationFlag )
2285
2286
2292 Q_FLAG( GeosCreationFlags )
2293
2299 enum class CoverageValidityResult : int
2300 {
2301 Invalid = 0,
2302 Valid = 1,
2303 Error = 2,
2304 };
2305 Q_ENUM( CoverageValidityResult )
2306
2307
2312 enum class MakeValidMethod : int
2313 {
2314 Linework = 0,
2315 Structure = 1,
2316 };
2317 Q_ENUM( MakeValidMethod )
2318
2319
2327 {
2328 NoFlags = 0,
2329 NoGeometry = 1,
2330 SubsetOfAttributes = 2,
2331 ExactIntersect = 4,
2332 IgnoreStaticNodesDuringExpressionCompilation
2333 = 8,
2334 EmbeddedSymbols = 16,
2335 };
2336 Q_ENUM( FeatureRequestFlag )
2337
2338
2346 Q_FLAG( FeatureRequestFlags )
2347
2356 {
2357 NoFilter SIP_MONKEYPATCH_COMPAT_NAME( FilterNone ),
2359 Expression SIP_MONKEYPATCH_COMPAT_NAME( FilterExpression ),
2361 };
2362 Q_ENUM( FeatureRequestFilterType )
2363
2364
2372 {
2373 NoCheck SIP_MONKEYPATCH_COMPAT_NAME( GeometryNoCheck ) = 0,
2374 SkipInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometrySkipInvalid ) = 1,
2375 AbortOnInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometryAbortOnInvalid ) = 2,
2376 };
2377 Q_ENUM( InvalidGeometryCheck )
2378
2379
2384 enum class SpatialFilterType : int
2385 {
2386 NoFilter,
2387 BoundingBox,
2388 DistanceWithin,
2389 };
2390 Q_ENUM( SpatialFilterType )
2391
2392
2397 enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2398 {
2399 IncludeMetadataFile = 1 << 0,
2400 IncludeStyleFile = 1 << 1,
2401 };
2402
2405 Q_FLAG( FileOperationFlags )
2406
2407
2412 enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
2413 {
2414 UsersCannotToggleEditing
2415 = 1 << 0,
2416 IsBasemapLayer = 1 << 1,
2417 Is3DBasemapLayer = 1 << 2,
2418 };
2419
2422 Q_FLAG( MapLayerProperties )
2423
2424
2429 enum class AutoRefreshMode : int
2430 {
2431 Disabled = 0,
2432 ReloadData = 1,
2433 RedrawOnly = 2,
2434 };
2435 Q_ENUM( AutoRefreshMode )
2436
2437
2442 enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
2443 {
2444 IsBasemapSource = 1 << 1,
2445 FastExtent2D = 1 << 2,
2446 FastExtent3D = 1 << 3,
2447 Is3DBasemapSource = 1 << 4,
2448 };
2449
2452 Q_FLAG( DataProviderFlags )
2453
2454
2461 enum class CrsType : int
2462 {
2463 Unknown,
2464 Geodetic,
2465 Geocentric,
2466 Geographic2d,
2467 Geographic3d,
2468 Vertical,
2469 Projected,
2470 Compound,
2471 Temporal,
2472 Engineering,
2473 Bound,
2474 Other,
2475 DerivedProjected,
2476 };
2477 Q_ENUM( CrsType )
2478
2479
2486 enum class CrsAxisDirection : int
2487 {
2488 North,
2489 NorthNorthEast,
2490 NorthEast,
2491 EastNorthEast,
2492 East,
2493 EastSouthEast,
2494 SouthEast,
2495 SouthSouthEast,
2496 South,
2497 SouthSouthWest,
2498 SouthWest,
2499 WestSouthWest,
2500 West,
2501 WestNorthWest,
2502 NorthWest,
2503 NorthNorthWest,
2504 GeocentricX,
2505 GeocentricY,
2506 GeocentricZ,
2509 Forward,
2510 Aft,
2511 Port,
2512 Starboard,
2513 Clockwise,
2514 CounterClockwise,
2515 ColumnPositive,
2516 ColumnNegative,
2517 RowPositive,
2518 RowNegative,
2519 DisplayRight,
2520 DisplayLeft,
2521 DisplayUp,
2522 DisplayDown,
2523 Future,
2524 Past,
2525 Towards,
2526 AwayFrom,
2527 Unspecified,
2528 };
2529 Q_ENUM( CrsAxisDirection )
2530
2531
2536 enum class CoordinateOrder : int
2537 {
2538 Default,
2539 XY,
2540 YX,
2541 };
2542 Q_ENUM( CoordinateOrder )
2543
2544
2552 {
2553 ShortString,
2554 MediumString,
2555 FullString,
2556 };
2557 Q_ENUM( CrsIdentifierType )
2558
2559
2567 {
2569 WKT1_GDAL
2570 ),
2571 Wkt1Esri SIP_MONKEYPATCH_COMPAT_NAME( WKT1_ESRI ),
2572 Wkt2_2015 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015 ),
2573 Wkt2_2015Simplified SIP_MONKEYPATCH_COMPAT_NAME(
2574 WKT2_2015_SIMPLIFIED
2575 ),
2577 WKT2_2019
2578 ),
2579 Wkt2_2019Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019_SIMPLIFIED ),
2580 Preferred SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED ) = Wkt2_2019,
2581 PreferredSimplified SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_SIMPLIFIED )
2582 = Wkt2_2019Simplified,
2583 PreferredGdal SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_GDAL ) = Wkt2_2019,
2584 };
2585 Q_ENUM( CrsWktVariant )
2586
2587
2593 {
2594 NoAction = 0,
2595 PromptUserForCrs = 1,
2596 UseProjectCrs = 2,
2597 UseDefaultCrs = 3,
2598 };
2599 Q_ENUM( UnknownLayerCrsBehavior )
2600
2601
2606 enum class Axis : int
2607 {
2608 X,
2609 Y,
2611 };
2612 Q_ENUM( Axis )
2613
2614
2619 enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
2620 {
2621 ScaleDependentBoundingBox = 1 << 0,
2622 SupportsReferenceScale = 1 << 1,
2623 SupportsCallouts = 1 << 2,
2624 };
2625
2628 Q_FLAG( AnnotationItemFlags )
2629
2630
2636 {
2637 SpatialBounds = 0,
2638 FixedSize,
2639 RelativeToMapFrame,
2640 };
2641 Q_ENUM( AnnotationPlacementMode )
2642
2643
2648 enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
2649 {
2650 FlagNoCreationTools = 1 << 0,
2651 };
2652
2655 Q_FLAG( AnnotationItemGuiFlags )
2656
2657
2662 enum class AnnotationItemNodeType : int
2663 {
2664 VertexHandle,
2665 CalloutHandle,
2666 };
2667 Q_ENUM( AnnotationItemNodeType )
2668
2669
2675 {
2677 Invalid,
2678 ItemCleared,
2679 };
2680 Q_ENUM( AnnotationItemEditOperationResult )
2681
2682
2690 {
2691 Disabled SIP_MONKEYPATCH_COMPAT_NAME( NavigationOff ),
2692 Animated,
2693 FixedRange,
2694 Movie,
2695 };
2696 Q_ENUM( TemporalNavigationMode )
2697
2698
2711 Q_ENUM( AnimationState )
2712
2713
2718 enum class PlaybackOperation : int
2719 {
2720 SkipToStart,
2721 PreviousFrame,
2722 PlayReverse,
2723 Pause,
2724 PlayForward,
2725 NextFrame,
2726 SkipToEnd,
2727 };
2728 Q_ENUM( PlaybackOperation )
2729
2730
2736 {
2737 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2738 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
2739 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
2740 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
2741 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
2743 ModeRedrawLayerOnly
2744 ),
2745 };
2746 Q_ENUM( VectorTemporalMode )
2747
2748
2754 {
2755 IncludeBeginExcludeEnd = 0,
2756 IncludeBeginIncludeEnd,
2757 };
2758 Q_ENUM( VectorTemporalLimitMode )
2759
2760
2766 {
2767 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
2768 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
2769 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2770 };
2771 Q_ENUM( VectorDataProviderTemporalMode )
2772
2773
2779 {
2780 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2781 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
2782 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly )
2783 = 2,
2784 FixedRangePerBand = 3,
2785 RepresentsTemporalValues = 4,
2786 FixedDateTime = 5,
2787 };
2788 Q_ENUM( RasterTemporalMode )
2789
2790
2796 {
2797 MatchUsingWholeRange,
2798 MatchExactUsingStartOfRange,
2799 MatchExactUsingEndOfRange,
2800 FindClosestMatchToStartOfRange,
2801 FindClosestMatchToEndOfRange
2802 };
2803 Q_ENUM( TemporalIntervalMatchMethod )
2804
2805
2811 {
2812 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges
2813 = 1 << 0,
2814 };
2815 Q_ENUM( RasterTemporalCapabilityFlag )
2816
2817
2824
2835 Q_ENUM( TransformDirection )
2836
2837
2843 {
2844 BallparkTransformsAreAppropriate
2845 = 1 << 0,
2846 IgnoreImpossibleTransformations
2847 = 1 << 1,
2848 };
2849 Q_ENUM( CoordinateTransformationFlag )
2850
2851
2858
2865 {
2866 Default,
2867 PreferVector,
2868 ForceVector,
2869 };
2870 Q_ENUM( RasterizedRenderingPolicy )
2871
2872
2878 {
2879 Antialiasing = 0x01,
2880 DrawEditingInfo = 0x02,
2881 ForceVectorOutput = 0x04,
2882 UseAdvancedEffects = 0x08,
2883 DrawLabeling = 0x10,
2884 UseRenderingOptimization = 0x20,
2885 DrawSelection = 0x40,
2886 DrawSymbolBounds = 0x80,
2887 RenderMapTile = 0x100,
2888 RenderPartialOutput = 0x200,
2889 RenderPreviewJob = 0x400,
2890 RenderBlocking = 0x800,
2891 LosslessImageRendering
2892 = 0x1000,
2893 Render3DMap = 0x2000,
2894 HighQualityImageTransforms = 0x4000,
2895 SkipSymbolRendering = 0x8000,
2896 ForceRasterMasks = 0x10000,
2897 RecordProfile = 0x20000,
2898 AlwaysUseGlobalMasks
2899 = 0x40000,
2900 };
2901
2904 Q_FLAG( MapSettingsFlags )
2905
2906
2912 {
2913 DrawEditingInfo = 0x01,
2914 ForceVectorOutput = 0x02,
2915 UseAdvancedEffects = 0x04,
2916 UseRenderingOptimization = 0x08,
2917 DrawSelection = 0x10,
2918 DrawSymbolBounds = 0x20,
2919 RenderMapTile = 0x40,
2920 Antialiasing = 0x80,
2921 RenderPartialOutput = 0x100,
2922 RenderPreviewJob = 0x200,
2923 RenderBlocking = 0x400,
2924 RenderSymbolPreview = 0x800,
2925 LosslessImageRendering = 0x1000,
2926 ApplyScalingWorkaroundForTextRendering = 0x2000,
2927 Render3DMap = 0x4000,
2928 ApplyClipAfterReprojection = 0x8000,
2929 RenderingSubSymbol = 0x10000,
2930 HighQualityImageTransforms = 0x20000,
2931 SkipSymbolRendering = 0x40000,
2932 RecordProfile = 0x80000,
2933 AlwaysUseGlobalMasks = 0x100000,
2934 DisableSymbolClippingToExtent = 0x200000,
2935 RenderLayerTree = 0x400000
2936 };
2937
2940 Q_FLAG( RenderContextFlags )
2941
2942
2947 enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2948 {
2949 RenderPartialOutputs = 1 << 0,
2950 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2951 AffectsLabeling = 1 << 2,
2952 };
2953 Q_ENUM( MapLayerRendererFlag )
2954
2955
2961 Q_FLAG( MapLayerRendererFlags )
2962
2968 enum class PaintEffectFlag : int SIP_ENUM_BASETYPE( IntFlag )
2969 {
2970 RequiresRasterization = 1 << 0,
2971 };
2972 Q_ENUM( PaintEffectFlag )
2973
2974
2980 Q_FLAG( PaintEffectFlags )
2981
2982 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
2983 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
2984
2990 {
2992 TextFormatAlwaysOutlines
2993 ),
2995 TextFormatAlwaysText
2996 ),
2997 PreferText,
2998 };
2999 Q_ENUM( TextRenderFormat )
3000
3001
3009 {
3010 UseAllLabels = 1 << 1,
3011 UsePartialCandidates = 1 << 2,
3012 // TODO QGIS 5.0: remove
3013 RenderOutlineLabels = 1 << 3,
3014 DrawLabelRectOnly = 1 << 4,
3015 DrawCandidates = 1 << 5,
3016 DrawUnplacedLabels = 1 << 6,
3017 CollectUnplacedLabels = 1 << 7,
3018 DrawLabelMetrics = 1 << 8,
3019 };
3020 Q_ENUM( LabelingFlag )
3021
3022
3030 Q_FLAG( LabelingFlags )
3031
3040 {
3041 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
3042 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
3043 };
3044 Q_ENUM( LabelPlacementEngineVersion )
3045
3046
3054 {
3055 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
3056 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
3057 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
3058 };
3059 Q_ENUM( TextOrientation )
3060
3061
3069 {
3071 Point,
3073 RectangleCapHeightBased,
3074 RectangleAscentBased,
3075 };
3076 Q_ENUM( TextLayoutMode )
3077
3078
3086 {
3087 Text = 1 << 0,
3088 Buffer = 1 << 1,
3089 Background = 1 << 2,
3090 Shadow = 1 << 3,
3091 };
3092 Q_ENUM( TextComponent )
3093
3094
3099 Q_DECLARE_FLAGS( TextComponents, TextComponent )
3100 Q_FLAG( TextComponents )
3101
3116 Q_ENUM( TextHorizontalAlignment )
3117
3118
3129 {
3131 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
3132 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
3133 };
3134 Q_ENUM( TextVerticalAlignment )
3135
3136
3145 {
3146 Normal,
3147 SuperScript,
3148 SubScript,
3149 };
3150 Q_ENUM( TextCharacterVerticalAlignment )
3151
3152
3158 {
3159 TruncateStringWhenLineIsTooShort = 1 << 0,
3160 UseBaselinePlacement = 1 << 1,
3161 UprightCharactersOnly = 1 << 2,
3162 ExtendLineToFitText = 1 << 3,
3163 };
3164 Q_ENUM( CurvedTextFlag )
3165
3166
3172
3181 {
3182 Distance = 0,
3183 SnapToGrid = 1,
3184 Visvalingam = 2,
3185 SnappedToGridGlobal = 3,
3186 };
3187 Q_ENUM( VectorSimplificationAlgorithm )
3188
3189
3197 {
3198 NoSimplification = 0,
3199 GeometrySimplification = 1,
3200 AntialiasingSimplification = 2,
3201 FullSimplification = 3,
3202 };
3203 Q_ENUM( VectorRenderingSimplificationFlag )
3204
3205
3214
3221 {
3222 Generic,
3223 ShadowOffset,
3224 BlurSize,
3225 GlowSpread,
3226 };
3227 Q_ENUM( RenderSubcomponentProperty )
3228
3229
3235 {
3236 SymbolLayer,
3237 Label,
3238 };
3239 Q_ENUM( SelectiveMaskSourceType )
3240
3241
3246 {
3247 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
3248 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
3249 ControlPoint SIP_MONKEYPATCH_COMPAT_NAME( ControlPointVertex ) = 3,
3250 };
3251 Q_ENUM( VertexType )
3252
3253
3261 {
3262 Square,
3263 Diamond,
3264 Pentagon,
3265 Hexagon,
3266 Triangle,
3267 EquilateralTriangle,
3268 Star,
3269 Arrow,
3270 Circle,
3271 Cross,
3272 CrossFill,
3273 Cross2,
3274 Line,
3275 ArrowHead,
3276 ArrowHeadFilled,
3277 SemiCircle,
3278 ThirdCircle,
3279 QuarterCircle,
3280 QuarterSquare,
3281 HalfSquare,
3282 DiagonalHalfSquare,
3283 RightHalfTriangle,
3284 LeftHalfTriangle,
3285 Octagon,
3286 SquareWithCorners,
3287 AsteriskFill,
3288 HalfArc,
3289 ThirdArc,
3290 QuarterArc,
3291 ParallelogramRight,
3292 ParallelogramLeft,
3293 Trapezoid,
3294 Shield,
3295 DiamondStar,
3296 Heart,
3297 Decagon,
3298 RoundedSquare,
3299 };
3300 Q_ENUM( MarkerShape )
3301
3302
3310 {
3311 Interval = 1 << 0,
3312 Vertex = 1 << 1,
3313 LastVertex = 1 << 2,
3314 FirstVertex = 1 << 3,
3315 CentralPoint = 1 << 4,
3316 CurvePoint = 1 << 5,
3317 SegmentCenter = 1 << 6,
3318 InnerVertices = 1 << 7,
3319 };
3320 Q_ENUM( MarkerLinePlacement )
3322 Q_FLAG( MarkerLinePlacements )
3323
3330 {
3331 IntervalCartesian2D = 1 << 0,
3332 IntervalZ = 1 << 1,
3333 IntervalM = 1 << 2,
3334 Vertex = 1 << 3,
3335 };
3336 Q_ENUM( LinearReferencingPlacement )
3337
3338
3344 {
3345 CartesianDistance2D,
3346 Z,
3347 M,
3348 };
3349 Q_ENUM( LinearReferencingLabelSource )
3350
3351
3359 {
3360 SimpleTwoColor,
3361 ColorRamp,
3362 };
3363 Q_ENUM( GradientColorSource )
3364
3365
3378 Q_ENUM( GradientType )
3379
3380
3388 {
3389 Feature,
3390 Viewport,
3391 };
3392 Q_ENUM( SymbolCoordinateReference )
3393
3394
3408 Q_ENUM( GradientSpread )
3409
3410
3418 {
3419 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
3420 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
3421 };
3422 Q_ENUM( PointCountMethod )
3423
3424
3429 enum class MarkerClipMode : int
3430 {
3431 NoClipping,
3432 Shape,
3433 CentroidWithin,
3434 CompletelyWithin,
3435 };
3436 Q_ENUM( MarkerClipMode )
3437
3438
3443 enum class LineClipMode : int
3444 {
3445 ClipPainterOnly,
3446 ClipToIntersection,
3447 NoClipping,
3448 };
3449 Q_ENUM( LineClipMode )
3450
3451
3457 {
3458 NoRule,
3459 FullDash,
3460 HalfDash,
3461 FullGap,
3462 HalfGap,
3463 };
3464 Q_ENUM( DashPatternLineEndingRule )
3465
3466
3472 {
3473 ScaleBothDashAndGap,
3474 ScaleDashOnly,
3475 ScaleGapOnly,
3476 };
3477 Q_ENUM( DashPatternSizeAdjustment )
3478
3479
3491 Q_ENUM( GraduatedMethod )
3492
3493
3499 {
3500 NoLabels,
3501 EveryLabel,
3502 FirstLabel,
3503 LastLabel,
3504 FirstAndLastLabels,
3505 };
3506 Q_ENUM( PlotAxisSuffixPlacement )
3507
3508
3509
3514 enum class PlotAxisType
3515 {
3516 Interval,
3517 Categorical,
3518 };
3519 Q_ENUM( PlotAxisType )
3520
3521
3526 enum class PieChartLabelType : int
3527 {
3528 NoLabels,
3529 Categories,
3530 Values,
3531 };
3532 Q_ENUM( PieChartLabelType )
3533
3534
3538 enum class DpiMode
3539 {
3540 All = 7,
3541 Off = 0,
3542 QGIS = 1,
3543 UMN = 2,
3544 GeoServer = 4,
3545 };
3546 Q_ENUM( DpiMode )
3547
3548
3553 {
3554 Undefined = 0,
3555 StandardDpi = 1,
3556 HighDpi = 2,
3557 };
3558 Q_ENUM( TilePixelRatio )
3559
3560 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
3561
3562
3570 {
3571 MixedCase = 0,
3572 AllUppercase = 1,
3573 AllLowercase = 2,
3574 ForceFirstLetterToCapital = 4,
3575 SmallCaps = 5,
3576 TitleCase = 1004,
3577 UpperCamelCase = 1005,
3578 AllSmallCaps = 1006,
3579 };
3580 Q_ENUM( Capitalization )
3581
3582
3587 enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
3588 {
3589 WrapLines = 1 << 0,
3590 };
3591 Q_ENUM( TextRendererFlag )
3593 Q_FLAG( TextRendererFlags )
3594
3601 {
3602 MapBox,
3603 Esri,
3604 };
3606
3613 {
3614 Clockwise,
3615 CounterClockwise,
3616 NoOrientation,
3617 };
3618 Q_ENUM( AngularDirection )
3619
3620
3625 enum class RendererUsage : int
3626 {
3627 View,
3628 Export,
3629 Unknown,
3630 };
3631 Q_ENUM( RendererUsage )
3632
3633
3638 enum class MapCanvasFlag : int SIP_ENUM_BASETYPE( IntFlag )
3639 {
3640 ShowMainAnnotationLayer = 1 << 0,
3641 };
3642 Q_ENUM( MapCanvasFlag )
3643
3644
3649 Q_DECLARE_FLAGS( MapCanvasFlags, MapCanvasFlag )
3650 Q_FLAG( MapCanvasFlags )
3651
3657 enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
3658 {
3659 Sync3DTo2D = 1 << 0,
3660 Sync2DTo3D = 1 << 1,
3661 };
3662 Q_ENUM( ViewSyncModeFlag )
3664
3671 {
3672 Always,
3673 WhenOutsideVisibleExtent,
3674 Never,
3675 };
3676 Q_ENUM( MapRecenteringMode )
3677
3678
3683 enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
3684 {
3685 LocalProfile = 1 << 0,
3686 // Project = 1 << 1, //!< QGIS Project (not yet implemented)
3687 };
3688 Q_ENUM( HistoryProviderBackend )
3690 Q_FLAG( HistoryProviderBackends )
3691
3697 enum class QueryStorageBackend : int
3698 {
3699 LocalProfile,
3700 CurrentProject,
3701 };
3702 Q_ENUM( QueryStorageBackend )
3703
3704
3712 {
3713 MapLayer SIP_MONKEYPATCH_COMPAT_NAME( TypeMapLayer ) = -2,
3714 VectorAnyGeometry SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorAnyGeometry ) = -1,
3715 VectorPoint SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPoint ) = 0,
3716 VectorLine SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorLine ) = 1,
3717 VectorPolygon SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPolygon ) = 2,
3718 Raster SIP_MONKEYPATCH_COMPAT_NAME( TypeRaster ) = 3,
3719 File SIP_MONKEYPATCH_COMPAT_NAME( TypeFile ) = 4,
3720 Vector SIP_MONKEYPATCH_COMPAT_NAME( TypeVector ) = 5,
3721 Mesh SIP_MONKEYPATCH_COMPAT_NAME( TypeMesh ) = 6,
3722 Plugin SIP_MONKEYPATCH_COMPAT_NAME( TypePlugin ) = 7,
3723 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( TypePointCloud ) = 8,
3724 Annotation SIP_MONKEYPATCH_COMPAT_NAME( TypeAnnotation ) = 9,
3725 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorTile ) = 10,
3726 TiledScene = 11
3727 };
3728 Q_ENUM( ProcessingSourceType )
3729
3730
3731
3739 {
3740 DeemphasiseSearchResults SIP_MONKEYPATCH_COMPAT_NAME( FlagDeemphasiseSearchResults )
3741 = 1 << 1,
3742 CompatibleWithVirtualRaster SIP_MONKEYPATCH_COMPAT_NAME( FlagCompatibleWithVirtualRaster ) = 1 << 2,
3743 };
3745
3754 Q_FLAG( ProcessingProviderFlags )
3755
3756
3764 {
3765 HideFromToolbox SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromToolbox ) = 1 << 1,
3766 HideFromModeler SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromModeler ) = 1 << 2,
3767 SupportsBatch SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsBatch ) = 1 << 3,
3768 CanCancel SIP_MONKEYPATCH_COMPAT_NAME( FlagCanCancel ) = 1 << 4,
3769 RequiresMatchingCrs SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresMatchingCrs ) = 1 << 5,
3770 NoThreading SIP_MONKEYPATCH_COMPAT_NAME( FlagNoThreading ) = 1 << 6,
3771 DisplayNameIsLiteral SIP_MONKEYPATCH_COMPAT_NAME( FlagDisplayNameIsLiteral ) = 1 << 7,
3772 SupportsInPlaceEdits SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsInPlaceEdits ) = 1 << 8,
3773 KnownIssues SIP_MONKEYPATCH_COMPAT_NAME( FlagKnownIssues ) = 1 << 9,
3774 CustomException SIP_MONKEYPATCH_COMPAT_NAME( FlagCustomException ) = 1 << 10,
3775 PruneModelBranchesBasedOnAlgorithmResults SIP_MONKEYPATCH_COMPAT_NAME( FlagPruneModelBranchesBasedOnAlgorithmResults ) = 1 << 11,
3776 SkipGenericModelLogging SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGenericModelLogging ) = 1 << 12,
3777 NotAvailableInStandaloneTool SIP_MONKEYPATCH_COMPAT_NAME( FlagNotAvailableInStandaloneTool ) = 1 << 13,
3778 RequiresProject SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresProject ) = 1 << 14,
3779 SecurityRisk = 1 << 15,
3780 Deprecated SIP_MONKEYPATCH_COMPAT_NAME( FlagDeprecated ) = HideFromToolbox | HideFromModeler,
3781 };
3783
3792 Q_FLAG( ProcessingAlgorithmFlags )
3793
3794
3800 {
3801 RegeneratesPrimaryKey = 1 << 0,
3802 RegeneratesPrimaryKeyInSomeScenarios = 1 << 1,
3803 RespectsEllipsoid = 1 << 2,
3804 };
3805 Q_ENUM( ProcessingAlgorithmDocumentationFlag )
3806
3807
3814
3824 {
3825 NotAvailable,
3826 Available,
3827 };
3828 Q_ENUM( ProcessingPropertyAvailability )
3829
3830
3838 {
3839 DefaultLevel = 0,
3840 Verbose,
3841 ModelDebug,
3842 };
3843 Q_ENUM( ProcessingLogLevel )
3844
3845
3853 {
3854 Standard,
3855 Batch,
3856 Modeler,
3857 };
3858 Q_ENUM( ProcessingMode )
3859
3860
3868 {
3869 OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck )
3870 = 1 << 0,
3871 CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature )
3872 = 1 << 1,
3873 };
3874 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3875
3876
3885
3894 {
3895 SkipGeometryValidityChecks SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGeometryValidityChecks ) = 1 << 1,
3896 };
3897 Q_ENUM( ProcessingFeatureSourceFlag )
3898
3899
3908
3920 {
3921 ExposeToModeler = 1
3922 };
3923 Q_ENUM( ProcessingParameterTypeFlag )
3924
3925
3937
3946 {
3947 Advanced SIP_MONKEYPATCH_COMPAT_NAME( FlagAdvanced ) = 1 << 1,
3948 Hidden SIP_MONKEYPATCH_COMPAT_NAME( FlagHidden ) = 1 << 2,
3949 Optional SIP_MONKEYPATCH_COMPAT_NAME( FlagOptional ) = 1 << 3,
3950 IsModelOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagIsModelOutput ) = 1 << 4,
3951 };
3952 Q_ENUM( ProcessingParameterFlag )
3953
3954
3962 Q_FLAG( ProcessingParameterFlags )
3963
3976 Q_ENUM( ProcessingFileParameterBehavior )
3977
3978
3990 Q_ENUM( ProcessingNumberParameterType )
3991
3992
4000 {
4001 Any = -1,
4002 Numeric = 0,
4003 String = 1,
4004 DateTime = 2,
4005 Binary = 3,
4006 Boolean = 4,
4007 };
4008 Q_ENUM( ProcessingFieldParameterDataType )
4009
4010
4023 Q_ENUM( ProcessingDateTimeParameterDataType )
4024
4025
4031 {
4032 ModelParameter,
4033 ChildOutput,
4034 StaticValue,
4035 Expression,
4036 ExpressionText,
4037 ModelOutput,
4038 };
4039 Q_ENUM( ProcessingModelChildParameterSource )
4040
4041
4047 {
4048 NotExecuted,
4050 Failed,
4051 };
4052 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
4053
4054
4062 {
4063 Vertices,
4064 StructureLines,
4065 BreakLines
4066 };
4067 Q_ENUM( ProcessingTinInputLayerType )
4068
4069
4079 Q_ENUM( CrsDefinitionFormat )
4080
4081
4089 enum class FieldDomainSplitPolicy : int
4090 {
4091 DefaultValue,
4092 Duplicate,
4093 GeometryRatio,
4094 UnsetField,
4095 };
4096 Q_ENUM( FieldDomainSplitPolicy )
4097
4098
4106 enum class FieldDomainMergePolicy : int
4107 {
4108 DefaultValue,
4109 Sum,
4110 GeometryWeighted,
4111 UnsetField,
4112 LargestGeometry,
4113 MinimumValue,
4114 MaximumValue,
4115 SetToNull,
4116 };
4117 Q_ENUM( FieldDomainMergePolicy )
4118
4119
4126 enum class FieldDuplicatePolicy : int
4127 {
4128 DefaultValue,
4129 Duplicate,
4130 UnsetField,
4131 };
4132 Q_ENUM( FieldDuplicatePolicy )
4133
4134
4139 enum class FieldDomainType : int
4140 {
4141 Coded,
4142 Range,
4143 Glob,
4144 };
4145 Q_ENUM( FieldDomainType )
4146
4147
4152 enum class TransactionMode : int
4153 {
4154 Disabled = 0,
4155 AutomaticGroups = 1,
4156 BufferedGroups = 2,
4157 };
4158 Q_ENUM( TransactionMode )
4159
4160
4165 enum class AltitudeClamping : int
4166 {
4167 Absolute,
4168 Relative,
4169 Terrain,
4170 };
4171 Q_ENUM( AltitudeClamping )
4172
4173
4178 enum class AltitudeBinding : int
4179 {
4180 Vertex,
4181 Centroid,
4182 };
4183 Q_ENUM( AltitudeBinding )
4184
4185
4190 enum class RangeLimits : int
4191 {
4192 IncludeBoth = 0,
4193 IncludeLowerExcludeUpper,
4194 ExcludeLowerIncludeUpper,
4195 ExcludeBoth,
4196 };
4197 Q_ENUM( RangeLimits )
4198
4199
4204 enum class RasterElevationMode : int
4205 {
4206 FixedElevationRange = 0,
4207 RepresentsElevationSurface = 1,
4208 FixedRangePerBand = 2,
4209 DynamicRangePerBand = 3,
4210 };
4211 Q_ENUM( RasterElevationMode )
4212
4213
4218 enum class MeshElevationMode : int
4219 {
4220 FixedElevationRange = 0,
4221 FromVertices = 1,
4222 FixedRangePerGroup = 2,
4223 };
4224 Q_ENUM( MeshElevationMode )
4225
4226
4232 {
4233 NoConstraint,
4234 Perpendicular,
4235 Parallel
4236 };
4237 Q_ENUM( BetweenLineConstraint )
4238
4239
4244 enum class LineExtensionSide : int
4245 {
4246 BeforeVertex,
4247 AfterVertex,
4248 NoVertex,
4249 };
4250 Q_ENUM( LineExtensionSide )
4251
4252
4253
4257 enum class CadConstraintType : int
4258 {
4259 Generic,
4260 Angle,
4261 Distance,
4262 XCoordinate,
4263 YCoordinate,
4264 ZValue,
4265 MValue,
4266 };
4267 Q_ENUM( CadConstraintType )
4268
4269
4274 {
4275 Hidden,
4276 Cartesian,
4277 Ellipsoidal,
4278 };
4279 Q_ENUM( CadMeasurementDisplayType )
4280
4281
4286 enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
4287 {
4288 EvaluateDefaultValuesOnProviderSide = 1 << 0,
4289 TrustStoredLayerStatistics
4290 = 1 << 1,
4291 RememberLayerEditStatusBetweenSessions = 1 << 2,
4292 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
4293 };
4294 Q_ENUM( ProjectFlag )
4295 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
4296 Q_FLAG( ProjectFlags )
4297
4303 enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
4304 {
4305 ShowContextMenu = 1 << 0,
4306 };
4307 Q_ENUM( PlotToolFlag )
4308 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
4309 Q_FLAG( PlotToolFlags )
4310
4318 enum class Map3DDebugFlag : int SIP_ENUM_BASETYPE( IntFlag )
4319 {
4320 ShowTerrainBoundingBoxes = 1 << 0,
4321 ShowTerrainTileInfo = 1 << 1,
4322 ShowCameraViewCenter = 1 << 2,
4323 ShowCameraRotationCenter = 1 << 3,
4324 ShowLightSourceOrigins = 1 << 4,
4325 ShowFPS = 1 << 5,
4326 ShowDebugPanel = 1 << 6,
4327 };
4328 Q_ENUM( Map3DDebugFlag )
4330 Q_FLAG( Map3DDebugFlags )
4331
4339 enum class Point3DShape : int
4340 {
4341 Cylinder,
4342 Sphere,
4343 Cone,
4344 Cube,
4345 Torus,
4346 Plane,
4347 ExtrudedText,
4348 Model,
4349 Billboard,
4350 };
4351 Q_ENUM( Point3DShape )
4352
4353
4362 {
4363 Triangles,
4364 Lines,
4365 InstancedPoints,
4366 Points,
4367 TrianglesWithFixedTexture,
4368 TrianglesFromModel,
4369 TrianglesDataDefined,
4370 Billboards,
4371 };
4372 Q_ENUM( MaterialRenderingTechnique )
4373
4374
4379 enum class InstancedMaterialFlag : int SIP_ENUM_BASETYPE( IntFlag )
4380 {
4381 DataDefinedScale = 1 << 0,
4382 DataDefinedRotation = 1 << 1,
4383 };
4384 Q_ENUM( InstancedMaterialFlag )
4386 Q_FLAG( InstancedMaterialFlags )
4387
4393 enum class TextureFilterQuality : int
4394 {
4395 Trilinear,
4396 Anisotropic2x,
4397 Anisotropic4x,
4398 Anisotropic8x,
4399 Anisotropic16x,
4400 };
4401 Q_ENUM( TextureFilterQuality )
4402
4403
4408 enum class ShadowQuality : int
4409 {
4410 Low,
4411 Medium,
4412 High,
4413 VeryHigh,
4414 Extreme,
4415 };
4416 Q_ENUM( ShadowQuality )
4417
4418
4423 enum class LightSourceType : int
4424 {
4425 Point,
4426 Directional,
4427 Sun,
4428 };
4429 Q_ENUM( LightSourceType )
4430
4431
4435 enum class Map3DBackgroundType : int
4436 {
4437 NoBackground,
4438 FixedGradientBackground,
4439 DistinctTextureSkybox,
4440 };
4441 Q_ENUM( Map3DBackgroundType )
4442
4443
4448 enum class SkyboxCubeMapping : int
4449 {
4450 NativeZUp,
4451 OpenGLYUp,
4452 GodotYUp,
4453 UnrealEngineZUp,
4454 LeftHandedYUpMirrored,
4455 };
4456 Q_ENUM( SkyboxCubeMapping )
4457
4458
4463 enum class NavigationMode : int
4464 {
4465 TerrainBased,
4466 Walk,
4467 GlobeTerrainBased
4468 };
4469 Q_ENUM( NavigationMode )
4470
4471
4476 enum class SceneMode : int
4477 {
4478 Local,
4479 Globe
4480 };
4481 Q_ENUM( SceneMode )
4482
4483
4488 enum class VerticalAxisInversion : int SIP_ENUM_BASETYPE( IntFlag )
4489 {
4490 WhenRotatingDragging = 1 << 0,
4491 WhenRotatingCaptured = 1 << 1,
4492 WhenPivoting = 1 << 2,
4493
4494 // Legacy aliases for old flying-only enum:
4495
4496 Never = WhenRotatingDragging | WhenRotatingCaptured | WhenPivoting, //<! Never invert vertical axis movements \deprecated QGIS 4.2
4497 WhenDragging = WhenRotatingCaptured | WhenPivoting, //<! Invert vertical axis movements when dragging in first person modes \deprecated QGIS 4.2
4498 Always = WhenPivoting, //<! Always invert vertical axis movements \deprecated QGIS 4.2
4499 };
4500 Q_ENUM( VerticalAxisInversion )
4503
4510 enum class ToneMappingMethod : int
4511 {
4512 Clamp,
4513 Aces,
4514 };
4515 Q_ENUM( ToneMappingMethod )
4516
4517
4522 enum class Export3DSceneFormat : int
4523 {
4524 Obj,
4525 StlAscii
4526 };
4527 Q_ENUM( Export3DSceneFormat )
4528
4529
4535 {
4536 Line,
4537 FillBelow,
4538 FillAbove,
4539 };
4541
4547 enum class VectorProfileType : int
4548 {
4549 IndividualFeatures,
4550 ContinuousSurface,
4551 };
4553
4559 enum class PointCloudProfileType : int
4560 {
4561 IndividualPoints,
4562 TriangulatedSurface,
4563 };
4565
4571 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
4572 {
4573 RespectsMaximumErrorMapUnit = 1 << 0,
4574 RespectsDistanceRange = 1 << 1,
4575 RespectsElevationRange = 1 << 2,
4576 };
4577 Q_ENUM( ProfileGeneratorFlag )
4579 Q_FLAG( ProfileGeneratorFlags )
4580
4586 enum class ProfileExportType : int
4587 {
4588 Features3D,
4589 Profile2D,
4590 DistanceVsElevationTable,
4591 };
4593
4600 {
4601 Square,
4602 Circle,
4603 };
4604 Q_ENUM( PointCloudSymbol )
4605
4606
4612 {
4613 Default,
4614 BottomToTop,
4615 TopToBottom,
4616 };
4617 Q_ENUM( PointCloudDrawOrder )
4618
4619
4627 {
4628 AllowIntersections,
4629 AvoidIntersectionsCurrentLayer,
4630 AvoidIntersectionsLayers,
4631 };
4632 Q_ENUM( AvoidIntersectionsMode )
4633
4634
4642 {
4643 Qgz,
4644 Qgs,
4645 };
4646 Q_ENUM( ProjectFileFormat )
4647
4648
4656 {
4657 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers )
4658 = 1 << 0,
4659 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts )
4660 = 1 << 1,
4661 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata )
4662 = 1 << 2,
4663 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
4664 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
4665 DontLoadProjectStyles = 1 << 5,
4666 ForceReadOnlyLayers = 1 << 6,
4667 DontUpgradeAnnotations = 1 << 7,
4668 };
4669 Q_ENUM( ProjectReadFlag )
4670
4671
4679 Q_FLAG( ProjectReadFlags )
4680
4689 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
4690 {
4691 ProjectStyles = 1 << 0,
4692 };
4693 Q_ENUM( ProjectCapability )
4694
4695
4701 Q_FLAG( ProjectCapabilities )
4702
4709 {
4710 Vector,
4711 Raster,
4712 RasterDem,
4713 GeoJson,
4714 Image,
4715 Video,
4716 Unknown,
4717 };
4718 Q_ENUM( MapBoxGlStyleSourceType )
4719
4720
4728 {
4729 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
4730 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
4731 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
4732 GlobeServer,
4733 GPServer,
4734 GeocodeServer,
4735 Unknown,
4736 SceneServer,
4737 };
4738 Q_ENUM( ArcGisRestServiceType )
4739
4740
4749 {
4750 Map = 1 << 0,
4751 Query = 1 << 1,
4752 Update = 1 << 2,
4753 Delete = 1 << 3,
4754 Create = 1 << 4,
4755 Image = 1 << 5,
4756 TilesOnly = 1 << 6,
4757 };
4758 Q_ENUM( ArcGisRestServiceCapability )
4759
4760
4767
4776 {
4777 Normal,
4778 Generated,
4779 };
4780 Q_ENUM( RelationshipType )
4781
4782
4790 {
4791 Association,
4792 Composition,
4793 };
4794 Q_ENUM( RelationshipStrength )
4795
4796
4802 {
4803 OneToOne,
4804 OneToMany,
4805 ManyToOne,
4806 ManyToMany,
4807 };
4808 Q_ENUM( RelationshipCardinality )
4809
4810
4815 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
4816 {
4817 MultipleFieldKeys = 1 << 0,
4818 ForwardPathLabel = 1 << 1,
4819 BackwardPathLabel = 1 << 2,
4820 };
4821 Q_ENUM( RelationshipCapability )
4822
4823
4829 Q_FLAG( RelationshipCapabilities )
4830
4836 enum class CoordinateDisplayType : int
4837 {
4838 MapCrs,
4839 MapGeographic,
4840 CustomCrs,
4841 };
4842 Q_ENUM( CoordinateDisplayType )
4843
4844
4849 enum class SettingsOrigin : int
4850 {
4851 Any,
4852 Global,
4853 Local,
4854 };
4855 Q_ENUM( SettingsOrigin )
4856
4857
4862 enum class ScriptLanguage : int
4863 {
4864 Css,
4865 QgisExpression,
4866 Html,
4867 JavaScript,
4868 Json,
4869 Python,
4870 R,
4871 Sql,
4872 Batch,
4873 Bash,
4874 Unknown,
4875 };
4876 Q_ENUM( ScriptLanguage )
4877
4878
4886 {
4887 Reformat = 1 << 0,
4888 CheckSyntax = 1 << 1,
4889 ToggleComment = 1 << 2,
4890 };
4891 Q_ENUM( ScriptLanguageCapability )
4892
4893
4900
4907 {
4908 AboveInsertionPoint,
4909 TopOfTree,
4910 OptimalInInsertionGroup,
4911 };
4912 Q_ENUM( LayerTreeInsertionMethod )
4913
4914
4920 {
4921 LayerProperties = 0,
4922 AttributeTable = 1,
4923 LayerStyling = 2,
4924 };
4925 Q_ENUM( LegendLayerDoubleClickAction )
4926
4927
4932 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
4933 {
4934 SkipVisibilityCheck = 1 << 0,
4935 };
4936 Q_ENUM( LayerTreeFilterFlag )
4937
4938
4944 Q_FLAG( LayerTreeFilterFlags )
4945
4951 enum class MapLayerLegendFlag : int SIP_ENUM_BASETYPE( IntFlag )
4952 {
4953 ExcludeByDefault = 1 << 0,
4954 };
4955 Q_ENUM( MapLayerLegendFlag )
4956
4957
4963 Q_FLAG( MapLayerLegendFlags )
4964
4973 {
4974 Undefined,
4975 Hidden,
4976 Title,
4977 Group,
4978 Subgroup,
4979 Symbol,
4980 SymbolLabel,
4981 };
4982 // !!! WARNING: If adding new values to this enum, make sure you update QgsLegendSettings constructor accordingly!!
4983 Q_ENUM( LegendComponent )
4984
4985
4990 enum class LegendSyncMode : int
4991 {
4992 AllProjectLayers,
4993 VisibleLayers,
4994 Manual,
4995 };
4996 Q_ENUM( LegendSyncMode )
4997
4998
5005 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
5006 {
5007 ShowRuleDetails = 1 << 0,
5008 };
5009 Q_ENUM( LegendJsonRenderFlag )
5011 Q_FLAG( LegendJsonRenderFlags )
5012
5020 enum class ActionType : int
5021 {
5022 Invalid,
5023 MapLayerAction,
5024 AttributeAction
5025 };
5026 Q_ENUM( ActionType )
5027
5028
5035 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
5036 {
5037 Layer = 1 << 0,
5038 SingleFeature = 1 << 1,
5039 MultipleFeatures = 1 << 2,
5040 AllActions = Layer | SingleFeature | MultipleFeatures
5041 };
5042 Q_ENUM( MapLayerActionTarget )
5043
5044
5052 Q_FLAG( MapLayerActionTargets )
5053
5061 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
5062 {
5063 EnabledOnlyWhenEditable = 1 << 1,
5064 EnableOnlyWhenHasGeometry = 1 << 2,
5065 };
5066 Q_ENUM( MapLayerActionFlag )
5067
5068
5076 Q_FLAG( MapLayerActionFlags )
5077
5086 {
5087 Generic,
5088 GenericPython,
5089 Mac,
5090 Windows,
5091 Unix,
5092 OpenUrl,
5093 SubmitUrlEncoded,
5094 SubmitUrlMultipart,
5095 };
5096 Q_ENUM( AttributeActionType )
5097
5098
5104 {
5105 Created,
5106 Published,
5107 Revised,
5108 Superseded,
5109 };
5110 Q_ENUM( MetadataDateType )
5111
5112
5121
5123 {
5124 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
5125 GrayIndex = 1,
5126 PaletteIndex = 2,
5127 RedBand = 3,
5128 GreenBand = 4,
5129 BlueBand = 5,
5130 AlphaBand = 6,
5131 HueBand = 7,
5132 SaturationBand = 8,
5133 LightnessBand = 9,
5134 CyanBand = 10,
5135 MagentaBand = 11,
5136 YellowBand = 12,
5137 BlackBand = 13,
5138 YCbCr_YBand = 14,
5139 YCbCr_CbBand = 15,
5140 YCbCr_CrBand = 16,
5141 ContinuousPalette = 17,
5142
5143 // Note: values between PanBand and SAR_P_Band match additions done in
5144 // GDAL 3.10, except that the numeric values of the constant don't match GDAL ones
5145
5146 PanBand = 18,
5147 CoastalBand = 19,
5148 RedEdgeBand = 20,
5149 NIRBand = 21,
5150 SWIRBand = 22,
5151 MWIRBand = 23,
5152 LWIRBand = 24,
5153 TIRBand = 25,
5154 OtherIRBand = 26,
5155 SAR_Ka_Band = 27,
5156 SAR_K_Band = 28,
5157 SAR_Ku_Band = 30,
5158 SAR_X_Band = 31,
5159 SAR_C_Band = 32,
5160 SAR_S_Band = 33,
5161 SAR_L_Band = 34,
5162 SAR_P_Band = 35,
5163 };
5164 Q_ENUM( RasterColorInterpretation )
5165
5166
5174 {
5175 GrayOrUndefined,
5176 Palette,
5177 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
5178 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
5179 };
5180 Q_ENUM( RasterLayerType )
5181
5182
5190 {
5191 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
5192 SingleBandGray,
5193 SingleBandPseudoColor,
5194 PalettedColor,
5195 PalettedSingleBandGray,
5196 PalettedSingleBandPseudoColor,
5197 PalettedMultiBandColor,
5198 MultiBandSingleBandGray,
5199 MultiBandSingleBandPseudoColor,
5200 MultiBandColor,
5201 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
5202 };
5203 Q_ENUM( RasterDrawingStyle )
5204
5205
5212 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
5213 {
5214 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
5215 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
5216 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
5217 };
5218 Q_ENUM( RasterPyramidFormat )
5219
5220
5228 {
5229 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
5230 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
5231 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
5232 };
5233 Q_ENUM( RasterBuildPyramidOption )
5234
5235
5243 {
5244 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
5245 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
5246 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
5247 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
5248 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
5249 };
5250 Q_ENUM( RasterIdentifyFormat )
5251
5252 // TODO QGIS 5 -- remove NoCapabilities and rely on RasterInterfaceCapabilities() instead
5253 // remove deprecated members
5254 // Remove "Identify" member, and replace with combinations of IdentifyValue/IdentifyText/etc
5255
5256
5264 {
5265 NoCapabilities = 0,
5266 Size = 1 << 1,
5267 Create = 1 << 2,
5268 Remove = 1 << 3,
5269 BuildPyramids = 1 << 4,
5270 Identify = 1 << 5,
5271 IdentifyValue = 1 << 6,
5272 IdentifyText = 1 << 7,
5273 IdentifyHtml = 1 << 8,
5274 IdentifyFeature = 1 << 9,
5275 Prefetch = 1 << 10,
5276 };
5277 Q_ENUM( RasterInterfaceCapability )
5278
5279
5286
5287 // TODO QGIS 5 -- remove NoProviderCapabilities and rely on RasterProviderCapabilities() instead
5288
5297 {
5298 NoProviderCapabilities = 0,
5299 ReadLayerMetadata = 1 << 1,
5300 WriteLayerMetadata = 1 << 2,
5301 ProviderHintBenefitsFromResampling = 1 << 3,
5302 ProviderHintCanPerformProviderResampling = 1 << 4,
5303 ReloadData = 1 << 5,
5304 DpiDependentData = 1 << 6,
5305 NativeRasterAttributeTable = 1 << 7,
5306 BuildPyramids = 1 << 8,
5307 };
5308 Q_ENUM( RasterProviderCapability )
5309
5310
5319
5326 {
5327 HighestElevation,
5328 NewerElevation,
5329 };
5330 Q_ENUM( ElevationMapCombineMethod )
5331
5332
5341 {
5342 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
5343 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
5344 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
5345 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
5346 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
5347 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
5348 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
5350 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
5351 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
5352 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
5353 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
5354 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
5355 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
5356 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
5357 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
5358 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
5359 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
5360 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
5361 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
5362 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
5363 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
5364 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
5366 };
5367 Q_ENUM( BlendMode )
5368
5369
5377 {
5378 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
5379 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
5380 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
5381 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
5382 };
5383 Q_ENUM( SystemOfMeasurement )
5384
5385
5392 {
5393 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
5394 Pixels,
5395 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
5396 };
5397 Q_ENUM( MapToolUnit )
5398
5399
5407 {
5408 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
5410 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
5411 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
5412 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
5413 };
5414 Q_ENUM( UnitType )
5415
5416
5424 {
5425 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
5426 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
5427 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
5428 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
5429 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
5430 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
5431 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
5432 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
5433 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
5434 Inches,
5435 ChainsInternational,
5436 ChainsBritishBenoit1895A,
5437 ChainsBritishBenoit1895B,
5438 ChainsBritishSears1922Truncated,
5439 ChainsBritishSears1922,
5440 ChainsClarkes,
5441 ChainsUSSurvey,
5442 FeetBritish1865,
5443 FeetBritish1936,
5444 FeetBritishBenoit1895A,
5445 FeetBritishBenoit1895B,
5446 FeetBritishSears1922Truncated,
5447 FeetBritishSears1922,
5448 FeetClarkes,
5449 FeetGoldCoast,
5450 FeetIndian,
5451 FeetIndian1937,
5452 FeetIndian1962,
5453 FeetIndian1975,
5454 FeetUSSurvey,
5455 LinksInternational,
5456 LinksBritishBenoit1895A,
5457 LinksBritishBenoit1895B,
5458 LinksBritishSears1922Truncated,
5459 LinksBritishSears1922,
5460 LinksClarkes,
5461 LinksUSSurvey,
5462 YardsBritishBenoit1895A,
5463 YardsBritishBenoit1895B,
5464 YardsBritishSears1922Truncated,
5465 YardsBritishSears1922,
5466 YardsClarkes,
5467 YardsIndian,
5468 YardsIndian1937,
5469 YardsIndian1962,
5470 YardsIndian1975,
5471 MilesUSSurvey,
5472 Fathoms,
5473 MetersGermanLegal,
5474 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
5475 };
5476 Q_ENUM( DistanceUnit )
5477
5478
5486 {
5487 Standard,
5488 Geographic,
5489 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
5490 };
5491 Q_ENUM( DistanceUnitType )
5492
5493
5501 {
5502 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
5503 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
5504 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
5505 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
5506 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
5507 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
5508 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
5509 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
5510 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
5511 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
5512 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
5513 SquareInches,
5514 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
5515 };
5516 Q_ENUM( AreaUnit )
5517
5518
5526 {
5527 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
5528 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
5529 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
5530 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
5531 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
5532 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
5533 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
5534 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
5535 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
5536 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
5537 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
5538 };
5539 Q_ENUM( VolumeUnit )
5540
5541
5549 {
5550 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
5551 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
5553 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
5554 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
5556 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
5557 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
5558 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
5559 };
5560 Q_ENUM( AngleUnit )
5561
5562
5570 {
5571 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
5572 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
5573 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
5574 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
5575 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
5576 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
5577 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
5578 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
5579 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
5580 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
5581 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
5582 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
5583 };
5584 Q_ENUM( TemporalUnit )
5585
5586
5594 {
5595 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
5596 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
5597 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
5598 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
5599 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
5600 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
5601 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
5602 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
5603 };
5604 Q_ENUM( RenderUnit )
5605
5606
5614 {
5615 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
5616 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
5617 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
5618 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
5619 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
5620 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
5621 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
5622 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
5623 };
5624 Q_ENUM( LayoutUnit )
5625
5626
5634 {
5635 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
5636 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
5637 };
5638 Q_ENUM( LayoutUnitType )
5639
5640
5648 {
5649 Debug SIP_MONKEYPATCH_COMPAT_NAME( FlagDebug ) = 1 << 1,
5650 OutlineOnly SIP_MONKEYPATCH_COMPAT_NAME( FlagOutlineOnly ) = 1 << 2,
5651 Antialiasing SIP_MONKEYPATCH_COMPAT_NAME( FlagAntialiasing ) = 1 << 3,
5652 UseAdvancedEffects SIP_MONKEYPATCH_COMPAT_NAME( FlagUseAdvancedEffects ) = 1 << 4,
5653 ForceVectorOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagForceVectorOutput )
5654 = 1 << 5,
5655 HideCoverageLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagHideCoverageLayer ) = 1 << 6,
5656 DrawSelection SIP_MONKEYPATCH_COMPAT_NAME( FlagDrawSelection ) = 1 << 7,
5657 DisableTiledRasterLayerRenders SIP_MONKEYPATCH_COMPAT_NAME( FlagDisableTiledRasterLayerRenders )
5658 = 1 << 8,
5659 RenderLabelsByMapLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagRenderLabelsByMapLayer )
5660 = 1 << 9,
5661 LosslessImageRendering SIP_MONKEYPATCH_COMPAT_NAME( FlagLosslessImageRendering )
5662 = 1 << 10,
5663 SynchronousLegendGraphics SIP_MONKEYPATCH_COMPAT_NAME( FlagSynchronousLegendGraphics ) = 1 << 11,
5664 AlwaysUseGlobalMasks SIP_MONKEYPATCH_COMPAT_NAME( FlagAlwaysUseGlobalMasks )
5665 = 1 << 12,
5666 LimitCoverageLayerRenderToCurrentFeature = 1 << 13,
5667 };
5668 Q_ENUM( LayoutRenderFlag )
5669
5670
5678 Q_FLAG( LayoutRenderFlags )
5679
5688 {
5689 SVG SIP_MONKEYPATCH_COMPAT_NAME( FormatSVG ) = 0,
5690 Raster SIP_MONKEYPATCH_COMPAT_NAME( FormatRaster ),
5691 Unknown SIP_MONKEYPATCH_COMPAT_NAME( FormatUnknown ),
5692 };
5693 Q_ENUM( PictureFormat )
5694
5695
5700 enum class ScaleCalculationMethod : int
5701 {
5702 HorizontalTop = 0,
5703 HorizontalMiddle,
5704 HorizontalBottom,
5705 HorizontalAverage,
5706 AtEquator,
5707 };
5708 Q_ENUM( ScaleCalculationMethod )
5709
5710
5723 Q_ENUM( ScaleBarAlignment )
5724
5725
5733 {
5734 Fixed SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFixed ) = 0,
5735 FitWidth SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFitWidth ) = 1
5736 };
5737 Q_ENUM( ScaleBarSegmentSizeMode )
5738
5739
5747 {
5748 AboveSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelAboveSegment ) = 0,
5749 BelowSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelBelowSegment ),
5750 };
5751 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
5752
5753
5761 {
5762 CenteredEdge SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredEdge ) = 0,
5763 CenteredSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredSegment ),
5764 };
5765 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
5766
5767
5768
5776 {
5777 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( MapUnit ),
5780 DynamicPageSizeBased,
5781 };
5782 Q_ENUM( MapGridUnit )
5783
5784
5792 {
5793 Lines SIP_MONKEYPATCH_COMPAT_NAME( Solid ) = 0,
5794 LineCrosses SIP_MONKEYPATCH_COMPAT_NAME( Cross ),
5795 Markers,
5796 FrameAndAnnotationsOnly SIP_MONKEYPATCH_COMPAT_NAME( FrameAnnotationsOnly )
5797 };
5798 Q_ENUM( MapGridStyle )
5799
5800
5808 {
5809 ShowAll = 0,
5810 LatitudeOnly,
5811 LongitudeOnly,
5812 HideAll
5813 };
5814 Q_ENUM( MapGridComponentVisibility )
5815
5816
5824 {
5825 InsideMapFrame = 0,
5826 OutsideMapFrame,
5827 };
5828 Q_ENUM( MapGridAnnotationPosition )
5829
5830
5838 {
5839 Horizontal = 0,
5840 Vertical,
5841 VerticalDescending,
5842 BoundaryDirection,
5843 AboveTick,
5844 OnTick,
5845 UnderTick,
5846 };
5847 Q_ENUM( MapGridAnnotationDirection )
5848
5849
5857 {
5858 Decimal = 0,
5859 DegreeMinute,
5860 DegreeMinuteSecond,
5861 DecimalWithSuffix,
5862 DegreeMinuteNoSuffix,
5863 DegreeMinutePadded,
5864 DegreeMinuteSecondNoSuffix,
5865 DegreeMinuteSecondPadded,
5866 CustomFormat
5867 };
5868 Q_ENUM( MapGridAnnotationFormat )
5869
5870
5884 Q_ENUM( MapGridBorderSide )
5885
5886
5894 {
5895 NoFrame = 0,
5896 Zebra,
5897 InteriorTicks,
5898 ExteriorTicks,
5899 InteriorExteriorTicks,
5900 LineBorder,
5901 LineBorderNautical,
5902 ZebraNautical,
5903 };
5904 Q_ENUM( MapGridFrameStyle )
5905
5906
5914 {
5915 OrthogonalTicks = 0,
5916 NormalizedTicks,
5917 };
5918 Q_ENUM( MapGridTickLengthMode )
5919
5920
5921
5929 {
5930 Left SIP_MONKEYPATCH_COMPAT_NAME( FrameLeft ) = 0x01,
5931 Right SIP_MONKEYPATCH_COMPAT_NAME( FrameRight ) = 0x02,
5932 Top SIP_MONKEYPATCH_COMPAT_NAME( FrameTop ) = 0x04,
5933 Bottom SIP_MONKEYPATCH_COMPAT_NAME( FrameBottom ) = 0x08
5934 };
5935 Q_ENUM( MapGridFrameSideFlag )
5936
5937
5945 Q_FLAG( MapGridFrameSideFlags )
5946
5955 {
5956 Longitude = 0,
5957 Latitude
5958 };
5959 Q_ENUM( MapGridAnnotationType )
5960
5961
5966 enum class InputControllerType : int
5967 {
5968 Map2D,
5969 Map3D
5970 };
5972
5979 {
5980 NotSet,
5981 Unknown,
5982 OrdinaryTable,
5983 Index,
5984 Sequence,
5985 View,
5986 MaterializedView,
5987 CompositeType,
5988 ToastTable,
5989 ForeignTable,
5990 PartitionedTable,
5991 };
5992 Q_ENUM( PostgresRelKind )
5993
5994
6000 {
6001 SetFieldComment = 1 << 0,
6002 SetFieldAlias = 1 << 1,
6003 SetTableComment = 1 << 2,
6004 EditFieldDomain = 1 << 3,
6005 DeleteFieldDomain = 1 << 4,
6006 };
6007 Q_ENUM( DatabaseProviderConnectionCapability2 )
6010
6017 {
6018 SetGeometryColumnName = 1 << 0,
6019 SetPrimaryKeyName = 1 << 1,
6020 };
6021 Q_ENUM( DatabaseProviderTableImportCapability )
6024
6031 {
6032 SaveToDatabase = 1 << 1,
6033 LoadFromDatabase = 1 << 2,
6034 DeleteFromDatabase = 1 << 3
6035 };
6039
6040
6046 {
6047 LastProfile,
6048 DefaultProfile,
6049 AskUser,
6050 };
6051 Q_ENUM( UserProfileSelectionPolicy )
6052
6053
6061 {
6062 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
6063 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
6064 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
6065 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
6066 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
6067 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
6068 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
6069 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
6070 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
6071 };
6072 Q_ENUM( AttributeEditorType )
6073
6074
6080 {
6081 GroupBox,
6082 Tab,
6083 Row,
6084 };
6085 Q_ENUM( AttributeEditorContainerType )
6086
6087
6095 {
6096 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
6097 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
6098 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
6099 };
6100 Q_ENUM( AttributeFormLayout )
6101
6102
6110 {
6111 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
6112 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
6113 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
6114 };
6115 Q_ENUM( AttributeFormSuppression )
6116
6117
6125 {
6126 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
6127 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
6128 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
6129 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
6130 };
6131 Q_ENUM( AttributeFormPythonInitCodeSource )
6132
6133
6139 {
6140 NotAllowed = 0,
6141 AllowedDefaultOn = 1,
6142 AllowedDefaultOff = 2,
6143 };
6144 Q_ENUM( AttributeFormReuseLastValuePolicy )
6145
6146
6152 {
6154 PointCloud,
6155 RasterCalculator,
6156 };
6157 Q_ENUM( ExpressionType )
6158
6159
6167 {
6168 NoSymbology = 0,
6169 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
6170 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
6171 };
6172 Q_ENUM( FeatureSymbologyExport )
6173
6174
6179 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
6180 {
6181 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
6182 };
6183 Q_ENUM( VectorTileProviderFlag )
6184
6185
6191 Q_FLAG( VectorTileProviderFlags )
6192
6198 {
6199 ReadLayerMetadata = 1 << 1,
6200 };
6201 Q_ENUM( VectorTileProviderCapability )
6202
6203
6210
6217 {
6218 Available,
6219 NotAvailable,
6220 AvailableNoChildren,
6221 UseLowerZoomLevelTile,
6222 };
6223 Q_ENUM( TileAvailability )
6224
6225
6231 {
6232 ReadLayerMetadata = 1 << 1,
6233 };
6234 Q_ENUM( TiledSceneProviderCapability )
6235
6236
6243
6250 {
6251 Region,
6252 OrientedBox,
6253 Sphere,
6254 };
6255 Q_ENUM( TiledSceneBoundingVolumeType )
6256
6257
6266 {
6267 Replacement,
6268 Additive,
6269 };
6270 Q_ENUM( TileRefinementProcess )
6271
6272
6278 {
6279 NoChildren,
6280 Available,
6281 NeedFetching,
6282 };
6283 Q_ENUM( TileChildrenAvailability )
6284
6285
6290 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
6291 {
6292 NoHierarchyFetch = 1 << 0,
6293 };
6294 Q_ENUM( TiledSceneRequestFlag )
6295
6296
6302 Q_FLAG( TiledSceneRequestFlags )
6303
6309 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
6310 {
6311 RequiresTextures = 1 << 0,
6312 ForceRasterRender = 1 << 1,
6313 RendersTriangles = 1 << 2,
6314 RendersLines = 1 << 3,
6315 };
6316 Q_ENUM( TiledSceneRendererFlag )
6317
6318
6324 Q_FLAG( TiledSceneRendererFlags )
6325
6331 enum class GdalResampleAlgorithm : int
6332 {
6333 RA_NearestNeighbour = 0,
6334 RA_Bilinear = 1,
6335 RA_Cubic = 2,
6336 RA_CubicSpline = 3,
6337 RA_Lanczos = 4,
6338 RA_Average = 5,
6339 RA_Mode = 6,
6340 RA_Max = 8,
6341 RA_Min = 9,
6342 RA_Median = 10,
6343 RA_Q1 = 11,
6344 RA_Q3 = 12,
6345 };
6346 Q_ENUM( GdalResampleAlgorithm )
6347
6348
6353 enum class VsiHandlerType : int
6354 {
6355 Invalid,
6356 Archive,
6357 Network,
6358 Cloud,
6359 Memory,
6360 Other,
6361 };
6362 Q_ENUM( VsiHandlerType )
6363
6364 // TODO QGIS 5: make All include all values (we can't do this before 4.0, as we need to keep
6365 // compatibility with code which expects all these statistics to give numeric results)
6366
6367
6372 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
6373 {
6374 Count = 1 << 0,
6375 Sum = 1 << 1,
6376 Mean = 1 << 2,
6377 Median = 1 << 3,
6378 StDev = 1 << 4,
6379 Min = 1 << 5,
6380 Max = 1 << 6,
6381 Range = 1 << 7,
6382 Minority = 1 << 8,
6383 Majority = 1 << 9,
6384 Variety = 1 << 10,
6385 Variance = 1 << 11,
6386 MinimumPoint = 1 << 12,
6387 MaximumPoint = 1 << 13,
6388 // clang-format off
6389 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6390 // clang-format on
6391 AllNumeric = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6392 Default = Count | Sum | Mean,
6393 };
6394 Q_ENUM( ZonalStatistic )
6395
6396
6402 Q_FLAG( ZonalStatistics )
6403
6409 enum class ZonalStatisticResult : int
6410 {
6412 LayerTypeWrong = 1,
6413 LayerInvalid,
6414 RasterInvalid,
6415 RasterBandInvalid,
6416 FailedToCreateField = 8,
6417 Canceled = 9
6418 };
6419 Q_ENUM( ZonalStatisticResult )
6420
6421
6428 {
6429 Count,
6430 CountDistinct,
6431 CountMissing,
6432 Min,
6433 Max,
6434 Sum,
6435 Mean,
6436 Median,
6437 StDev,
6438 StDevSample,
6439 Range,
6440 Minority,
6441 Majority,
6442 FirstQuartile,
6443 ThirdQuartile,
6444 InterQuartileRange,
6445 StringMinimumLength,
6446 StringMaximumLength,
6447 StringConcatenate,
6448 GeometryCollect,
6449 ArrayAggregate,
6450 StringConcatenateUnique
6451 };
6452 Q_ENUM( Aggregate )
6453
6454
6460 {
6461 Count = 1 << 0,
6462 CountMissing = 1 << 15,
6463 Sum = 1 << 1,
6464 Mean = 1 << 2,
6465 Median = 1 << 3,
6466 StDev = 1 << 4,
6467 StDevSample = 1 << 5,
6468 Min = 1 << 6,
6469 Max = 1 << 7,
6470 Range = 1 << 8,
6471 Minority = 1 << 9,
6472 Majority = 1 << 10,
6473 Variety = 1 << 11,
6474 FirstQuartile = 1 << 12,
6475 ThirdQuartile = 1 << 13,
6476 InterQuartileRange = 1 << 14,
6477 First = 1 << 16,
6478 Last = 1 << 17,
6479 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
6480 };
6481 Q_ENUM( Statistic )
6482
6483
6489 Q_FLAG( Statistics )
6490
6497 {
6498 Count = 1,
6499 CountDistinct = 2,
6500 CountMissing = 4,
6501 Min = 8,
6502 Max = 16,
6503 Range = 32,
6504 All = Count | CountDistinct | CountMissing | Min | Max | Range,
6505 };
6506 Q_ENUM( DateTimeStatistic )
6507
6508
6514 Q_FLAG( DateTimeStatistics )
6515
6522 {
6523 Count = 1,
6524 CountDistinct = 2,
6525 CountMissing = 4,
6526 Min = 8,
6527 Max = 16,
6528 MinimumLength = 32,
6529 MaximumLength = 64,
6530 MeanLength = 128,
6531 Minority = 256,
6532 Majority = 512,
6533 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
6534 };
6535 Q_ENUM( StringStatistic )
6536
6537
6543 Q_FLAG( StringStatistics )
6544
6551 {
6552 NoStatistic = 0,
6553 Min = 1,
6554 Max = 1 << 1,
6555 Range = 1 << 2,
6556 Sum = 1 << 3,
6557 Mean = 1 << 4,
6558 StdDev = 1 << 5,
6559 SumOfSquares = 1 << 6,
6560 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
6561 };
6562 Q_ENUM( RasterBandStatistic )
6563
6564
6570 Q_FLAG( RasterBandStatistics )
6571
6577 enum class SensorThingsVersion : int
6578 {
6579 Version1_1,
6580 Version2_0,
6581 };
6583
6589 enum class SensorThingsExtension : int SIP_ENUM_BASETYPE( IntFlag )
6590 {
6591 MultiDatastream = 1 << 0,
6592 SensingExtensionObservationsMeasurements = 1 << 1,
6593 SensingExtensionSampling = 1 << 2,
6594 SensingExtensionRelations = 1 << 3,
6595 };
6597
6604 Q_FLAG( SensorThingsExtensions )
6605
6606
6611 enum class SensorThingsEntity : int
6612 {
6613 Invalid,
6614 Thing,
6615 Location,
6616 HistoricalLocation,
6617 Datastream,
6618 Sensor,
6619 ObservedProperty,
6620 Observation,
6621 FeatureOfInterest,
6622 MultiDatastream,
6623 // version 2.0
6624 Feature,
6625 FeatureType,
6626 Deployment,
6627 ObservingProcedure,
6628 Sampling,
6629 SamplingProcedure,
6630 Sampler,
6631 PreparationStep,
6632 PreparationProcedure,
6633 ThingRelation,
6634 RelationRole,
6635 FeatureRelation,
6636 DatastreamRelation,
6637 ObservationRelation,
6638 };
6639 Q_ENUM( SensorThingsEntity )
6640
6641
6646 enum class ColorModel : int
6647 {
6648 Rgb,
6649 Cmyk,
6650 };
6651 Q_ENUM( ColorModel )
6652
6653
6658 enum class DocumentationApi : int
6659 {
6660 PyQgis,
6661 PyQgisSearch,
6662 CppQgis,
6663 Qt,
6664 };
6665 Q_ENUM( DocumentationApi )
6666
6667
6672 enum class DocumentationBrowser : int
6673 {
6674 DeveloperToolsPanel,
6675 SystemWebBrowser,
6676 };
6677 Q_ENUM( DocumentationBrowser )
6678
6679
6684 enum class MouseHandlesAction : int
6685 {
6686 MoveItem,
6687 ResizeUp,
6688 ResizeDown,
6689 ResizeLeft,
6690 ResizeRight,
6691 ResizeLeftUp,
6692 ResizeRightUp,
6693 ResizeLeftDown,
6694 ResizeRightDown,
6695 RotateTopLeft,
6696 RotateTopRight,
6697 RotateBottomLeft,
6698 RotateBottomRight,
6699 SelectItem,
6700 NoAction
6701 };
6702 Q_ENUM( MouseHandlesAction )
6703
6704
6708 enum class MeshRangeLimit : int
6709 {
6710 NotSet,
6711 MinimumMaximum,
6712 };
6713 Q_ENUM( MeshRangeLimit )
6714
6715
6720 enum class MeshRangeExtent : int
6721 {
6722 WholeMesh,
6723 FixedCanvas,
6724 UpdatedCanvas,
6725 };
6726 Q_ENUM( MeshRangeExtent )
6727
6728
6734 enum class PointCloudAccessType : int
6735 {
6736 Local,
6737 Remote
6738 };
6739 Q_ENUM( PointCloudAccessType )
6740
6741
6746 {
6747 RenderExtents,
6748 RenderOverview,
6749 RenderOverviewAndExtents
6750 };
6751 Q_ENUM( PointCloudZoomOutRenderBehavior )
6752
6753
6758 {
6759 Standard = 0,
6760 Adaptive,
6761 AreaError,
6762 ConstantDensity
6763 };
6764 Q_ENUM( SegmentCalculationMethod )
6765
6766
6770 enum class StacObjectType : int
6771 {
6772 Unknown,
6773 Catalog,
6774 Collection,
6775 Item,
6776 };
6777 Q_ENUM( StacObjectType )
6778
6779
6784 {
6785 WmsScale = 1 << 0,
6786 WmsDpi = 1 << 1,
6787 };
6788 Q_ENUM( RasterProcessingParameterCapability )
6789
6790
6796
6802 {
6803 Status = Qt::UserRole + 1,
6804 Id,
6805 ElapsedTime,
6806 MaximumTime,
6807 Sort,
6808 };
6809 Q_ENUM( DevToolsNodeRole )
6810
6811
6816 enum class ExtrusionFace : int SIP_ENUM_BASETYPE( IntFlag )
6817 {
6818 NoFace = 0,
6819 Walls = 1 << 0,
6820 Roof = 1 << 1,
6821 Floor = 1 << 2
6822 };
6823 Q_ENUM( ExtrusionFace )
6824
6825
6829 Q_DECLARE_FLAGS( ExtrusionFaces, ExtrusionFace )
6830 Q_FLAG( ExtrusionFaces )
6831
6836 enum class TriangulationAlgorithm : int SIP_ENUM_BASETYPE( IntFlag )
6837 {
6838 ConstrainedDelaunay = 0,
6839 Earcut = 1 << 0
6840 };
6841 Q_ENUM( TriangulationAlgorithm )
6842
6843
6854 enum class WmsGroupRequestMode : int
6855 {
6856 Normal,
6857 Opaque,
6858 };
6859 Q_ENUM( WmsGroupRequestMode )
6860
6861
6867 {
6868 RestorePreviousState,
6869 ForceDocked,
6870 ForceDialog,
6871 };
6872 Q_ENUM( DockableWidgetInitialState )
6873
6874
6877 static const double DEFAULT_SEARCH_RADIUS_MM;
6878
6881
6887 static const QColor DEFAULT_HIGHLIGHT_COLOR;
6888
6892 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
6893
6898
6906 Q_DECL_DEPRECATED static const double SCALE_PRECISION;
6907
6912 static const double DEFAULT_Z_COORDINATE;
6913
6919 static const double DEFAULT_M_COORDINATE;
6920
6925 static const double UI_SCALE_FACTOR;
6926
6930 static const double DEFAULT_SNAP_TOLERANCE;
6931
6936
6940 static const int USER_CRS_START_ID;
6941
6943 static const double DEFAULT_POINT_SIZE;
6944
6946 static const double DEFAULT_LINE_WIDTH;
6947
6949 static const double DEFAULT_SEGMENT_EPSILON;
6950
6953
6956
6962 static QString defaultProjectScales();
6963
6969 static int geosVersionInt();
6970
6976 static int geosVersionMajor();
6977
6983 static int geosVersionMinor();
6984
6990 static int geosVersionPatch();
6991
6997 static QString geosVersion();
6998
7004 static bool hasSfcgal();
7005
7012 static int sfcgalVersionInt();
7013
7019 static bool hasGeographicLib();
7020
7027 static int geographicLibVersion();
7028
7034 Q_DECL_DEPRECATED static bool hasQtWebkit();
7035
7041 static QString geoNone() { return u"NONE"_s; }
7042
7048 static QString geographicCrsAuthId() { return u"EPSG:4326"_s; }
7049
7054 Q_DECL_DEPRECATED static QString geoWkt()
7055 {
7056 return QStringLiteral(
7057 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]] )"""
7058 );
7059 }
7060
7065 Q_DECL_DEPRECATED static QString geoProj4() { return u"+proj=longlat +datum=WGS84 +no_defs"_s; }
7066};
7067
7070
7169Q_DECLARE_METATYPE( QTimeZone )
7170
7171// hack to workaround warnings when casting void pointers
7172// retrieved from QLibrary::resolve to function pointers.
7173// It's assumed that this works on all systems supporting
7174// QLibrary
7175#define cast_to_fptr( f ) f
7176
7177
7185// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
7186template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
7187{
7188 public:
7193 explicit QgsSignalBlocker( Object *object )
7194 : mObject( object )
7195 , mPreviousState( object->blockSignals( true ) )
7196 {}
7197
7198 ~QgsSignalBlocker() { mObject->blockSignals( mPreviousState ); }
7199
7201 Object *operator->() { return mObject; }
7202
7203 private:
7204 Object *mObject = nullptr;
7205 bool mPreviousState;
7206};
7207
7220// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
7221template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
7222{
7223 return QgsSignalBlocker<Object>( object );
7224}
7225
7227CORE_EXPORT uint qHash( const QVariant &variant );
7228
7234inline QString qgsDoubleToString( double a, int precision = 17 )
7235{
7236 QString str;
7237 if ( precision )
7238 {
7239 if ( precision < 0 )
7240 {
7241 const double roundFactor = std::pow( 10, -precision );
7242 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
7243 }
7244 else
7245 {
7246 str = QString::number( a, 'f', precision );
7247 if ( str.contains( '.'_L1 ) )
7248 {
7249 // remove ending 0s
7250 int idx = str.length() - 1;
7251 while ( str.at( idx ) == '0' && idx > 1 )
7252 {
7253 idx--;
7254 }
7255 if ( idx < str.length() - 1 )
7256 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
7257 }
7258 }
7259 }
7260 else
7261 {
7262 str = QString::number( a, 'f', precision );
7263 }
7264 // avoid printing -0
7265 // see https://bugreports.qt.io/browse/QTBUG-71439
7266 if ( str == "-0"_L1 )
7267 {
7268 return "0"_L1;
7269 }
7270 return str;
7271}
7272
7279inline bool qgsNanCompatibleEquals( double a, double b )
7280{
7281 if ( a == b )
7282 return true;
7283
7284 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7285 return true;
7286
7287 return false;
7288}
7289
7290#ifndef SIP_RUN
7291
7299template<typename T> inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
7300{
7301 static_assert( std::is_floating_point<T>::value, "qgsNumberNear requires floating-point types" );
7302
7303 if ( a == b )
7304 return true;
7305
7306 // if either 'a' or 'b' is NaN, 'diff' becomes NaN.
7307 // comparisons (>= or <=) against NaN evaluate to false, which will fallback
7308 // to the nan related logic at the end of this function
7309 const T diff = a - b;
7310 if ( diff >= -epsilon && diff <= epsilon )
7311 return true;
7312
7313 // defer expensive nan checks to last -- calling std::isnan is NOT cheap!
7314 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7315 return true;
7316
7317 return false;
7318}
7319#endif
7320
7327inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7328{
7329 return qgsNumberNear<double>( a, b, epsilon );
7330}
7331
7340inline bool qgsDoubleLessThanOrNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7341{
7342 // fast check first
7343 if ( a <= b )
7344 return true;
7345
7346 // => a > b
7347 // => a - b > 0
7348 // we only need to check the upper epsilon bound for the fuzzy equality
7349 if ( a - b <= epsilon )
7350 return true;
7351
7352 // defer expensive nan checks to last -- calling std::isnan is NOT cheap!
7353 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7354 return true;
7355
7356 return false;
7357}
7358
7367inline bool qgsDoubleGreaterThanOrNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7368{
7369 // fast check first
7370 if ( a >= b )
7371 return true;
7372
7373 // => a < b
7374 // => b - a > 0
7375 // we only need to check the upper epsilon bound for the fuzzy equality
7376 if ( b - a <= epsilon )
7377 return true;
7378
7379 // defer expensive nan checks to last -- calling std::isnan is NOT cheap!
7380 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7381 return true;
7382
7383 return false;
7384}
7385
7392inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
7393{
7394 return qgsNumberNear<float>( a, b, epsilon );
7395}
7396
7398inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
7399{
7400 const bool aIsNan = std::isnan( a );
7401 const bool bIsNan = std::isnan( b );
7402 if ( aIsNan || bIsNan )
7403 return aIsNan && bIsNan;
7404
7405 // The most simple would be to print numbers as %.xe and compare as strings
7406 // but that is probably too costly
7407 // Then the fastest would be to set some bits directly, but little/big endian
7408 // has to be considered (maybe TODO)
7409 // Is there a better way?
7410 int aexp, bexp;
7411 const double ar = std::frexp( a, &aexp );
7412 const double br = std::frexp( b, &bexp );
7413
7414 return aexp == bexp && std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
7415}
7416
7421inline double qgsRound( double number, int places )
7422{
7423 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
7424 const double scaleFactor = std::pow( 10.0, places );
7425 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
7426}
7427
7428#ifndef SIP_RUN
7429
7436template<class Key, class Value> QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
7437{
7438 QString result;
7439 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7440 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
7441
7442 result.chop( separator.size() );
7443 return result;
7444}
7445
7452template<class Key, class Value> QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
7453{
7454 QString result;
7455 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7456 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
7457
7458 result.chop( separator.size() );
7459 return result;
7460}
7461
7468template<class T> QString qgsSetJoin( const QSet<T> &set, const QString &separator )
7469{
7470 QString result;
7471 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
7472 result += QString( "%1%2" ).arg( *it ).arg( separator );
7473
7474 result.chop( separator.size() );
7475 return result;
7476}
7477
7479
7489namespace qgis
7490{
7491
7504 template<typename To, typename From> inline To down_cast( From *f )
7505 {
7506 static_assert( ( std::is_base_of<From, typename std::remove_pointer<To>::type>::value ), "target type not derived from source type" );
7507 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
7508 return static_cast<To>( f );
7509 }
7510
7511 template<class T> QSet<T> listToSet( const QList<T> &list )
7512 {
7513 return QSet<T>( list.begin(), list.end() );
7514 }
7515
7516 template<class T> QList<T> setToList( const QSet<T> &set )
7517 {
7518 return QList<T>( set.begin(), set.end() );
7519 }
7520} //namespace qgis
7521
7523#endif
7524
7529template<class T> const QList<T> qgsEnumList() SIP_SKIP
7530{
7531 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7532 Q_ASSERT( metaEnum.isValid() );
7533 QList<T> enumList;
7534 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7535 {
7536 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
7537 }
7538 return enumList;
7539}
7540
7546template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
7547{
7548 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7549 Q_ASSERT( metaEnum.isValid() );
7550 QMap<T, QString> enumMap;
7551 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7552 {
7553 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
7554 }
7555 return enumMap;
7556}
7557
7563template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7564{
7565 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7566 Q_ASSERT( metaEnum.isValid() );
7567 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
7568 if ( returnOk )
7569 {
7570 *returnOk = key ? true : false;
7571 }
7572 return QString::fromUtf8( key );
7573}
7574
7582template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7583{
7584 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7585 Q_ASSERT( metaEnum.isValid() );
7586 bool ok = false;
7587 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
7588 if ( returnOk )
7589 {
7590 *returnOk = ok;
7591 }
7592 if ( ok )
7593 {
7594 return v;
7595 }
7596 else
7597 {
7598 // if conversion has failed, try with conversion from int value
7599 if ( tryValueAsKey )
7600 {
7601 bool canConvert = false;
7602 const int intValue = key.toInt( &canConvert );
7603 if ( canConvert && metaEnum.valueToKey( intValue ) )
7604 {
7605 if ( returnOk )
7606 {
7607 *returnOk = true;
7608 }
7609 return static_cast<T>( intValue );
7610 }
7611 }
7612 }
7613 return defaultValue;
7614}
7615
7621template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7622{
7623 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7624 Q_ASSERT( metaEnum.isValid() );
7625 int intValue = static_cast<int>( value );
7626 if ( intValue == 0 )
7627 {
7628 if ( returnOk )
7629 *returnOk = true;
7630 return u"0"_s;
7631 }
7632
7633 const QByteArray ba = metaEnum.valueToKeys( intValue );
7634 // check that the int value does correspond to a flag
7635 // see https://stackoverflow.com/a/68495949/1548052
7636 const int intValueCheck = metaEnum.keysToValue( ba );
7637 bool ok = intValue == intValueCheck;
7638 if ( returnOk )
7639 *returnOk = ok;
7640 return ok ? QString::fromUtf8( ba ) : QString();
7641}
7642
7650template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7651{
7652 if ( keys.isEmpty() )
7653 {
7654 if ( returnOk )
7655 {
7656 *returnOk = false;
7657 }
7658 return defaultValue;
7659 }
7660 else if ( keys == "0"_L1 )
7661 {
7662 if ( returnOk )
7663 {
7664 *returnOk = true;
7665 }
7666 return T();
7667 }
7668 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7669 Q_ASSERT( metaEnum.isValid() );
7670 bool ok = false;
7671 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
7672 if ( returnOk )
7673 {
7674 *returnOk = ok;
7675 }
7676 if ( ok )
7677 {
7678 return v;
7679 }
7680 else
7681 {
7682 // if conversion has failed, try with conversion from int value
7683 if ( tryValueAsKey )
7684 {
7685 bool canConvert = false;
7686 const int intValue = keys.toInt( &canConvert );
7687 if ( canConvert )
7688 {
7689 const QByteArray keyArray = metaEnum.valueToKeys( intValue );
7690 const int intValueCheck = metaEnum.keysToValue( keyArray );
7691 if ( !keyArray.isEmpty() && intValue == intValueCheck )
7692 {
7693 if ( returnOk )
7694 {
7695 *returnOk = true;
7696 }
7697 return T( intValue );
7698 }
7699 }
7700 }
7701 }
7702 return defaultValue;
7703}
7704
7705
7714CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
7715
7724CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
7725
7735CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
7736
7756CORE_EXPORT int qgsVariantCompare( const QVariant &lhs, const QVariant &rhs, bool strictTypeCheck = false );
7757
7768CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
7769
7778CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
7779
7788CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
7789
7801inline bool operator>( const QVariant &v1, const QVariant &v2 )
7802{
7803 return qgsVariantCompare( v1, v2, true ) > 0;
7804}
7805
7817inline bool operator<( const QVariant &v1, const QVariant &v2 )
7818{
7819 return qgsVariantCompare( v1, v2, true ) < 0;
7820}
7821
7828Q_DECL_DEPRECATED CORE_EXPORT QString qgsVsiPrefix( const QString &path ) SIP_DEPRECATED;
7829
7835void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
7836
7841void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
7842
7843#ifndef SIP_RUN
7844
7846class ScopedIntIncrementor
7847{
7848 public:
7849 ScopedIntIncrementor( int *variable )
7850 : mVariable( variable )
7851 {
7852 ( *mVariable )++;
7853 }
7854
7855 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
7856 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
7857
7858 void release()
7859 {
7860 if ( mVariable )
7861 ( *mVariable )--;
7862
7863 mVariable = nullptr;
7864 }
7865
7866 ~ScopedIntIncrementor() { release(); }
7867
7868 private:
7869 int *mVariable = nullptr;
7870};
7872
7873#endif
7874
7880Q_DECL_DEPRECATED const long GEOSRID = 4326;
7881
7887Q_DECL_DEPRECATED const long GEOCRS_ID = 3452;
7888
7894Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID = 4326;
7895
7896typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
7897
7906typedef unsigned long long qgssize;
7907
7908#ifndef SIP_RUN
7909#if ( __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 6 ) ) || defined( __clang__ )
7910
7911#define Q_NOWARN_DEPRECATED_PUSH _Pragma( "GCC diagnostic push" ) _Pragma( "GCC diagnostic ignored \"-Wdeprecated-declarations\"" );
7912#define Q_NOWARN_DEPRECATED_POP _Pragma( "GCC diagnostic pop" );
7913#define Q_NOWARN_UNREACHABLE_PUSH
7914#define Q_NOWARN_UNREACHABLE_POP
7915
7916#elif defined( _MSC_VER )
7917
7918#define Q_NOWARN_DEPRECATED_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4996 ) )
7919#define Q_NOWARN_DEPRECATED_POP __pragma( warning( pop ) )
7920#define Q_NOWARN_UNREACHABLE_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4702 ) )
7921#define Q_NOWARN_UNREACHABLE_POP __pragma( warning( pop ) )
7922#else
7923
7924#define Q_NOWARN_DEPRECATED_PUSH
7925#define Q_NOWARN_DEPRECATED_POP
7926#define Q_NOWARN_UNREACHABLE_PUSH
7927#define Q_NOWARN_UNREACHABLE_POP
7928
7929#endif
7930#endif
7931
7932#ifndef QGISEXTERN
7933#ifdef Q_OS_WIN
7934#define QGISEXTERN extern "C" __declspec( dllexport )
7935#else
7936#if defined( __GNUC__ ) || defined( __clang__ )
7937#define QGISEXTERN extern "C" __attribute__( ( visibility( "default" ) ) )
7938#else
7939#define QGISEXTERN extern "C"
7940#endif
7941#endif
7942#endif
7943#endif
7944
7945#ifndef SIP_RUN
7946#ifdef _MSC_VER
7947#define BUILTIN_UNREACHABLE __assume( false );
7948#elif defined( __GNUC__ ) && !defined( __clang__ )
7949// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
7950// like:
7951// switch( mVariableThatCanOnlyBeXorY )
7952// {
7953// case X:
7954// return "foo";
7955// case Y:
7956// return "foo";
7957// }
7958// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
7959#define BUILTIN_UNREACHABLE __builtin_unreachable();
7960#else
7961#define BUILTIN_UNREACHABLE
7962#endif
7963#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:5914
DistanceUnitType
Types of distance units.
Definition qgis.h:5486
PieChartLabelType
Pie chart label types.
Definition qgis.h:3527
GnssConstellation
GNSS constellation.
Definition qgis.h:2024
SettingsOption
Settings options.
Definition qgis.h:751
EmbeddedScriptType
Type of Python Embedded in projects.
Definition qgis.h:463
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition qgis.h:4572
GeometryBackend
Geometry backend for QgsGeometry.
Definition qgis.h:2268
ProcessingSourceType
Processing data source types.
Definition qgis.h:3712
static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS
Default snapping distance units.
Definition qgis.h:6935
GpsQualityIndicator
GPS signal quality indicator.
Definition qgis.h:2042
QFlags< MapGridFrameSideFlag > MapGridFrameSideFlags
Flags for controlling which side of the map a frame is drawn on.
Definition qgis.h:5944
DataItemProviderCapability
Capabilities for data item providers.
Definition qgis.h:1043
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3972
RasterizedRenderingPolicy
Policies controlling when rasterisation of content during renders is permitted.
Definition qgis.h:2865
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
Definition qgis.h:2960
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:4656
QFlags< DatabaseProviderTableImportCapability > DatabaseProviderTableImportCapabilities
Definition qgis.h:6022
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
Definition qgis.h:2137
CurvedLabelMode
Modes which determine how curved labels are generated and placed.
Definition qgis.h:1292
MapToolUnit
Type of unit of tolerance value from settings.
Definition qgis.h:5392
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:3499
static const double DEFAULT_LINE_WIDTH
The default width (in millimeters) for line symbols.
Definition qgis.h:6946
ProcessingModelChildAlgorithmExecutionStatus
Reflects the status of a child algorithm in a Processing model.
Definition qgis.h:4047
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
Definition qgis.h:2104
ScaleBarDistanceLabelHorizontalPlacement
Scale bar distance label horizontal placement.
Definition qgis.h:5761
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:4600
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
Definition qgis.h:834
static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM
Default highlight line/stroke minimum width in mm.
Definition qgis.h:6897
static QString version()
Version string.
Definition qgis.cpp:682
GeometryValidityFlag
Geometry validity check flags.
Definition qgis.h:2191
QFlags< RasterProviderCapability > RasterProviderCapabilities
Raster data provider capabilities.
Definition qgis.h:5317
ExpressionType
Expression types.
Definition qgis.h:6152
MapLayerActionFlag
Map layer action flags.
Definition qgis.h:5062
ScaleBarDistanceLabelVerticalPlacement
Scale bar distance label vertical placement.
Definition qgis.h:5747
MapLayerProperty
Generic map layer properties.
Definition qgis.h:2413
VectorProviderCapability
Vector data provider capabilities.
Definition qgis.h:525
RasterProcessingParameterCapability
Capabilities of a raster layer processing parameter.
Definition qgis.h:6784
BufferSide
Side of line to buffer.
Definition qgis.h:2217
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1589
WmsGroupRequestMode
Request mode of groups in a WMS context.
Definition qgis.h:6855
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
Definition qgis.h:5051
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
Definition qgis.h:6198
ProjectTrustStatus
Project trust status.
Definition qgis.h:476
MultiPartLabelingBehavior
Behavior modifier for labeling features with multi-part geometries.
Definition qgis.h:1331
AltitudeClamping
Altitude clamping.
Definition qgis.h:4166
static const int PREVIEW_JOB_DELAY_MS
Delay between the scheduling of 2 preview jobs.
Definition qgis.h:6952
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:6180
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:2736
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
Definition qgis.h:1528
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
Definition qgis.h:4700
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1381
QFlags< UriCleaningFlag > UriCleaningFlags
Flags for cleaning layer URIs.
Definition qgis.h:1488
CoordinateDisplayType
Formats for displaying coordinates.
Definition qgis.h:4837
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3920
QFlags< VectorRenderingSimplificationFlag > VectorRenderingSimplificationFlags
Simplification flags for vector feature rendering.
Definition qgis.h:3212
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:3472
static const double DEFAULT_Z_COORDINATE
Default Z coordinate value.
Definition qgis.h:6912
GpsFixStatus
GPS fix status.
Definition qgis.h:2009
AnnotationItemNodeType
Annotation item node types.
Definition qgis.h:2663
static const char * QGIS_DEV_VERSION
The development version.
Definition qgis.h:89
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1140
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
Definition qgis.h:2902
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
Definition qgis.h:2552
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
Definition qgis.h:1632
AngularDirection
Angular directions.
Definition qgis.h:3613
DriveType
Drive types.
Definition qgis.h:1193
UnitType
Unit types.
Definition qgis.h:5407
ContentStatus
Status for fetched or stored content.
Definition qgis.h:1965
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
Definition qgis.h:1927
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition qgis.h:776
Map3DBackgroundType
Background types for 3D map view.
Definition qgis.h:4436
LayoutUnit
Layout measurement units.
Definition qgis.h:5614
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:4790
Q_ENUM(GnssConstellation)
PaintEffectFlag
Flags which control how paint effects behave.
Definition qgis.h:2969
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:3310
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Definition qgis.h:4678
LegendComponent
Component of legends which can be styled.
Definition qgis.h:4973
Point3DShape
3D point shape types.
Definition qgis.h:4340
GeometryOperationResult
Success or failure of a geometry operation.
Definition qgis.h:2162
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
Definition qgis.h:6542
BrowserItemState
Browser item states.
Definition qgis.h:986
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:6080
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
Definition qgis.h:6241
QFlags< SensorThingsExtension > SensorThingsExtensions
OGC SensorThings extensions.
Definition qgis.h:6603
FeatureRequestFilterType
Types of feature request filters.
Definition qgis.h:2356
MarkerClipMode
Marker clipping modes.
Definition qgis.h:3430
GpsNavigationStatus
GPS navigation status.
Definition qgis.h:2062
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:2620
AttributeFormReuseLastValuePolicy
Attribute form policy for reusing last entered values.
Definition qgis.h:6139
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:3221
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Definition qgis.h:4062
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Definition qgis.h:2450
TextureFilterQuality
Texture filtering qualities.
Definition qgis.h:4394
Statistic
Available generic statistics.
Definition qgis.h:6460
TriangulationAlgorithm
Triangulation algorithms.
Definition qgis.h:6837
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:796
AngleUnit
Units of angles.
Definition qgis.h:5549
ToneMappingMethod
Defines the method used to map High Dynamic Range (HDR) scene colors to the Standard Dynamic Range (S...
Definition qgis.h:4511
MapGridAnnotationPosition
Position for map grid annotations.
Definition qgis.h:5824
CaptureTechnique
Capture technique.
Definition qgis.h:418
static QString geosVersion()
GEOS string version linked.
Definition qgis.cpp:704
SpatialIndexPresence
Enumeration of spatial index presence states.
Definition qgis.h:585
BrowserItemCapability
Browser item capabilities.
Definition qgis.h:999
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition qgis.h:6110
QFlags< AuthConfigurationStorageCapability > AuthConfigurationStorageCapabilities
Authentication configuration storage capabilities.
Definition qgis.h:152
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition qgis.h:4943
LayerTreeInsertionMethod
Layer tree insertion methods.
Definition qgis.h:4907
RasterProviderCapability
Raster data provider capabilities.
Definition qgis.h:5297
DatabaseProviderTableImportCapability
Represents capabilities of a database provider connection when importing table data.
Definition qgis.h:6017
LineClipMode
Line clipping modes.
Definition qgis.h:3444
static const double DEFAULT_SNAP_TOLERANCE
Default snapping distance tolerance.
Definition qgis.h:6930
VectorRenderingSimplificationFlag
Simplification flags for vector feature rendering.
Definition qgis.h:3197
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
Definition qgis.h:2196
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition qgis.h:1092
VsiHandlerType
GDAL VSI handler types.
Definition qgis.h:6354
NetworkRequestFlag
Flags controlling behavior of network requests.
Definition qgis.h:187
static int geographicLibVersion()
Returns the version of the GeographicLib library if QGIS is built with GeographicLib support.
Definition qgis.cpp:736
SettingsTreeNodeType
Type of tree node.
Definition qgis.h:681
TilePixelRatio
DpiMode enum.
Definition qgis.h:3553
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:6000
QFlags< PaintEffectFlag > PaintEffectFlags
Flags which control how paint effects behave.
Definition qgis.h:2979
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition qgis.h:1347
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
Definition qgis.h:4578
QFlags< MapLayerLegendFlag > MapLayerLegendFlags
Map layer legend flags.
Definition qgis.h:4962
MapGridUnit
Units for map grid values.
Definition qgis.h:5776
LabelPrioritization
Label prioritization.
Definition qgis.h:1259
GradientColorSource
Gradient color sources.
Definition qgis.h:3359
FileFilterType
Type of file filters.
Definition qgis.h:1460
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:1273
RasterLayerType
Raster layer types.
Definition qgis.h:5174
static const double DEFAULT_M_COORDINATE
Default M coordinate value.
Definition qgis.h:6919
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
Definition qgis.h:440
ScaleBarAlignment
Scalebar alignment.
Definition qgis.h:5718
LegendLayerDoubleClickAction
Action performed when double-clicking a layer in the legend.
Definition qgis.h:4920
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:5213
ProcessingMode
Types of modes which Processing widgets can be created for.
Definition qgis.h:3853
VectorExportResult
Vector layer export result codes.
Definition qgis.h:1119
ShadowQuality
Shadow texture quality.
Definition qgis.h:4409
DistanceUnit
Units of distance.
Definition qgis.h:5424
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:2811
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition qgis.h:928
MeshRangeLimit
Describes the limits used to compute mesh ranges (min/max values).
Definition qgis.h:6709
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:3403
LegendSyncMode
Legend synchronization mode.
Definition qgis.h:4991
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
Definition qgis.h:2653
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1406
RasterRangeLimit
Describes the limits used to compute raster ranges (min/max values).
Definition qgis.h:1664
ScaleMethod
Scale methods.
Definition qgis.h:651
QFlags< RasterProcessingParameterCapability > RasterProcessingParameterCapabilities
Raster layer processing parameter capabilities.
Definition qgis.h:6794
SldExportOption
SLD export options.
Definition qgis.h:723
VectorSimplificationAlgorithm
Simplification algorithms for vector features.
Definition qgis.h:3181
FilePathType
File path types.
Definition qgis.h:1796
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:4258
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:6125
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:3418
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
Definition qgis.h:738
static const double DEFAULT_HIGHLIGHT_BUFFER_MM
Default highlight buffer in mm.
Definition qgis.h:6892
MapCanvasFlag
Flags controlling behavior of map canvases.
Definition qgis.h:3639
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:4933
ExtrusionFace
Extrusion face types for the QgsTessellator.
Definition qgis.h:6817
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:6095
FeatureRequestFlag
Flags for controlling feature requests.
Definition qgis.h:2327
Map3DDebugFlag
Flags that control debug options for 3D maps.
Definition qgis.h:4319
VertexType
Types of vertex.
Definition qgis.h:3246
ShaderInterpolationMethod
Color ramp shader interpolation methods.
Definition qgis.h:1544
JoinStyle3D
Join styles for 3D buffers.
Definition qgis.h:2255
DataProviderFlag
Generic data provider flags.
Definition qgis.h:2443
Q_ENUM(GpsNavigationStatus)
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg).
Definition qgis.h:6332
RasterResamplingMethod
Resampling method for raster provider-level resampling.
Definition qgis.h:1603
GeometryValidationEngine
Available engines for validating geometries.
Definition qgis.h:2205
static int geosVersionPatch()
GEOS Patch version number linked.
Definition qgis.cpp:766
TransactionMode
Transaction mode.
Definition qgis.h:4153
Q_ENUM(ScaleToTileZoomLevelMethod)
QFlags< FeatureRendererFlag > FeatureRendererFlags
Flags controlling behavior of vector feature renderers.
Definition qgis.h:886
static const QColor DEFAULT_HIGHLIGHT_COLOR
Default highlight color.
Definition qgis.h:6887
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:5326
static Q_DECL_DEPRECATED const double SCALE_PRECISION
Fudge factor used to compare two scales.
Definition qgis.h:6906
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:5190
GeosCreationFlag
Flags which control geos geometry creation behavior.
Definition qgis.h:2280
Q_ENUM(SensorThingsExtension)
static const int MAXIMUM_LAYER_PREVIEW_TIME_MS
Maximum rendering time for a layer of a preview job.
Definition qgis.h:6955
MeshRangeExtent
Describes the extent used to compute mesh ranges (min/max values).
Definition qgis.h:6721
GpsInformationComponent
GPS information component.
Definition qgis.h:2076
Q_ENUM(PointCloudProfileType)
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:3658
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3739
FileOperationFlag
File operation flags.
Definition qgis.h:2398
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
Definition qgis.h:1059
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:4690
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
Definition qgis.h:2122
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Definition qgis.h:935
QFlags< RasterInterfaceCapability > RasterInterfaceCapabilities
Raster interface capabilities.
Definition qgis.h:5284
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
Definition qgis.h:5086
TemporalNavigationMode
Temporal navigation modes.
Definition qgis.h:2690
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:4000
AreaUnit
Units of area.
Definition qgis.h:5501
StringStatistic
Available string statistics.
Definition qgis.h:6522
SelectiveMaskSourceType
Selective masking source types.
Definition qgis.h:3235
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:4107
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:6373
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:5878
SqlKeywordCategory
SqlKeywordCategory enum represents the categories of the SQL keywords used by the SQL query editor.
Definition qgis.h:1175
QFlags< SnappingType > SnappingTypes
Snapping types.
Definition qgis.h:787
static Q_DECL_DEPRECATED QString geoWkt()
WKT string that represents a geographic coord system.
Definition qgis.h:7054
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:5929
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:3487
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1396
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
Definition qgis.h:6250
TextLayoutMode
Text layout modes.
Definition qgis.h:3069
PropertyType
Property types.
Definition qgis.h:709
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2938
LayerFilter
Filter for layers.
Definition qgis.h:225
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
Definition qgis.h:1532
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition qgis.h:1621
QFlags< ExtrusionFace > ExtrusionFaces
Tessellator extrusion face types.
Definition qgis.h:6829
static QString devVersion()
The development version.
Definition qgis.cpp:699
CrsType
Coordinate reference system types.
Definition qgis.h:2462
QFlags< GeosCreationFlag > GeosCreationFlags
Geos geometry creation behavior flags.
Definition qgis.h:2291
MapGridComponentVisibility
Visibility display settings for map grid annotations and frames.
Definition qgis.h:5808
SensorThingsEntity
OGC SensorThings API entity types.
Definition qgis.h:6612
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1779
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:4090
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:4728
UriCleaningFlag
Flags for cleaning layer URIs.
Definition qgis.h:1477
RasterFileWriterResult
Raster file export results.
Definition qgis.h:1762
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition qgis.h:2675
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
Definition qgis.h:3824
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:3671
RasterRangeAccuracy
Describes the accuracy used to compute raster ranges (min/max values).
Definition qgis.h:1695
ActionType
Action types.
Definition qgis.h:5021
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:1210
PlaybackOperation
Media playback operations.
Definition qgis.h:2719
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
Definition qgis.h:958
QFlags< TextRendererFlag > TextRendererFlags
Definition qgis.h:3592
SensorThingsExtension
OGC SensorThings extensions.
Definition qgis.h:6590
QueryStorageBackend
Stored query storage backends.
Definition qgis.h:3698
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:6031
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:4627
MarkerShape
Marker shapes.
Definition qgis.h:3261
StacObjectType
Available types of stac objects.
Definition qgis.h:6771
LegendJsonRenderFlag
Legend JSON export flags.
Definition qgis.h:5006
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:5341
RasterElevationMode
Raster layer elevation modes.
Definition qgis.h:4205
Capitalization
String capitalization options.
Definition qgis.h:3570
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:2796
PictureFormat
Picture formats.
Definition qgis.h:5688
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1418
static QString releaseName()
Release name.
Definition qgis.cpp:694
LabelQuadrantPosition
Label quadrant positions.
Definition qgis.h:1361
QFlags< PlotToolFlag > PlotToolFlags
Definition qgis.h:4308
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:3601
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition qgis.h:1510
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1150
TextOrientation
Text orientations.
Definition qgis.h:3054
TemporalUnit
Temporal units.
Definition qgis.h:5570
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
Definition qgis.h:1653
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
Definition qgis.h:915
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:1222
CrsDefinitionFormat
CRS definition formats.
Definition qgis.h:4075
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:2385
VerticalAnchorPoint
Marker symbol vertical anchor points.
Definition qgis.h:862
QFlags< LayoutRenderFlag > LayoutRenderFlags
Flags for controlling how a layout is rendered.
Definition qgis.h:5677
static QString defaultProjectScales()
A string with default project scales.
Definition qgis.cpp:674
QFlags< ProcessingParameterTypeFlag > ProcessingParameterTypeFlags
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3935
TileAvailability
Possible availability states for a tile within a tile matrix.
Definition qgis.h:6217
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:4287
MapGridStyle
Map grid drawing styles.
Definition qgis.h:5792
SensorThingsVersion
OGC SensorThings API versions.
Definition qgis.h:6578
FeatureRendererFlag
Flags controlling behavior of vector feature renderers.
Definition qgis.h:876
static Q_DECL_DEPRECATED QString geoProj4()
PROJ4 string that represents a geographic coord system.
Definition qgis.h:7065
BrowserItemType
Browser item types.
Definition qgis.h:967
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
Definition qgis.h:2345
static bool hasGeographicLib()
Returns true if the QGIS build contains GeographicLib.
Definition qgis.cpp:727
SettingsType
Types of settings entries.
Definition qgis.h:662
QFlags< SettingsOption > SettingsOptions
Definition qgis.h:756
RasterTemporalMode
Raster layer temporal modes.
Definition qgis.h:2779
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1736
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:3009
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:379
RelationshipType
Relationship types.
Definition qgis.h:4776
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:4886
RasterInterfaceCapability
Raster interface capabilities.
Definition qgis.h:5264
JoinStyle
Join styles for buffers.
Definition qgis.h:2242
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:4612
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
Definition qgis.h:6569
CadMeasurementDisplayType
Advanced digitizing measurement display types.
Definition qgis.h:4274
ProcessingAlgorithmDocumentationFlag
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3800
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:3145
FieldDuplicatePolicy
Duplicate policy for fields.
Definition qgis.h:4127
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:6046
static const float DEFAULT_MAPTOPIXEL_THRESHOLD
Default threshold between map coordinates and device coordinates for map2pixel simplification.
Definition qgis.h:6880
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Definition qgis.h:2403
DpiMode
DpiMode enum.
Definition qgis.h:3539
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition qgis.h:1068
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3791
AltitudeBinding
Altitude binding.
Definition qgis.h:4179
QFlags< DataProviderReadFlag > DataProviderReadFlags
Flags which control data provider construction.
Definition qgis.h:512
StringFormat
Format of log message.
Definition qgis.h:175
Q_ENUM(ProcessingProviderFlag)
TiledSceneRendererFlag
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:6310
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:5036
ShaderClassificationMethod
Color ramp shader classification methods.
Definition qgis.h:1559
MapLayerLegendFlag
Map layer legend flags.
Definition qgis.h:4952
ZonalStatisticResult
Zonal statistics result codes.
Definition qgis.h:6410
ScriptLanguage
Scripting languages.
Definition qgis.h:4863
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
Definition qgis.h:1013
QFlags< NetworkRequestFlag > NetworkRequestFlags
Flags controlling behavior of network requests.
Definition qgis.h:197
Export3DSceneFormat
The file format used when exporting a 3D scene.
Definition qgis.h:4523
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
Definition qgis.h:604
PlotAxisType
Plots axis types.
Definition qgis.h:3515
TiledSceneProviderCapability
Tiled scene data provider capabilities.
Definition qgis.h:6231
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:1444
PointCloudProfileType
Types of elevation profiles to generate for point cloud sources.
Definition qgis.h:4560
RasterBandStatistic
Available raster band statistics.
Definition qgis.h:6551
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
Definition qgis.h:6208
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:6401
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:2766
TextRenderFormat
Options for rendering text.
Definition qgis.h:2990
DocumentationBrowser
Documentation API browser.
Definition qgis.h:6673
DataType
Raster data types.
Definition qgis.h:393
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
Definition qgis.h:3663
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition qgis.h:1518
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:5377
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
Definition qgis.h:1707
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition qgis.h:4489
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
Definition qgis.h:2856
RelationshipCapability
Relationship capabilities.
Definition qgis.h:4816
SkyboxCubeMapping
Skybox texture cube mapping for distinct texture skyboxes.
Definition qgis.h:4449
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:5228
QFlags< VectorProviderCapability > VectorProviderCapabilities
Vector data provider capabilities.
Definition qgis.h:563
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:4464
static int geosVersionMajor()
GEOS Major version number linked.
Definition qgis.cpp:756
LinearReferencingPlacement
Defines how/where the labels should be placed in a linear referencing symbol layer.
Definition qgis.h:3330
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:6278
PointCloudZoomOutRenderBehavior
Point cloud zoom out options.
Definition qgis.h:6746
QFlags< SymbolConverterCapability > SymbolConverterCapabilities
Symbol converter capabilities.
Definition qgis.h:825
LayerType
Types of layers that can be added to a map.
Definition qgis.h:206
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
Definition qgis.h:2626
FieldOrigin
Field origin.
Definition qgis.h:1824
LinearReferencingLabelSource
Defines what quantity to use for the labels shown in a linear referencing symbol layer.
Definition qgis.h:3344
QFlags< BrowserItemFilterFlag > BrowserItemFilterFlags
Browser item filter flags.
Definition qgis.h:1032
LabelWhitespaceCollisionHandling
Label whitespace collision handling.
Definition qgis.h:1247
RasterRangeExtent
Describes the extent used to compute raster ranges (min/max values).
Definition qgis.h:1680
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
Definition qgis.h:6488
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition qgis.h:4304
RenderUnit
Rendering size units.
Definition qgis.h:5594
QFlags< ArcGisRestServiceCapability > ArcGisRestServiceCapabilities
Available ArcGIS REST service capabilities.
Definition qgis.h:4765
static QString geographicCrsAuthId()
Geographic coordinate system auth:id string for a default geographic CRS (EPSG:4326).
Definition qgis.h:7048
CoordinateOrder
Order of coordinates.
Definition qgis.h:2537
SelectionFlag
Flags which control feature selection behavior.
Definition qgis.h:1917
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
Definition qgis.h:698
EndCapStyle
End cap styles for buffers.
Definition qgis.h:2229
ScaleCalculationMethod
Scale calculation logic.
Definition qgis.h:5701
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
Definition qgis.h:6301
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:5075
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
Definition qgis.h:2420
QFlags< LoadStyleFlag > LoadStyleFlags
Flags for loading layer styles.
Definition qgis.h:263
BabelCommandFlag
Babel command flags, which control how commands and arguments are generated for executing GPSBabel pr...
Definition qgis.h:2133
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
Definition qgis.h:3029
QFlags< VerticalAxisInversion > VerticalAxisInversionFlags
Definition qgis.h:4501
FieldDomainType
Types of field domain.
Definition qgis.h:4140
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2948
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2912
RasterPipeInterfaceRole
Raster pipe interface roles.
Definition qgis.h:1572
CoverageValidityResult
Coverage validity results.
Definition qgis.h:2300
DataProviderReadFlag
Flags which control data provider construction.
Definition qgis.h:491
ScaleBarSegmentSizeMode
Modes for setting size for scale bar segments.
Definition qgis.h:5733
Aggregate
Available aggregates to calculate.
Definition qgis.h:6428
static int sfcgalVersionInt()
Returns the version of the SFCGAL library if QGIS is built with SFCGAL.
Definition qgis.cpp:718
UnknownLayerCrsBehavior
Behavior to use when encountering a layer with an unknown (invalid) CRS.
Definition qgis.h:2593
BrowserItemFilterFlag
Browser item filter flags.
Definition qgis.h:1022
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
Definition qgis.h:910
static const double DEFAULT_SEARCH_RADIUS_MM
Identify search radius in mm.
Definition qgis.h:6877
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
Definition qgis.h:2649
MapBoxGlStyleSourceType
Available MapBox GL style source types.
Definition qgis.h:4709
LayoutUnitType
Types of layout units.
Definition qgis.h:5634
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:617
DashPatternLineEndingRule
Dash pattern line ending rules.
Definition qgis.h:3457
FieldMetadataProperty
Standard field metadata values.
Definition qgis.h:1865
MapGridAnnotationType
Annotation coordinate type.
Definition qgis.h:5955
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:6291
RasterRendererCapability
Raster renderer capabilities.
Definition qgis.h:1643
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition qgis.h:1953
HistoryProviderBackend
History provider backends.
Definition qgis.h:3684
static const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition qgis.h:6949
RasterExportType
Raster file export types.
Definition qgis.h:1749
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition qgis.h:1808
TextVerticalAlignment
Text vertical alignment.
Definition qgis.h:3129
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:4802
GradientType
Gradient types.
Definition qgis.h:3373
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
Definition qgis.h:4898
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:4548
GpsFeatureType
GPS feature types.
Definition qgis.h:2147
SourceHierarchyLevel
Defines the structural levels within a data source hierarchy.
Definition qgis.h:1497
VectorLayerTypeFlag
Vector layer type flags.
Definition qgis.h:435
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition qgis.h:2313
QFlags< Map3DDebugFlag > Map3DDebugFlags
Definition qgis.h:4329
RangeLimits
Describes how the limits of a range are handled.
Definition qgis.h:4191
QFlags< ProjectFlag > ProjectFlags
Definition qgis.h:4295
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:2754
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3961
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
Definition qgis.h:1158
static int versionInt()
Version number used for comparing versions using the "Check QGIS Version" function.
Definition qgis.cpp:687
VectorEditResult
Specifies the result of a vector layer edit operation.
Definition qgis.h:1938
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:629
Axis
Cartesian axes.
Definition qgis.h:2607
QFlags< ProcessingAlgorithmDocumentationFlag > ProcessingAlgorithmDocumentationFlags
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3812
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
Definition qgis.h:4828
ArcGisRestServiceCapability
Available ArcGIS REST service capabilities.
Definition qgis.h:4749
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:804
VolumeUnit
Units of volume.
Definition qgis.h:5526
CurvedTextFlag
Flags controlling behavior of curved text generation.
Definition qgis.h:3158
AttributeEditorType
Attribute editor types.
Definition qgis.h:6061
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
Definition qgis.h:5010
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
Definition qgis.h:6037
EmbeddedScriptMode
Authorisation to run script embedded in projects.
Definition qgis.h:448
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
Definition qgis.h:948
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:2372
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition qgis.h:901
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3883
MapGridFrameStyle
Style for map grid frames.
Definition qgis.h:5894
PointCloudAccessType
The access type of the data, local is for local files and remote for remote files (over HTTP).
Definition qgis.h:6735
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:4587
MeshElevationMode
Mesh layer elevation modes.
Definition qgis.h:4219
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:4642
SnappingMode
SnappingMode defines on which layer the snapping is performed.
Definition qgis.h:764
SymbolType
Symbol types.
Definition qgis.h:637
RasterColorInterpretation
Raster color interpretation.
Definition qgis.h:5123
static const int USER_CRS_START_ID
Minimum ID number for a user-defined projection.
Definition qgis.h:6940
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:4535
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:3040
Q_ENUM(ProcessingAlgorithmFlag)
static int geosVersionMinor()
GEOS Minor version number linked.
Definition qgis.cpp:761
MaterialRenderingTechnique
Material rendering techniques.
Definition qgis.h:4362
ColorModel
Color model types.
Definition qgis.h:6647
RendererUsage
Usage of the renderer.
Definition qgis.h:3626
SettingsTreeNodeOption
Options for named list nodes.
Definition qgis.h:693
BabelFormatCapability
Babel GPS format capabilities.
Definition qgis.h:2114
PostgresRelKind
Postgres database relkind options.
Definition qgis.h:5979
SegmentCalculationMethod
brief Method used to calculate the number of segments for circle approximation
Definition qgis.h:6758
GpsConnectionType
GPS connection types.
Definition qgis.h:1980
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
Definition qgis.h:6008
MouseHandlesAction
Action to be performed by the mouse handles.
Definition qgis.h:6685
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
Definition qgis.h:3868
QFlags< TextComponent > TextComponents
Text components.
Definition qgis.h:3099
static QString geoNone()
Constant that holds the string representation for "No ellipse/No CRS".
Definition qgis.h:7041
DevToolsNodeRole
Dev tools node custom data roles.
Definition qgis.h:6802
LoadStyleFlag
Flags for loading layer styles.
Definition qgis.h:252
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:4232
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
Definition qgis.h:6190
SymbolConverterCapability
Symbol converter capabilities.
Definition qgis.h:813
MetadataDateType
Date types for metadata.
Definition qgis.h:5104
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
Definition qgis.h:2822
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3894
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:5243
MapGridAnnotationDirection
Direction of grid annotations.
Definition qgis.h:5838
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:3110
SymbolFlag
Flags controlling behavior of symbols.
Definition qgis.h:895
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition qgis.h:4245
HttpMethod
Different methods of HTTP requests.
Definition qgis.h:1104
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:294
QFlags< SldExportOption > SldExportOptions
Definition qgis.h:729
SymbolCoordinateReference
Symbol coordinate reference modes.
Definition qgis.h:3388
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3753
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:6266
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
Definition qgis.h:6513
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1878
InputControllerType
Input controller types.
Definition qgis.h:5967
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:3588
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1905
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:2487
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:4031
static int geosVersionInt()
GEOS version number linked.
Definition qgis.cpp:750
QFlags< MarkerLinePlacement > MarkerLinePlacements
Definition qgis.h:3321
QFlags< MapCanvasFlag > MapCanvasFlags
Flags controlling behavior of map canvases.
Definition qgis.h:3649
CrsWktVariant
Coordinate reference system WKT formatting variants.
Definition qgis.h:2567
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:6323
MapGridAnnotationFormat
Format for displaying map grid annotations.
Definition qgis.h:5857
DocumentationApi
Documentation API.
Definition qgis.h:6659
AutoRefreshMode
Map layer automatic refresh modes.
Definition qgis.h:2430
AnnotationPlacementMode
Annotation item placement modes.
Definition qgis.h:2636
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3764
QFlags< InstancedMaterialFlag > InstancedMaterialFlags
Definition qgis.h:4385
SceneMode
The 3D scene mode used in 3D map views.
Definition qgis.h:4477
InstancedMaterialFlag
Optional per-instance properties of instanced materials.
Definition qgis.h:4380
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1841
SettingsOrigin
The setting origin describes where a setting is stored.
Definition qgis.h:4850
HorizontalAnchorPoint
Marker symbol horizontal anchor points.
Definition qgis.h:848
QFlags< CurvedTextFlag > CurvedTextFlags
Flags controlling behavior of curved text generation.
Definition qgis.h:3171
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3946
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:1234
static const double UI_SCALE_FACTOR
UI scaling factor.
Definition qgis.h:6925
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:6167
QFlags< LayerFilter > LayerFilters
Definition qgis.h:243
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:4018
DockableWidgetInitialState
Dockable widget initial states.
Definition qgis.h:6867
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:2843
TextComponent
Text components.
Definition qgis.h:3086
DateTimeStatistic
Available date/time statistics.
Definition qgis.h:6497
AnimationState
Animation states.
Definition qgis.h:2706
TransformDirection
Indicates the direction (forward or inverse) of a transform.
Definition qgis.h:2831
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:4424
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3906
QFlags< HistoryProviderBackend > HistoryProviderBackends
Definition qgis.h:3689
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition qgis.h:1308
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1856
UpsideDownLabelHandling
Handling techniques for upside down labels.
Definition qgis.h:1429
static const double DEFAULT_POINT_SIZE
The default size (in millimeters) for point marker symbols.
Definition qgis.h:6943
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:1994
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3986
MapSettingsFlag
Flags which adjust the way maps are rendered.
Definition qgis.h:2878
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
Definition qgis.h:1166
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
Definition qgis.h:3838
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1891
LayoutRenderFlag
Flags for controlling how a layout is rendered.
Definition qgis.h:5648
Utility class that encapsulates an action based on vector attributes.
Definition qgsaction.h:38
Utility class for calculating aggregates for a field (or expression) over the features from a vector ...
Utility functions for working with ArcGIS REST services.
An abstract base class for any elements of a drag and drop form.
A ramp shader will color a raster pixel based on a list of values ranges in a ramp.
Represents a coordinate reference system (CRS).
Handles coordinate transforms between two coordinate systems.
Abstract base class for curved geometry type.
Definition qgscurve.h:36
Base class for all items in the model.
Definition qgsdataitem.h:50
Abstract base class for spatial data provider implementations.
Calculator for summary statistics and aggregates for a list of datetimes.
Contains configuration settings for an editor form.
Wraps a request for features to a vector layer (or directly its vector data provider).
An interface for objects which provide features via a getFeatures method.
Container of fields for a vector layer.
Definition qgsfields.h:46
A geometry is the spatial representation of a feature.
Encapsulates information relating to a GPS position fix.
A fill symbol layer which draws a smooth color gradient over a polygon.
A vector feature renderer which uses numeric attributes to classify features into different ranges.
Stores global configuration for labeling engine.
Contains constants and enums relating to labeling.
Definition qgslabeling.h:33
A browser item that represents a layer that can be opened with one of the providers.
An individual grid which is drawn above the map content in a QgsLayoutItemMap.
A layout item subclass that displays SVG files or raster format images (jpg, png, ....
Stores information relating to the current rendering settings for a layout.
Contains detailed styling information relating to how a layout legend should be rendered.
A proxy model which provides an easy to use model to display the list of layers in widgets.
Base class for all map layer types.
Definition qgsmaplayer.h:83
Contains configuration for rendering maps.
Abstract base class for marker symbol layers.
Interface for showing messages from QGIS in GUI independent way.
Registry for temporary fetched files.
Contains miscellaneous painting utility functions.
Definition qgspainting.h:32
Contains settings for how a map layer will be labeled.
Abstract base class for 2d point cloud renderers.
Abstract base class for processing algorithms.
Contains information about the context in which a processing algorithm is executed.
Encapsulates settings relating to a feature source input to a processing algorithm.
QgsFeatureSource subclass which proxies methods to an underlying QgsFeatureSource,...
A datetime (or pure date or time) parameter for processing algorithms.
Base class for the definition of processing parameters.
A vector layer or feature source field parameter for processing algorithms.
An input file or folder parameter for processing algorithms.
A numeric parameter for processing algorithms.
A parameter for processing algorithms that need a list of input vector layers to construct a TIN.
Makes metadata of processing parameters available.
Abstract base class for processing providers.
Contains enumerations and other constants for use in processing algorithms and parameters.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition qgsproject.h:114
A store for object properties.
Holds data provider key, description, and associated shared library file or function pointer informat...
A fill symbol layer which places markers at random locations within polygons.
The RasterBandStats struct is a container for statistics about a single raster band.
Implementation of data provider temporal properties for QgsRasterDataProviders.
Base class for raster data providers.
The raster file writer which allows you to save a raster to a new file.
Base class for processing filters like renderers, reprojector, resampler etc.
Implementation of map layer temporal properties for raster layers.
Represents a raster layer.
Describes the origin of minimum and maximum values in a raster.
Contains a pipeline of raster interfaces for sequential raster processing.
Raster namespace.
Definition qgsraster.h:32
Represents a relationship between two vector layers.
Definition qgsrelation.h:42
Contains information about the context of a rendering operation.
Stores the appearance and layout settings for scalebar drawing with QgsScaleBarRenderer.
Represents a settings entry and provides methods for reading and writing settings values.
RAII signal blocking class.
Definition qgis.h:7187
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:7201
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:7193
Abstract base class for simple marker symbol layers.
Stores configuration of snapping settings for the project.
Calculator for summary statistics for a list of doubles.
Calculator for summary statistics and aggregates for a list of strings.
Utility functions for working with strings.
Contains utility functions for working with symbols and symbol layers.
Abstract base class for all rendered symbols.
Definition qgssymbol.h:227
Base class for templated line symbols, e.g.
Implements a temporal controller based on a frame by frame navigation and animation.
Container for all settings relating to text rendering.
Utility functions for text rendering.
Handles rendering text using rich formatting options, including drop shadows, buffers and background ...
Provides calculations for tolerance values in map units.
Helper functions for various unit types.
Implementation of data provider temporal properties for QgsVectorDataProviders.
Base class for vector data providers.
A convenience class for writing vector layers to disk based formats (e.g.
A convenience class for exporting vector layers to a destination data provider.
Implementation of map layer temporal properties for vector layers.
Represents a vector layer which manages a vector based dataset.
Contains settings for simplifying geometries fetched from a vector layer.
Handles storage of information regarding WKB types and their properties.
Definition qgswkbtypes.h:42
FeatureCountState
Enumeration of feature count states.
Definition qgis.h:572
As part of the API refactoring and improvements which landed in QGIS
Q_DECL_DEPRECATED const long GEOCRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system in QGIS internal srs database.
Definition qgis.h:7887
Q_DECL_DEPRECATED CORE_EXPORT QString qgsVsiPrefix(const QString &path)
Returns a the vsi prefix which corresponds to a file path, or an empty string if the path is not asso...
Definition qgis.cpp:606
CORE_EXPORT uint qHash(const QVariant &variant)
Hash for QVariant.
Definition qgis.cpp:611
bool operator>(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is greater than the second.
Definition qgis.h:7801
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:7880
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:7582
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:7234
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:7452
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:7563
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:7621
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:7436
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:7650
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:7906
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:7546
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference).
Definition qgis.h:7392
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:7468
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:7529
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:7421
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference).
Definition qgis.h:7327
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:7279
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:7221
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:7896
Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system.
Definition qgis.h:7894
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:7398
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:7299
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:7367
#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:7340
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:7817
#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