QGIS API Documentation 4.3.0-Master (bf28115e945)
Loading...
Searching...
No Matches
qgis.h
Go to the documentation of this file.
1/***************************************************************************
2 qgis.h - QGIS namespace
3 -------------------
4 begin : Sat Jun 30 2002
5 copyright : (C) 2002 by Gary E.Sherman
6 email : sherman at mrcc.com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGIS_H
19#define QGIS_H
20
21
22#include <cfloat>
23#include <cmath>
24#include <memory>
25
26#include "qgis_core.h"
27#include "qgis_sip.h"
28
29#include <QMetaEnum>
30#include <QString>
31#include <QTimeZone>
32
33using namespace Qt::StringLiterals;
34
35#ifdef SIP_RUN
36// clang-format off
37% ModuleHeaderCode
38#include <qgis.h>
39% End
40
41% ModuleCode
42int QgisEvent = QEvent::User + 1;
43% End
44// clang-format on
45#endif
46
47#ifndef SIP_RUN
48// qHash implementation for scoped enum type
49// https://gitlab.com/frostasm/programming-knowledge-base/-/snippets/20120
50#define QHASH_FOR_CLASS_ENUM( T ) \
51 inline size_t qHash( const T &t, size_t seed ) \
52 { \
53 return ::qHash( static_cast<typename std::underlying_type<T>::type>( t ), seed ); \
54 }
55#endif
56
61 class CORE_EXPORT Qgis
62{
63 Q_GADGET
64 Q_CLASSINFO( "RegisterEnumClassesUnscoped", "false" )
65
66 public:
72 static QString version();
73
79 static int versionInt();
80
86 static QString releaseName();
87
89 static const char *QGIS_DEV_VERSION;
90
96 static QString devVersion();
97
98 // Enumerations
99 //
100
107 {
108 ClearStorage = 1 << 0,
109
110 ReadConfiguration = 1 << 1,
111 UpdateConfiguration = 1 << 2,
112 DeleteConfiguration = 1 << 3,
113 CreateConfiguration = 1 << 4,
114
115 ReadCertificateIdentity = 1 << 5,
116 UpdateCertificateIdentity = 1 << 6,
117 DeleteCertificateIdentity = 1 << 7,
118 CreateCertificateIdentity = 1 << 8,
119
120 ReadSslCertificateCustomConfig = 1 << 9,
121 UpdateSslCertificateCustomConfig = 1 << 10,
122 DeleteSslCertificateCustomConfig = 1 << 11,
123 CreateSslCertificateCustomConfig = 1 << 12,
124
125 ReadCertificateAuthority = 1 << 13,
126 UpdateCertificateAuthority = 1 << 14,
127 DeleteCertificateAuthority = 1 << 15,
128 CreateCertificateAuthority = 1 << 16,
129
130 ReadCertificateTrustPolicy = 1 << 17,
131 UpdateCertificateTrustPolicy = 1 << 18,
132 DeleteCertificateTrustPolicy = 1 << 19,
133 CreateCertificateTrustPolicy = 1 << 20,
134
135 ReadMasterPassword = 1 << 21,
136 UpdateMasterPassword = 1 << 22,
137 DeleteMasterPassword = 1 << 23,
138 CreateMasterPassword = 1 << 24,
139
140 ReadSetting = 1 << 25,
141 UpdateSetting = 1 << 26,
142 DeleteSetting = 1 << 27,
143 CreateSetting = 1 << 28,
144
145 };
146 Q_ENUM( AuthConfigurationStorageCapability )
147
148
154
160 {
161 Info = 0,
166 };
167 Q_ENUM( MessageLevel )
168
169
175 {
176 PlainText SIP_MONKEYPATCH_COMPAT_NAME( MessageText ),
177 Html SIP_MONKEYPATCH_COMPAT_NAME( MessageHtml ),
178 };
179 Q_ENUM( StringFormat )
180
181
186 enum class NetworkRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
187 {
188 DisableMessageLogging = 1 << 0,
189 };
190 Q_ENUM( NetworkRequestFlag )
191
192
198 Q_FLAG( NetworkRequestFlags )
199
206 {
207 Vector SIP_MONKEYPATCH_COMPAT_NAME( VectorLayer ),
208 Raster SIP_MONKEYPATCH_COMPAT_NAME( RasterLayer ),
209 Plugin SIP_MONKEYPATCH_COMPAT_NAME( PluginLayer ),
210 Mesh SIP_MONKEYPATCH_COMPAT_NAME( MeshLayer ),
211 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( VectorTileLayer ),
212 Annotation SIP_MONKEYPATCH_COMPAT_NAME( AnnotationLayer ),
213 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( PointCloudLayer ),
214 Group SIP_MONKEYPATCH_COMPAT_NAME( GroupLayer ),
215 TiledScene,
216 };
217 Q_ENUM( LayerType )
218
219
225 {
226 RasterLayer = 1,
227 NoGeometry = 2,
228 PointLayer = 4,
229 LineLayer = 8,
230 PolygonLayer = 16,
231 HasGeometry = PointLayer | LineLayer | PolygonLayer,
232 VectorLayer = NoGeometry | HasGeometry,
233 PluginLayer = 32,
234 WritableLayer = 64,
235 MeshLayer = 128,
236 VectorTileLayer = 256,
237 PointCloudLayer = 512,
238 AnnotationLayer = 1024,
239 TiledSceneLayer = 2048,
240 All = RasterLayer | VectorLayer | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer,
241 SpatialLayer = RasterLayer | HasGeometry | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer
242 };
243 Q_DECLARE_FLAGS( LayerFilters, LayerFilter )
244 Q_FLAG( LayerFilters )
245
246
251 enum class LoadStyleFlag : int SIP_ENUM_BASETYPE( IntFlag )
252 {
253 IgnoreMissingStyleErrors
254 = 1 << 0,
255 };
256 Q_ENUM( LoadStyleFlag )
257
258
263 Q_DECLARE_FLAGS( LoadStyleFlags, LoadStyleFlag )
264 Q_FLAG( LoadStyleFlags )
265
294 {
295 Unknown = 0,
296 Point = 1,
297 LineString = 2,
298 Polygon = 3,
299 Triangle = 17,
300 MultiPoint = 4,
301 MultiLineString = 5,
302 MultiPolygon = 6,
303 GeometryCollection = 7,
304 CircularString = 8,
305 CompoundCurve = 9,
306 CurvePolygon = 10,
307 MultiCurve = 11,
308 MultiSurface = 12,
309 PolyhedralSurface = 15,
310 TIN = 16,
311 NurbsCurve = 21,
312 NoGeometry = 100,
313 PointZ = 1001,
314 LineStringZ = 1002,
315 PolygonZ = 1003,
316 TriangleZ = 1017,
317 MultiPointZ = 1004,
318 MultiLineStringZ = 1005,
319 MultiPolygonZ = 1006,
320 GeometryCollectionZ = 1007,
321 CircularStringZ = 1008,
322 CompoundCurveZ = 1009,
323 CurvePolygonZ = 1010,
324 MultiCurveZ = 1011,
325 MultiSurfaceZ = 1012,
326 PolyhedralSurfaceZ = 1015,
327 TINZ = 1016,
328 NurbsCurveZ = 1021,
329 PointM = 2001,
330 LineStringM = 2002,
331 PolygonM = 2003,
332 TriangleM = 2017,
333 MultiPointM = 2004,
334 MultiLineStringM = 2005,
335 MultiPolygonM = 2006,
336 GeometryCollectionM = 2007,
337 CircularStringM = 2008,
338 CompoundCurveM = 2009,
339 CurvePolygonM = 2010,
340 MultiCurveM = 2011,
341 MultiSurfaceM = 2012,
342 PolyhedralSurfaceM = 2015,
343 TINM = 2016,
344 NurbsCurveM = 2021,
345 PointZM = 3001,
346 LineStringZM = 3002,
347 PolygonZM = 3003,
348 MultiPointZM = 3004,
349 MultiLineStringZM = 3005,
350 MultiPolygonZM = 3006,
351 GeometryCollectionZM = 3007,
352 CircularStringZM = 3008,
353 CompoundCurveZM = 3009,
354 CurvePolygonZM = 3010,
355 MultiCurveZM = 3011,
356 MultiSurfaceZM = 3012,
357 PolyhedralSurfaceZM = 3015,
358 TINZM = 3016,
359 TriangleZM = 3017,
360 NurbsCurveZM = 3021,
361 Point25D = 0x80000001,
362 LineString25D,
363 Polygon25D,
364 MultiPoint25D,
365 MultiLineString25D,
366 MultiPolygon25D
367 };
368 Q_ENUM( WkbType )
369
370
379 {
380 Point SIP_MONKEYPATCH_COMPAT_NAME( PointGeometry ),
381 Line SIP_MONKEYPATCH_COMPAT_NAME( LineGeometry ),
382 Polygon SIP_MONKEYPATCH_COMPAT_NAME( PolygonGeometry ),
383 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownGeometry ),
384 Null SIP_MONKEYPATCH_COMPAT_NAME( NullGeometry ),
385 };
386 Q_ENUM( GeometryType )
387
388
393 {
394 UnknownDataType = 0,
395 Byte = 1,
396 Int8 = 14,
397 UInt16 = 2,
398 Int16 = 3,
399 UInt32 = 4,
400 Int32 = 5,
401 Float32 = 6,
402 Float64 = 7,
403 CInt16 = 8,
404 CInt32 = 9,
405 CFloat32 = 10,
406 CFloat64 = 11,
407 ARGB32 = 12,
408 ARGB32_Premultiplied = 13
409 };
410 Q_ENUM( DataType )
411
412
417 enum class CaptureTechnique : int
418 {
419 StraightSegments,
420 CircularString,
421 Streaming,
422 Shape,
423 PolyBezier,
424 NurbsCurve,
425 };
426 Q_ENUM( CaptureTechnique )
427
428
429
434 enum class VectorLayerTypeFlag : int SIP_ENUM_BASETYPE( IntFlag )
435 {
436 SqlQuery = 1 << 0
437 };
438 Q_ENUM( VectorLayerTypeFlag )
441 Q_FLAG( VectorLayerTypeFlags )
442
447 enum class EmbeddedScriptMode SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, PythonMacroMode ) : int
448 {
449 Never = 0,
450 Ask = 1,
451 SessionOnly = 2,
452 Always = 3,
453 NotForThisSession = 4,
454 NeverAsk = 5,
455 };
456 Q_ENUM( EmbeddedScriptMode )
457
458
462 enum class EmbeddedScriptType : int
463 {
464 Macro = 0,
465 ExpressionFunction = 1,
466 Action = 2,
467 FormInitCode = 3,
468 };
469 Q_ENUM( EmbeddedScriptType )
470
471
475 enum class ProjectTrustStatus : int
476 {
477 Undetermined = 0,
478 Trusted = 1,
479 Untrusted = 2,
480 };
481 Q_ENUM( ProjectTrustStatus )
482
483
491 {
492 TrustDataSource SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustDataSource )
493 = 1 << 0,
494 SkipFeatureCount = 1 << 1,
495 LoadDefaultStyle SIP_MONKEYPATCH_COMPAT_NAME( FlagLoadDefaultStyle ) = 1 << 2,
496 SkipGetExtent = 1 << 3,
497 SkipFullScan = 1 << 4,
498 ForceReadOnly = 1 << 5,
499 SkipCredentialsRequest
500 = 1 << 6,
501 ParallelThreadLoading = 1 << 7,
502 };
503 Q_ENUM( DataProviderReadFlag )
504
505
513 Q_FLAG( DataProviderReadFlags )
514
515 // TODO QGIS 5 -- remove NoCapabilities and rely on VectorProviderCapabilities() instead
516
525 {
526 NoCapabilities = 0,
527 AddFeatures = 1,
528 DeleteFeatures = 1 << 1,
529 ChangeAttributeValues = 1 << 2,
530 AddAttributes = 1 << 3,
531 DeleteAttributes = 1 << 4,
532 CreateSpatialIndex = 1 << 6,
533 SelectAtId = 1 << 7,
534 ChangeGeometries = 1 << 8,
535 SelectEncoding = 1 << 13,
536 CreateAttributeIndex = 1 << 12,
537 SimplifyGeometries = 1 << 14,
538 SimplifyGeometriesWithTopologicalValidation = 1 << 15,
539 TransactionSupport = 1 << 16,
540 CircularGeometries = 1 << 17,
541 ChangeFeatures = 1 << 18,
542 RenameAttributes = 1 << 19,
543 FastTruncate = 1 << 20,
544 ReadLayerMetadata = 1 << 21,
545 WriteLayerMetadata = 1 << 22,
546 CancelSupport = 1 << 23,
547 CreateRenderer = 1 << 24,
548 CreateLabeling = 1 << 25,
549 ReloadData = 1 << 26,
550 FeatureSymbology = 1 << 27,
551 CacheData = 1 << 28,
552 ReadFieldDomains = 1 << 29,
553 EditingCapabilities = AddFeatures | DeleteFeatures | ChangeAttributeValues | ChangeGeometries | AddAttributes | DeleteAttributes | RenameAttributes,
554 };
555 Q_ENUM( VectorProviderCapability )
556
557
566
573 {
574 Abort,
575 CreateOrOverwriteFile,
576 CreateOrOverwriteLayer,
577 };
578 Q_ENUM( CreateLayerActionOnExisting )
579
580
586 {
587 Uncounted = -2,
588 UnknownCount = -1,
589 };
590 Q_ENUM( FeatureCountState )
591
592
599 {
600 Unknown SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexUnknown ) = 0,
601 NotPresent SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexNotPresent ) = 1,
602 Present SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexPresent ) = 2,
603 };
604 Q_ENUM( SpatialIndexPresence )
605
606
618 {
619 NoFeaturesAvailable = 0,
620 FeaturesAvailable,
621 FeaturesMaybeAvailable
622 };
623 Q_ENUM( FeatureAvailability )
624
625
631 {
632 EditAlias = 1 << 0,
633 EditComment = 1 << 1,
634 };
635
636 Q_ENUM( VectorDataProviderAttributeEditCapability )
637
638
645
651 {
652 Marker,
653 Line,
654 Fill,
655 Hybrid
656 };
657 Q_ENUM( SymbolType )
658
659
665 {
666 ScaleArea,
667 ScaleDiameter
668 };
669 Q_ENUM( ScaleMethod )
670
671
676 {
677 Custom,
678 Variant,
679 String,
680 StringList,
681 VariantMap,
682 Bool,
683 Integer,
684 Double,
685 EnumFlag,
686 Color
687 };
688 Q_ENUM( SettingsType )
689
690
695 {
696 Root,
697 Standard,
698 NamedList,
699 };
700 Q_ENUM( SettingsTreeNodeType )
701
702
706 enum class SettingsTreeNodeOption : int SIP_ENUM_BASETYPE( IntFlag )
707 {
708 NamedListSelectedItemSetting = 1 << 0,
709 };
710
711 Q_ENUM( SettingsTreeNodeOption )
714
723 {
724 Invalid SIP_MONKEYPATCH_COMPAT_NAME( InvalidProperty ),
725 Static SIP_MONKEYPATCH_COMPAT_NAME( StaticProperty ),
726 Field SIP_MONKEYPATCH_COMPAT_NAME( FieldBasedProperty ),
727 Expression SIP_MONKEYPATCH_COMPAT_NAME( ExpressionBasedProperty ),
728 };
729 Q_ENUM( PropertyType )
730
731
736 enum class SldExportOption : int SIP_ENUM_BASETYPE( IntFlag )
737 {
738 NoOptions = 0,
739 Svg = 1 << 0,
740 Png = 1 << 1,
741 };
742 Q_ENUM( SldExportOption )
744 Q_FLAG( SldExportOptions )
745
751 enum class SldExportVendorExtension : int SIP_ENUM_BASETYPE( IntFlag )
752 {
753 NoVendorExtension = 0,
754 GeoServerVendorExtension = 1 << 1,
755 DeegreeVendorExtension = 1 << 2,
756 };
757 Q_ENUM( SldExportVendorExtension )
758
759
760
764 enum class SettingsOption : int SIP_ENUM_BASETYPE( IntFlag )
765 {
766 SaveFormerValue = 1 << 1,
767 SaveEnumFlagAsInt = 1 << 2,
768 };
769 Q_ENUM( SettingsOption )
770 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
771 Q_FLAG( SettingsOptions )
772
778 {
779 ActiveLayer = 1,
780 AllLayers = 2,
781 AdvancedConfiguration = 3,
782 };
783 Q_ENUM( SnappingMode )
784
785
790 {
791 NoSnap SIP_MONKEYPATCH_COMPAT_NAME( NoSnapFlag ) = 0,
792 Vertex SIP_MONKEYPATCH_COMPAT_NAME( VertexFlag ) = 1 << 0,
793 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentFlag ) = 1 << 1,
794 Area SIP_MONKEYPATCH_COMPAT_NAME( AreaFlag ) = 1 << 2,
795 Centroid SIP_MONKEYPATCH_COMPAT_NAME( CentroidFlag ) = 1 << 3,
796 MiddleOfSegment SIP_MONKEYPATCH_COMPAT_NAME( MiddleOfSegmentFlag ) = 1 << 4,
797 LineEndpoint SIP_MONKEYPATCH_COMPAT_NAME( LineEndpointFlag ) = 1 << 5,
798 };
799 Q_ENUM( SnappingType )
802 Q_FLAG( SnappingTypes )
803
810 {
811 DynamicRotation = 1 << 1,
812 IsSymbolLayerSubSymbol = 1 << 2,
813 ForceVectorRendering = 1 << 3,
814 ExcludeSymbolBuffers = 1 << 4,
815 };
816 Q_ENUM( SymbolRenderHint )
819 Q_FLAG( SymbolRenderHints )
820
827 {
828 ReadSymbol = 1 << 0,
829 WriteSymbol = 1 << 1,
830 };
831
832 Q_ENUM( SymbolConverterCapability )
833
834
841
847 enum class SymbolRotationMode : int
848 {
849 RespectMapRotation,
850 IgnoreMapRotation,
851 };
852 Q_ENUM( SymbolRotationMode )
853
854
855
867 Q_ENUM( HorizontalAnchorPoint )
868
869
882 Q_ENUM( VerticalAnchorPoint )
883
884
889 enum class FeatureRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
890 {
891 AffectsLabeling = 1 << 0,
892 };
893 Q_ENUM( FeatureRendererFlag )
894
895
901 Q_FLAG( FeatureRendererFlags )
902
908 enum class SymbolFlag : int SIP_ENUM_BASETYPE( IntFlag )
909 {
910 RendererShouldUseSymbolLevels = 1 << 0,
911 AffectsLabeling = 1 << 1,
912 };
913 Q_ENUM( SymbolFlag )
915 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
916 Q_FLAG( SymbolFlags )
917
924 {
925 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
926 };
927 Q_ENUM( SymbolPreviewFlag )
930 Q_FLAG( SymbolPreviewFlags )
931
941 enum class SymbolLayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
942 {
943 DisableFeatureClipping = 1 << 0,
944 CanCalculateMaskGeometryPerFeature = 1 << 1,
945 AffectsLabeling = 1 << 2,
946 };
947 Q_ENUM( SymbolLayerFlag )
950 Q_FLAG( SymbolLayerFlags )
951
961 enum class SymbolLayerUserFlag : int SIP_ENUM_BASETYPE( IntFlag )
962 {
963 DisableSelectionRecoloring = 1 << 0,
964 };
965 Q_ENUM( SymbolLayerUserFlag )
966
967
973 Q_FLAG( SymbolLayerUserFlags )
974
981 {
982 Collection,
983 Directory,
984 Layer,
985 Error,
986 Favorites,
987 Project,
988 Custom,
989 Fields,
990 Field,
991 };
992 Q_ENUM( BrowserItemType )
993
994
1000 {
1001 NotPopulated,
1002 Populating,
1003 Populated,
1004 };
1005 Q_ENUM( BrowserItemState )
1006
1007
1013 {
1014 NoCapabilities = 0,
1015 SetCrs = 1 << 0,
1016 Fertile = 1 << 1,
1017 Fast = 1 << 2,
1018 Collapse = 1 << 3,
1019 Rename = 1 << 4,
1020 Delete = 1 << 5,
1021 ItemRepresentsFile = 1 << 6,
1022 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
1023 ReadOnly = 1 << 8,
1024 };
1025 Q_ENUM( BrowserItemCapability )
1028 Q_FLAG( BrowserItemCapabilities )
1029
1035 enum class BrowserItemFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
1036 {
1037 HideWhenNotFilteringByLayerType = 1 << 0,
1038 };
1039 Q_ENUM( BrowserItemFilterFlag )
1040
1041
1047 Q_FLAG( BrowserItemFilterFlags )
1048
1057 {
1058 NoCapabilities SIP_MONKEYPATCH_COMPAT_NAME( NoDataCapabilities ) = 0,
1060 Directories SIP_MONKEYPATCH_COMPAT_NAME( Dir ) = 1 << 1,
1061 Databases SIP_MONKEYPATCH_COMPAT_NAME( Database ) = 1 << 2,
1062 NetworkSources SIP_MONKEYPATCH_COMPAT_NAME( Net ) = 1 << 3,
1063 };
1064 Q_ENUM( DataItemProviderCapability )
1065
1066
1075
1082 {
1083 NoType,
1084 Vector,
1085 Raster,
1086 Point,
1087 Line,
1088 Polygon,
1089 TableLayer,
1090 Database,
1091 Table,
1092 Plugin,
1093 Mesh,
1094 VectorTile,
1095 PointCloud,
1096 TiledScene,
1097 };
1098 Q_ENUM( BrowserLayerType )
1099
1100
1106 {
1107 Default,
1108 NeverMonitor,
1109 AlwaysMonitor,
1110 };
1111 Q_ENUM( BrowserDirectoryMonitoring )
1112
1113
1117 enum class HttpMethod : int
1118 {
1119 Get = 0,
1120 Post = 1,
1121 Head,
1122 Put,
1123 Delete,
1124 };
1125 Q_ENUM( HttpMethod )
1126
1127
1133 {
1135 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
1136 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
1137 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
1138 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
1139 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
1140 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
1141 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
1142 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
1143 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
1144 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
1145 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
1146 };
1147 Q_ENUM( VectorExportResult )
1148
1149
1154 {
1155 FieldAliases = 1 << 0,
1156 FieldComments = 1 << 2,
1157 };
1158 Q_ENUM( VectorFileWriterCapability )
1159
1160
1166
1172 {
1173 SubsetStringFilter = 1 << 1,
1174 GeometryColumn = 1 << 2,
1175 PrimaryKeys = 1 << 3,
1176 UnstableFeatureIds = 1 << 4
1177 };
1178 Q_ENUM( SqlLayerDefinitionCapability )
1182
1188 enum class SqlKeywordCategory : int
1189 {
1190 Keyword,
1191 Constant,
1192 Function,
1193 Geospatial,
1194 Operator,
1195 Math,
1197 String,
1198 Identifier
1199 };
1200 Q_ENUM( SqlKeywordCategory )
1201
1202
1206 enum class DriveType : int
1207 {
1208 Unknown,
1209 Invalid,
1210 Removable,
1211 Fixed,
1212 Remote,
1213 CdRom,
1214 RamDisk,
1215 Cloud,
1216 };
1217 Q_ENUM( DriveType )
1218
1219
1224 {
1225 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
1226 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
1227 };
1228 Q_ENUM( ActionStart )
1229
1230
1236 {
1237 FollowEngineSetting,
1238 NeverShow,
1239 };
1240 Q_ENUM( UnplacedLabelVisibility )
1241
1242
1247 enum class LabelOverlapHandling : int
1248 {
1249 PreventOverlap,
1250 AllowOverlapIfRequired,
1251 AllowOverlapAtNoCost,
1252 };
1253 Q_ENUM( LabelOverlapHandling )
1254
1255
1261 {
1262 TreatWhitespaceAsCollision,
1263 IgnoreWhitespaceCollisions,
1264 };
1265 Q_ENUM( LabelWhitespaceCollisionHandling )
1266
1267
1272 enum class LabelPrioritization : int
1273 {
1274 PreferCloser,
1275 PreferPositionOrdering,
1276 };
1277 Q_ENUM( LabelPrioritization )
1278
1279
1287 {
1288 AroundPoint,
1289 OverPoint,
1290 Line,
1291 Curved,
1292 Horizontal,
1293 Free,
1294 OrderedPositionsAroundPoint,
1295 PerimeterCurved,
1296 OutsidePolygons,
1297 };
1298 Q_ENUM( LabelPlacement )
1299
1300
1305 enum class CurvedLabelMode : int
1306 {
1307 Default,
1308 PlaceCharactersAtVertices,
1309 StretchCharacterSpacingToFitLine,
1310 StretchWordSpacingToFitLine,
1311 };
1312 Q_ENUM( CurvedLabelMode )
1313
1314
1322 {
1323 TopLeft,
1324 TopSlightlyLeft,
1325 TopMiddle,
1326 TopSlightlyRight,
1327 TopRight,
1328 MiddleLeft,
1329 MiddleRight,
1330 BottomLeft,
1331 BottomSlightlyLeft,
1332 BottomMiddle,
1333 BottomSlightlyRight,
1334 BottomRight,
1335 OverPoint,
1336 };
1337 Q_ENUM( LabelPredefinedPointPosition )
1338
1339
1345 {
1346 LabelLargestPartOnly,
1347 LabelEveryPartWithEntireLabel,
1348 SplitLabelTextLinesOverParts,
1349 };
1350 Q_ENUM( MultiPartLabelingBehavior )
1351
1352
1361 {
1362 FromPoint,
1363 FromSymbolBounds,
1364 };
1365 Q_ENUM( LabelOffsetType )
1366
1367
1375 {
1376 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
1377 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
1378 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
1380 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
1382 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
1383 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
1384 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
1385 };
1386 Q_ENUM( LabelQuadrantPosition )
1387
1388
1395 {
1396 OnLine = 1,
1397 AboveLine = 2,
1398 BelowLine = 4,
1399 MapOrientation = 8,
1400 };
1401 Q_ENUM( LabelLinePlacementFlag )
1402
1403
1411 Q_FLAG( LabelLinePlacementFlags )
1412
1420 {
1421 AllowPlacementOutsideOfPolygon = 1 << 0,
1422 AllowPlacementInsideOfPolygon = 1 << 1,
1423 };
1424 Q_ENUM( LabelPolygonPlacementFlag )
1425
1426
1434
1443 {
1444 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
1445 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
1446 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
1447 };
1448 Q_ENUM( UpsideDownLabelHandling )
1449
1450
1458 {
1460 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
1462 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
1463 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
1464 };
1465 Q_ENUM( LabelMultiLineAlignment )
1466
1467
1474 {
1475 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
1476 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1477 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1478 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1479 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1480 VectorTile,
1481 TiledScene,
1482 };
1483 Q_ENUM( FileFilterType )
1484
1485
1490 enum class UriCleaningFlag : int SIP_ENUM_BASETYPE( IntFlag )
1491 {
1492 RemoveCredentials = 1 << 0,
1493 RedactCredentials = 1 << 1,
1494 };
1495 Q_ENUM( UriCleaningFlag )
1496
1497
1503 Q_FLAG( UriCleaningFlags )
1504
1510 enum class SourceHierarchyLevel : int
1511 {
1512 Connection,
1513 Group,
1514 Object,
1515 };
1516 Q_ENUM( SourceHierarchyLevel )
1517
1518
1523 enum class SublayerQueryFlag : int SIP_ENUM_BASETYPE( IntFlag )
1524 {
1525 FastScan = 1 << 0,
1526 ResolveGeometryType = 1 << 1,
1527 CountFeatures = 1 << 2,
1528 IncludeSystemTables = 1 << 3,
1529 OpenLayersToResolveDescriptions = 1 << 4,
1530 };
1531
1534 Q_FLAG( SublayerQueryFlags )
1535
1536
1541 enum class SublayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
1542 {
1543 SystemTable = 1 << 0,
1544 };
1545
1546 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1548 Q_FLAG( SublayerFlags )
1549
1550
1558 {
1559 Linear SIP_MONKEYPATCH_COMPAT_NAME( Interpolated ) = 0,
1560 Discrete = 1,
1561 Exact = 2,
1562 };
1563 Q_ENUM( ShaderInterpolationMethod )
1564
1565
1573 {
1574 Continuous = 1,
1575 EqualInterval = 2,
1576 Quantile = 3,
1577 };
1578 Q_ENUM( ShaderClassificationMethod )
1579
1580
1586 {
1587 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1588 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1589 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1590 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1591 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1592 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1593 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1594 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1595 };
1596 Q_ENUM( RasterPipeInterfaceRole )
1597
1598
1603 {
1604 ResampleFilter,
1605 Provider,
1606 };
1607 Q_ENUM( RasterResamplingStage )
1608
1609
1617 {
1618 Nearest,
1619 Bilinear,
1620 Cubic,
1621 CubicSpline,
1622 Lanczos,
1623 Average,
1624 Mode,
1625 Gauss
1626 };
1627 Q_ENUM( RasterResamplingMethod )
1628
1629
1634 enum class RasterRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
1635 {
1636 InternalLayerOpacityHandling = 1 << 0,
1637 UseNoDataForOutOfRangePixels
1638 = 1 << 1,
1639 };
1640
1647
1649 Q_FLAG( RasterRendererFlags )
1650
1651
1657 {
1658 UsesMultipleBands = 1 << 0,
1659 };
1660 Q_ENUM( RasterRendererCapability )
1661
1662
1669
1678 {
1680 MinimumMaximum SIP_MONKEYPATCH_COMPAT_NAME( MinMax ),
1681 StdDev,
1682 CumulativeCut
1683 };
1684 Q_ENUM( RasterRangeLimit )
1685
1686
1694 {
1695 WholeRaster SIP_MONKEYPATCH_COMPAT_NAME( None_ ),
1696 FixedCanvas SIP_MONKEYPATCH_COMPAT_NAME( CurrentCanvas ),
1697 UpdatedCanvas,
1698 };
1699 Q_ENUM( RasterRangeExtent )
1700
1701
1709 {
1710 Exact,
1711 Estimated,
1712 };
1713 Q_ENUM( RasterRangeAccuracy )
1714
1715
1721 {
1722 Generic = 0,
1723 PixelCount = 1,
1724 Name = 2,
1725 Min = 3,
1726 Max = 4,
1727 MinMax = 5,
1728 Red = 6,
1729 Green = 7,
1730 Blue = 8,
1731 Alpha = 9,
1732 RedMin = 10,
1733 GreenMin = 11,
1734 BlueMin = 12,
1735 AlphaMin = 13,
1736 RedMax = 14,
1737 GreenMax = 15,
1738 BlueMax = 16,
1739 AlphaMax = 17,
1740 MaxCount
1741 };
1742 Q_ENUM( RasterAttributeTableFieldUsage )
1743
1744
1750 {
1751 Thematic = 0,
1752 Athematic = 1
1753 };
1754 Q_ENUM( RasterAttributeTableType )
1755
1756
1763 {
1764 Raw = 0,
1765 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1766 };
1767 Q_ENUM( RasterExportType )
1768
1769
1776 {
1778 SourceProviderError = 1,
1779 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1780 CreateDatasourceError = 3,
1781 WriteError = 4,
1782 NoDataConflict = 5,
1783 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1784 };
1785 Q_ENUM( RasterFileWriterResult )
1786
1787
1792 enum class MeshEditingErrorType : int
1793 {
1794 NoError,
1795 InvalidFace,
1796 TooManyVerticesInFace,
1797 FlatFace,
1798 UniqueSharedVertex,
1799 InvalidVertex,
1800 ManifoldFace,
1801 };
1802 Q_ENUM( MeshEditingErrorType )
1803
1804
1809 enum class FilePathType : int
1810 {
1811 Absolute,
1812 Relative,
1813 };
1814 Q_ENUM( FilePathType )
1815
1816
1821 enum class SublayerPromptMode : int
1822 {
1823 AlwaysAsk,
1824 AskExcludingRasterBands,
1825 NeverAskSkip,
1826 NeverAskLoadAll,
1827 };
1828 Q_ENUM( SublayerPromptMode )
1829
1830
1838 {
1839 Unknown SIP_MONKEYPATCH_COMPAT_NAME( OriginUnknown ),
1840 Provider SIP_MONKEYPATCH_COMPAT_NAME( OriginProvider ),
1841 Join SIP_MONKEYPATCH_COMPAT_NAME( OriginJoin ),
1842 Edit SIP_MONKEYPATCH_COMPAT_NAME( OriginEdit ),
1843 Expression SIP_MONKEYPATCH_COMPAT_NAME( OriginExpression )
1844 };
1845 Q_ENUM( FieldOrigin )
1846
1847
1854 enum class FieldConfigurationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1855 {
1856 NoFlag = 0,
1857 NotSearchable = 1 << 1,
1858 HideFromWms = 1 << 2,
1859 HideFromWfs = 1 << 3,
1860 };
1861 Q_ENUM( FieldConfigurationFlag )
1862
1863
1871 Q_FLAG( FieldConfigurationFlags )
1872
1878 enum class FieldMetadataProperty : int
1879 {
1880 GeometryCrs = 0x1000,
1881 GeometryWkbType = 0x1001,
1882 CustomProperty = 0x100000,
1883 };
1884 Q_ENUM( FieldMetadataProperty )
1885
1886
1891 enum class SelectionRenderingMode : int
1892 {
1893 Default,
1894 CustomColor,
1895 CustomSymbol,
1896 };
1897 Q_ENUM( SelectionRenderingMode )
1898
1899
1905 {
1906 SetSelection,
1907 AddToSelection,
1908 IntersectSelection,
1909 RemoveFromSelection,
1910 };
1911 Q_ENUM( SelectBehavior )
1912
1913
1919 {
1920 Intersect,
1921 Within,
1922 };
1923 Q_ENUM( SelectGeometryRelationship )
1924
1925
1930 enum class SelectionFlag : int SIP_ENUM_BASETYPE( IntFlag )
1931 {
1932 SingleFeatureSelection = 1 << 0,
1933 ToggleSelection = 1 << 1,
1934 };
1935
1941 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1942
1944 Q_FLAG( SelectionFlags )
1945
1946
1952 {
1954 EmptyGeometry = 1,
1955 EditFailed = 2,
1956 FetchFeatureFailed = 3,
1957 InvalidLayer = 4,
1958 };
1959 Q_ENUM( VectorEditResult )
1960
1961
1967 {
1968 SemiTransparentCircle,
1969 Cross,
1970 NoMarker,
1971 };
1972 Q_ENUM( VertexMarkerType )
1973
1974
1978 enum class ContentStatus : int
1979 {
1980 NotStarted,
1981 Running,
1982 Finished,
1983 Failed,
1984 Canceled,
1985 };
1986 Q_ENUM( ContentStatus )
1987
1988
1993 enum class GpsConnectionType : int
1994 {
1995 Automatic,
1996 Internal,
1997 Serial,
1998 Gpsd,
1999 };
2000 Q_ENUM( GpsConnectionType )
2001
2002
2007 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
2008 {
2009 Disconnected,
2010 Connecting,
2011 Connected,
2012 };
2013 Q_ENUM( DeviceConnectionStatus )
2014
2015
2023 {
2024 NoData,
2025 NoFix,
2026 Fix2D,
2027 Fix3D
2028 };
2030
2031
2038 {
2039 Unknown,
2040 Gps,
2041 Glonass,
2042 Galileo,
2043 BeiDou,
2044 Qzss,
2045 Navic,
2046 Sbas,
2047 };
2049
2056 {
2057 Unknown = -1,
2058 Invalid,
2059 GPS,
2060 DGPS,
2061 PPS,
2062 RTK,
2063 FloatRTK,
2064 Estimated,
2065 Manual,
2066 Simulation,
2067 };
2068 Q_ENUM( GpsQualityIndicator )
2069
2070
2075 enum class GpsNavigationStatus : int
2076 {
2077 NotValid,
2078 Safe,
2079 Caution,
2080 Unsafe,
2081 };
2083
2089 enum class GpsInformationComponent : int SIP_ENUM_BASETYPE( IntFlag )
2090 {
2091 Location = 1 << 0,
2092 Altitude = 1 << 1,
2093 GroundSpeed = 1 << 2,
2094 Bearing = 1 << 3,
2095 TotalTrackLength = 1 << 4,
2096 TrackDistanceFromStart = 1 << 5,
2097 Pdop = 1 << 6,
2098 Hdop = 1 << 7,
2099 Vdop = 1 << 8,
2100 HorizontalAccuracy = 1 << 9,
2101 VerticalAccuracy = 1 << 10,
2102 HvAccuracy = 1 << 11,
2103 SatellitesUsed = 1 << 12,
2104 Timestamp = 1 << 13,
2105 TrackStartTime = 1 << 14,
2106 TrackEndTime = 1 << 15,
2107 TrackDistanceSinceLastPoint = 1 << 16,
2108 TrackTimeSinceLastPoint = 1 << 17,
2109 GeoidalSeparation = 1 << 18,
2110 EllipsoidAltitude = 1 << 19,
2111 };
2112
2120 Q_FLAG( GpsInformationComponents )
2121
2122
2127 enum class BabelFormatCapability : int SIP_ENUM_BASETYPE( IntFlag )
2128 {
2129 Import = 1 << 0,
2130 Export = 1 << 1,
2131 Waypoints = 1 << 2,
2132 Routes = 1 << 3,
2133 Tracks = 1 << 4,
2134 };
2135
2138 Q_FLAG( BabelFormatCapabilities )
2139
2140
2146 enum class BabelCommandFlag : int SIP_ENUM_BASETYPE( IntFlag )
2147 {
2148 QuoteFilePaths = 1 << 0,
2149 };
2150
2153 Q_FLAG( BabelCommandFlags )
2154
2155
2160 enum class GpsFeatureType : int
2161 {
2162 Waypoint,
2163 Route,
2164 Track,
2165 };
2166 Q_ENUM( GpsFeatureType )
2167
2168
2176 {
2178 NothingHappened = 1000,
2179 InvalidBaseGeometry,
2180 InvalidInputGeometryType,
2181 SelectionIsEmpty,
2182 SelectionIsGreaterThanOne,
2183 GeometryEngineError,
2184 LayerNotEditable,
2185 // Add part issues
2186 AddPartSelectedGeometryNotFound,
2187 AddPartNotMultiGeometry,
2188 // Add ring issues
2189 AddRingNotClosed,
2190 AddRingNotValid,
2191 AddRingCrossesExistingRings,
2192 AddRingNotInExistingFeature,
2193 // Split features
2194 SplitCannotSplitPoint,
2195 GeometryTypeHasChanged,
2196 };
2197 Q_ENUM( GeometryOperationResult )
2198
2199
2205 {
2206 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles )
2207 = 1 << 0,
2208 };
2209
2212 Q_FLAG( GeometryValidityFlags )
2213
2214
2219 {
2220 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
2221 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
2222 };
2223 Q_ENUM( GeometryValidationEngine )
2224
2225
2235 Q_ENUM( BufferSide )
2236
2237
2248 Q_ENUM( EndCapStyle )
2249
2250
2256 {
2257 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
2258 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
2259 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
2260 };
2261 Q_ENUM( JoinStyle )
2262
2263
2268 enum class JoinStyle3D : int
2269 {
2270 Round = 1,
2271 Flat,
2272 CylindersAndSpheres,
2273 };
2274 Q_ENUM( JoinStyle3D )
2275
2276
2281 enum class GeometryBackend : int
2282 {
2283 QGIS = 1,
2284 GEOS,
2285 };
2286 Q_ENUM( GeometryBackend )
2287
2288
2293 enum class GeosCreationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2294 {
2295 RejectOnInvalidSubGeometry = 1 << 0,
2296 SkipEmptyInteriorRings = 1 << 1,
2297 };
2298 Q_ENUM( GeosCreationFlag )
2299
2300
2306 Q_FLAG( GeosCreationFlags )
2307
2313 enum class CoverageValidityResult : int
2314 {
2315 Invalid = 0,
2316 Valid = 1,
2317 Error = 2,
2318 };
2319 Q_ENUM( CoverageValidityResult )
2320
2321
2326 enum class MakeValidMethod : int
2327 {
2328 Linework = 0,
2329 Structure = 1,
2330 };
2331 Q_ENUM( MakeValidMethod )
2332
2333
2341 {
2342 NoFlags = 0,
2343 NoGeometry = 1,
2344 SubsetOfAttributes = 2,
2345 ExactIntersect = 4,
2346 IgnoreStaticNodesDuringExpressionCompilation
2347 = 8,
2348 EmbeddedSymbols = 16,
2349 };
2350 Q_ENUM( FeatureRequestFlag )
2351
2352
2360 Q_FLAG( FeatureRequestFlags )
2361
2370 {
2371 NoFilter SIP_MONKEYPATCH_COMPAT_NAME( FilterNone ),
2373 Expression SIP_MONKEYPATCH_COMPAT_NAME( FilterExpression ),
2375 };
2376 Q_ENUM( FeatureRequestFilterType )
2377
2378
2386 {
2387 NoCheck SIP_MONKEYPATCH_COMPAT_NAME( GeometryNoCheck ) = 0,
2388 SkipInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometrySkipInvalid ) = 1,
2389 AbortOnInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometryAbortOnInvalid ) = 2,
2390 };
2391 Q_ENUM( InvalidGeometryCheck )
2392
2393
2398 enum class SpatialFilterType : int
2399 {
2400 NoFilter,
2401 BoundingBox,
2402 DistanceWithin,
2403 };
2404 Q_ENUM( SpatialFilterType )
2405
2406
2411 enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2412 {
2413 IncludeMetadataFile = 1 << 0,
2414 IncludeStyleFile = 1 << 1,
2415 };
2416
2419 Q_FLAG( FileOperationFlags )
2420
2421
2426 enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
2427 {
2428 UsersCannotToggleEditing
2429 = 1 << 0,
2430 IsBasemapLayer = 1 << 1,
2431 Is3DBasemapLayer = 1 << 2,
2432 };
2433
2436 Q_FLAG( MapLayerProperties )
2437
2438
2443 enum class AutoRefreshMode : int
2444 {
2445 Disabled = 0,
2446 ReloadData = 1,
2447 RedrawOnly = 2,
2448 };
2449 Q_ENUM( AutoRefreshMode )
2450
2451
2456 enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
2457 {
2458 IsBasemapSource = 1 << 1,
2459 FastExtent2D = 1 << 2,
2460 FastExtent3D = 1 << 3,
2461 Is3DBasemapSource = 1 << 4,
2462 };
2463
2466 Q_FLAG( DataProviderFlags )
2467
2468
2475 enum class CrsType : int
2476 {
2477 Unknown,
2478 Geodetic,
2479 Geocentric,
2480 Geographic2d,
2481 Geographic3d,
2482 Vertical,
2483 Projected,
2484 Compound,
2485 Temporal,
2486 Engineering,
2487 Bound,
2488 Other,
2489 DerivedProjected,
2490 };
2491 Q_ENUM( CrsType )
2492
2493
2500 enum class CrsAxisDirection : int
2501 {
2502 North,
2503 NorthNorthEast,
2504 NorthEast,
2505 EastNorthEast,
2506 East,
2507 EastSouthEast,
2508 SouthEast,
2509 SouthSouthEast,
2510 South,
2511 SouthSouthWest,
2512 SouthWest,
2513 WestSouthWest,
2514 West,
2515 WestNorthWest,
2516 NorthWest,
2517 NorthNorthWest,
2518 GeocentricX,
2519 GeocentricY,
2520 GeocentricZ,
2523 Forward,
2524 Aft,
2525 Port,
2526 Starboard,
2527 Clockwise,
2528 CounterClockwise,
2529 ColumnPositive,
2530 ColumnNegative,
2531 RowPositive,
2532 RowNegative,
2533 DisplayRight,
2534 DisplayLeft,
2535 DisplayUp,
2536 DisplayDown,
2537 Future,
2538 Past,
2539 Towards,
2540 AwayFrom,
2541 Unspecified,
2542 };
2543 Q_ENUM( CrsAxisDirection )
2544
2545
2550 enum class CoordinateOrder : int
2551 {
2552 Default,
2553 XY,
2554 YX,
2555 };
2556 Q_ENUM( CoordinateOrder )
2557
2558
2566 {
2567 ShortString,
2568 MediumString,
2569 FullString,
2570 };
2571 Q_ENUM( CrsIdentifierType )
2572
2573
2581 {
2583 WKT1_GDAL
2584 ),
2585 Wkt1Esri SIP_MONKEYPATCH_COMPAT_NAME( WKT1_ESRI ),
2586 Wkt2_2015 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015 ),
2587 Wkt2_2015Simplified SIP_MONKEYPATCH_COMPAT_NAME(
2588 WKT2_2015_SIMPLIFIED
2589 ),
2591 WKT2_2019
2592 ),
2593 Wkt2_2019Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019_SIMPLIFIED ),
2594 Preferred SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED ) = Wkt2_2019,
2595 PreferredSimplified SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_SIMPLIFIED )
2596 = Wkt2_2019Simplified,
2597 PreferredGdal SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_GDAL ) = Wkt2_2019,
2598 };
2599 Q_ENUM( CrsWktVariant )
2600
2601
2607 {
2608 NoAction = 0,
2609 PromptUserForCrs = 1,
2610 UseProjectCrs = 2,
2611 UseDefaultCrs = 3,
2612 };
2613 Q_ENUM( UnknownLayerCrsBehavior )
2614
2615
2620 enum class Axis : int
2621 {
2622 X,
2623 Y,
2625 };
2626 Q_ENUM( Axis )
2627
2628
2633 enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
2634 {
2635 ScaleDependentBoundingBox = 1 << 0,
2636 SupportsReferenceScale = 1 << 1,
2637 SupportsCallouts = 1 << 2,
2638 };
2639
2642 Q_FLAG( AnnotationItemFlags )
2643
2644
2650 {
2651 SpatialBounds = 0,
2652 FixedSize,
2653 RelativeToMapFrame,
2654 };
2655 Q_ENUM( AnnotationPlacementMode )
2656
2657
2662 enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
2663 {
2664 FlagNoCreationTools = 1 << 0,
2665 };
2666
2669 Q_FLAG( AnnotationItemGuiFlags )
2670
2671
2676 enum class AnnotationItemNodeType : int
2677 {
2678 VertexHandle,
2679 CalloutHandle,
2680 };
2681 Q_ENUM( AnnotationItemNodeType )
2682
2683
2689 {
2691 Invalid,
2692 ItemCleared,
2693 };
2694 Q_ENUM( AnnotationItemEditOperationResult )
2695
2696
2704 {
2705 Disabled SIP_MONKEYPATCH_COMPAT_NAME( NavigationOff ),
2706 Animated,
2707 FixedRange,
2708 Movie,
2709 };
2710 Q_ENUM( TemporalNavigationMode )
2711
2712
2725 Q_ENUM( AnimationState )
2726
2727
2732 enum class PlaybackOperation : int
2733 {
2734 SkipToStart,
2735 PreviousFrame,
2736 PlayReverse,
2737 Pause,
2738 PlayForward,
2739 NextFrame,
2740 SkipToEnd,
2741 };
2742 Q_ENUM( PlaybackOperation )
2743
2744
2750 {
2751 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2752 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
2753 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
2754 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
2755 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
2757 ModeRedrawLayerOnly
2758 ),
2759 };
2760 Q_ENUM( VectorTemporalMode )
2761
2762
2768 {
2769 IncludeBeginExcludeEnd = 0,
2770 IncludeBeginIncludeEnd,
2771 };
2772 Q_ENUM( VectorTemporalLimitMode )
2773
2774
2780 {
2781 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
2782 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
2783 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2784 };
2785 Q_ENUM( VectorDataProviderTemporalMode )
2786
2787
2793 {
2794 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2795 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
2796 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly )
2797 = 2,
2798 FixedRangePerBand = 3,
2799 RepresentsTemporalValues = 4,
2800 FixedDateTime = 5,
2801 };
2802 Q_ENUM( RasterTemporalMode )
2803
2804
2810 {
2811 MatchUsingWholeRange,
2812 MatchExactUsingStartOfRange,
2813 MatchExactUsingEndOfRange,
2814 FindClosestMatchToStartOfRange,
2815 FindClosestMatchToEndOfRange
2816 };
2817 Q_ENUM( TemporalIntervalMatchMethod )
2818
2819
2825 {
2826 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges
2827 = 1 << 0,
2828 };
2829 Q_ENUM( RasterTemporalCapabilityFlag )
2830
2831
2838
2849 Q_ENUM( TransformDirection )
2850
2851
2857 {
2858 BallparkTransformsAreAppropriate
2859 = 1 << 0,
2860 IgnoreImpossibleTransformations
2861 = 1 << 1,
2862 };
2863 Q_ENUM( CoordinateTransformationFlag )
2864
2865
2872
2879 {
2880 Default,
2881 PreferVector,
2882 ForceVector,
2883 };
2884 Q_ENUM( RasterizedRenderingPolicy )
2885
2886
2892 {
2893 Antialiasing = 0x01,
2894 DrawEditingInfo = 0x02,
2895 ForceVectorOutput = 0x04,
2896 UseAdvancedEffects = 0x08,
2897 DrawLabeling = 0x10,
2898 UseRenderingOptimization = 0x20,
2899 DrawSelection = 0x40,
2900 DrawSymbolBounds = 0x80,
2901 RenderMapTile = 0x100,
2902 RenderPartialOutput = 0x200,
2903 RenderPreviewJob = 0x400,
2904 RenderBlocking = 0x800,
2905 LosslessImageRendering
2906 = 0x1000,
2907 Render3DMap = 0x2000,
2908 HighQualityImageTransforms = 0x4000,
2909 SkipSymbolRendering = 0x8000,
2910 ForceRasterMasks = 0x10000,
2911 RecordProfile = 0x20000,
2912 AlwaysUseGlobalMasks
2913 = 0x40000,
2914 };
2915
2918 Q_FLAG( MapSettingsFlags )
2919
2920
2926 {
2927 DrawEditingInfo = 0x01,
2928 ForceVectorOutput = 0x02,
2929 UseAdvancedEffects = 0x04,
2930 UseRenderingOptimization = 0x08,
2931 DrawSelection = 0x10,
2932 DrawSymbolBounds = 0x20,
2933 RenderMapTile = 0x40,
2934 Antialiasing = 0x80,
2935 RenderPartialOutput = 0x100,
2936 RenderPreviewJob = 0x200,
2937 RenderBlocking = 0x400,
2938 RenderSymbolPreview = 0x800,
2939 LosslessImageRendering = 0x1000,
2940 ApplyScalingWorkaroundForTextRendering = 0x2000,
2941 Render3DMap = 0x4000,
2942 ApplyClipAfterReprojection = 0x8000,
2943 RenderingSubSymbol = 0x10000,
2944 HighQualityImageTransforms = 0x20000,
2945 SkipSymbolRendering = 0x40000,
2946 RecordProfile = 0x80000,
2947 AlwaysUseGlobalMasks = 0x100000,
2948 DisableSymbolClippingToExtent = 0x200000,
2949 RenderLayerTree = 0x400000
2950 };
2951
2954 Q_FLAG( RenderContextFlags )
2955
2956
2961 enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2962 {
2963 RenderPartialOutputs = 1 << 0,
2964 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2965 AffectsLabeling = 1 << 2,
2966 };
2967 Q_ENUM( MapLayerRendererFlag )
2968
2969
2975 Q_FLAG( MapLayerRendererFlags )
2976
2982 enum class PaintEffectFlag : int SIP_ENUM_BASETYPE( IntFlag )
2983 {
2984 RequiresRasterization = 1 << 0,
2985 };
2986 Q_ENUM( PaintEffectFlag )
2987
2988
2994 Q_FLAG( PaintEffectFlags )
2995
2996 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
2997 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
2998
3004 {
3006 TextFormatAlwaysOutlines
3007 ),
3009 TextFormatAlwaysText
3010 ),
3011 PreferText,
3012 };
3013 Q_ENUM( TextRenderFormat )
3014
3015
3023 {
3024 UseAllLabels = 1 << 1,
3025 UsePartialCandidates = 1 << 2,
3026 // TODO QGIS 5.0: remove
3027 RenderOutlineLabels = 1 << 3,
3028 DrawLabelRectOnly = 1 << 4,
3029 DrawCandidates = 1 << 5,
3030 DrawUnplacedLabels = 1 << 6,
3031 CollectUnplacedLabels = 1 << 7,
3032 DrawLabelMetrics = 1 << 8,
3033 };
3034 Q_ENUM( LabelingFlag )
3035
3036
3044 Q_FLAG( LabelingFlags )
3045
3054 {
3055 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
3056 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
3057 };
3058 Q_ENUM( LabelPlacementEngineVersion )
3059
3060
3068 {
3069 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
3070 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
3071 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
3072 };
3073 Q_ENUM( TextOrientation )
3074
3075
3083 {
3085 Point,
3087 RectangleCapHeightBased,
3088 RectangleAscentBased,
3089 };
3090 Q_ENUM( TextLayoutMode )
3091
3092
3100 {
3101 Text = 1 << 0,
3102 Buffer = 1 << 1,
3103 Background = 1 << 2,
3104 Shadow = 1 << 3,
3105 };
3106 Q_ENUM( TextComponent )
3107
3108
3113 Q_DECLARE_FLAGS( TextComponents, TextComponent )
3114 Q_FLAG( TextComponents )
3115
3130 Q_ENUM( TextHorizontalAlignment )
3131
3132
3143 {
3145 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
3146 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
3147 };
3148 Q_ENUM( TextVerticalAlignment )
3149
3150
3159 {
3160 Normal,
3161 SuperScript,
3162 SubScript,
3163 };
3164 Q_ENUM( TextCharacterVerticalAlignment )
3165
3166
3172 {
3173 TruncateStringWhenLineIsTooShort = 1 << 0,
3174 UseBaselinePlacement = 1 << 1,
3175 UprightCharactersOnly = 1 << 2,
3176 ExtendLineToFitText = 1 << 3,
3177 };
3178 Q_ENUM( CurvedTextFlag )
3179
3180
3186
3195 {
3196 Distance = 0,
3197 SnapToGrid = 1,
3198 Visvalingam = 2,
3199 SnappedToGridGlobal = 3,
3200 };
3201 Q_ENUM( VectorSimplificationAlgorithm )
3202
3203
3211 {
3212 NoSimplification = 0,
3213 GeometrySimplification = 1,
3214 AntialiasingSimplification = 2,
3215 FullSimplification = 3,
3216 };
3217 Q_ENUM( VectorRenderingSimplificationFlag )
3218
3219
3228
3235 {
3236 Generic,
3237 ShadowOffset,
3238 BlurSize,
3239 GlowSpread,
3240 };
3241 Q_ENUM( RenderSubcomponentProperty )
3242
3243
3249 {
3250 SymbolLayer,
3251 Label,
3252 };
3253 Q_ENUM( SelectiveMaskSourceType )
3254
3255
3260 {
3261 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
3262 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
3263 ControlPoint SIP_MONKEYPATCH_COMPAT_NAME( ControlPointVertex ) = 3,
3264 };
3265 Q_ENUM( VertexType )
3266
3267
3275 {
3276 Square,
3277 Diamond,
3278 Pentagon,
3279 Hexagon,
3280 Triangle,
3281 EquilateralTriangle,
3282 Star,
3283 Arrow,
3284 Circle,
3285 Cross,
3286 CrossFill,
3287 Cross2,
3288 Line,
3289 ArrowHead,
3290 ArrowHeadFilled,
3291 SemiCircle,
3292 ThirdCircle,
3293 QuarterCircle,
3294 QuarterSquare,
3295 HalfSquare,
3296 DiagonalHalfSquare,
3297 RightHalfTriangle,
3298 LeftHalfTriangle,
3299 Octagon,
3300 SquareWithCorners,
3301 AsteriskFill,
3302 HalfArc,
3303 ThirdArc,
3304 QuarterArc,
3305 ParallelogramRight,
3306 ParallelogramLeft,
3307 Trapezoid,
3308 Shield,
3309 DiamondStar,
3310 Heart,
3311 Decagon,
3312 RoundedSquare,
3313 };
3314 Q_ENUM( MarkerShape )
3315
3316
3324 {
3325 Interval = 1 << 0,
3326 Vertex = 1 << 1,
3327 LastVertex = 1 << 2,
3328 FirstVertex = 1 << 3,
3329 CentralPoint = 1 << 4,
3330 CurvePoint = 1 << 5,
3331 SegmentCenter = 1 << 6,
3332 InnerVertices = 1 << 7,
3333 };
3334 Q_ENUM( MarkerLinePlacement )
3336 Q_FLAG( MarkerLinePlacements )
3337
3344 {
3345 IntervalCartesian2D = 1 << 0,
3346 IntervalZ = 1 << 1,
3347 IntervalM = 1 << 2,
3348 Vertex = 1 << 3,
3349 };
3350 Q_ENUM( LinearReferencingPlacement )
3351
3352
3358 {
3359 CartesianDistance2D,
3360 Z,
3361 M,
3362 };
3363 Q_ENUM( LinearReferencingLabelSource )
3364
3365
3373 {
3374 SimpleTwoColor,
3375 ColorRamp,
3376 };
3377 Q_ENUM( GradientColorSource )
3378
3379
3392 Q_ENUM( GradientType )
3393
3394
3402 {
3403 Feature,
3404 Viewport,
3405 };
3406 Q_ENUM( SymbolCoordinateReference )
3407
3408
3422 Q_ENUM( GradientSpread )
3423
3424
3432 {
3433 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
3434 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
3435 };
3436 Q_ENUM( PointCountMethod )
3437
3438
3443 enum class MarkerClipMode : int
3444 {
3445 NoClipping,
3446 Shape,
3447 CentroidWithin,
3448 CompletelyWithin,
3449 };
3450 Q_ENUM( MarkerClipMode )
3451
3452
3457 enum class LineClipMode : int
3458 {
3459 ClipPainterOnly,
3460 ClipToIntersection,
3461 NoClipping,
3462 };
3463 Q_ENUM( LineClipMode )
3464
3465
3471 {
3472 NoRule,
3473 FullDash,
3474 HalfDash,
3475 FullGap,
3476 HalfGap,
3477 };
3478 Q_ENUM( DashPatternLineEndingRule )
3479
3480
3486 {
3487 ScaleBothDashAndGap,
3488 ScaleDashOnly,
3489 ScaleGapOnly,
3490 };
3491 Q_ENUM( DashPatternSizeAdjustment )
3492
3493
3505 Q_ENUM( GraduatedMethod )
3506
3507
3513 {
3514 NoLabels,
3515 EveryLabel,
3516 FirstLabel,
3517 LastLabel,
3518 FirstAndLastLabels,
3519 };
3520 Q_ENUM( PlotAxisSuffixPlacement )
3521
3522
3523
3528 enum class PlotAxisType
3529 {
3530 Interval,
3531 Categorical,
3532 };
3533 Q_ENUM( PlotAxisType )
3534
3535
3540 enum class PieChartLabelType : int
3541 {
3542 NoLabels,
3543 Categories,
3544 Values,
3545 };
3546 Q_ENUM( PieChartLabelType )
3547
3548
3552 enum class DpiMode
3553 {
3554 All = 7,
3555 Off = 0,
3556 QGIS = 1,
3557 UMN = 2,
3558 GeoServer = 4,
3559 };
3560 Q_ENUM( DpiMode )
3561
3562
3567 {
3568 Undefined = 0,
3569 StandardDpi = 1,
3570 HighDpi = 2,
3571 };
3572 Q_ENUM( TilePixelRatio )
3573
3574 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
3575
3576
3584 {
3585 MixedCase = 0,
3586 AllUppercase = 1,
3587 AllLowercase = 2,
3588 ForceFirstLetterToCapital = 4,
3589 SmallCaps = 5,
3590 TitleCase = 1004,
3591 UpperCamelCase = 1005,
3592 AllSmallCaps = 1006,
3593 };
3594 Q_ENUM( Capitalization )
3595
3596
3601 enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
3602 {
3603 WrapLines = 1 << 0,
3604 };
3605 Q_ENUM( TextRendererFlag )
3607 Q_FLAG( TextRendererFlags )
3608
3615 {
3616 MapBox,
3617 Esri,
3618 };
3620
3627 {
3628 Clockwise,
3629 CounterClockwise,
3630 NoOrientation,
3631 };
3632 Q_ENUM( AngularDirection )
3633
3634
3639 enum class RendererUsage : int
3640 {
3641 View,
3642 Export,
3643 Unknown,
3644 };
3645 Q_ENUM( RendererUsage )
3646
3647
3652 enum class MapCanvasFlag : int SIP_ENUM_BASETYPE( IntFlag )
3653 {
3654 ShowMainAnnotationLayer = 1 << 0,
3655 };
3656 Q_ENUM( MapCanvasFlag )
3657
3658
3663 Q_DECLARE_FLAGS( MapCanvasFlags, MapCanvasFlag )
3664 Q_FLAG( MapCanvasFlags )
3665
3671 enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
3672 {
3673 Sync3DTo2D = 1 << 0,
3674 Sync2DTo3D = 1 << 1,
3675 };
3676 Q_ENUM( ViewSyncModeFlag )
3678
3685 {
3686 Always,
3687 WhenOutsideVisibleExtent,
3688 Never,
3689 };
3690 Q_ENUM( MapRecenteringMode )
3691
3692
3697 enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
3698 {
3699 LocalProfile = 1 << 0,
3700 // Project = 1 << 1, //!< QGIS Project (not yet implemented)
3701 };
3702 Q_ENUM( HistoryProviderBackend )
3704 Q_FLAG( HistoryProviderBackends )
3705
3711 enum class QueryStorageBackend : int
3712 {
3713 LocalProfile,
3714 CurrentProject,
3715 };
3716 Q_ENUM( QueryStorageBackend )
3717
3718
3726 {
3727 MapLayer SIP_MONKEYPATCH_COMPAT_NAME( TypeMapLayer ) = -2,
3728 VectorAnyGeometry SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorAnyGeometry ) = -1,
3729 VectorPoint SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPoint ) = 0,
3730 VectorLine SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorLine ) = 1,
3731 VectorPolygon SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPolygon ) = 2,
3732 Raster SIP_MONKEYPATCH_COMPAT_NAME( TypeRaster ) = 3,
3733 File SIP_MONKEYPATCH_COMPAT_NAME( TypeFile ) = 4,
3734 Vector SIP_MONKEYPATCH_COMPAT_NAME( TypeVector ) = 5,
3735 Mesh SIP_MONKEYPATCH_COMPAT_NAME( TypeMesh ) = 6,
3736 Plugin SIP_MONKEYPATCH_COMPAT_NAME( TypePlugin ) = 7,
3737 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( TypePointCloud ) = 8,
3738 Annotation SIP_MONKEYPATCH_COMPAT_NAME( TypeAnnotation ) = 9,
3739 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorTile ) = 10,
3740 TiledScene = 11
3741 };
3742 Q_ENUM( ProcessingSourceType )
3743
3744
3745
3753 {
3754 DeemphasiseSearchResults SIP_MONKEYPATCH_COMPAT_NAME( FlagDeemphasiseSearchResults )
3755 = 1 << 1,
3756 CompatibleWithVirtualRaster SIP_MONKEYPATCH_COMPAT_NAME( FlagCompatibleWithVirtualRaster ) = 1 << 2,
3757 };
3759
3768 Q_FLAG( ProcessingProviderFlags )
3769
3770
3778 {
3779 HideFromToolbox SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromToolbox ) = 1 << 1,
3780 HideFromModeler SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromModeler ) = 1 << 2,
3781 SupportsBatch SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsBatch ) = 1 << 3,
3782 CanCancel SIP_MONKEYPATCH_COMPAT_NAME( FlagCanCancel ) = 1 << 4,
3783 RequiresMatchingCrs SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresMatchingCrs ) = 1 << 5,
3784 NoThreading SIP_MONKEYPATCH_COMPAT_NAME( FlagNoThreading ) = 1 << 6,
3785 DisplayNameIsLiteral SIP_MONKEYPATCH_COMPAT_NAME( FlagDisplayNameIsLiteral ) = 1 << 7,
3786 SupportsInPlaceEdits SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsInPlaceEdits ) = 1 << 8,
3787 KnownIssues SIP_MONKEYPATCH_COMPAT_NAME( FlagKnownIssues ) = 1 << 9,
3788 CustomException SIP_MONKEYPATCH_COMPAT_NAME( FlagCustomException ) = 1 << 10,
3789 PruneModelBranchesBasedOnAlgorithmResults SIP_MONKEYPATCH_COMPAT_NAME( FlagPruneModelBranchesBasedOnAlgorithmResults ) = 1 << 11,
3790 SkipGenericModelLogging SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGenericModelLogging ) = 1 << 12,
3791 NotAvailableInStandaloneTool SIP_MONKEYPATCH_COMPAT_NAME( FlagNotAvailableInStandaloneTool ) = 1 << 13,
3792 RequiresProject SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresProject ) = 1 << 14,
3793 SecurityRisk = 1 << 15,
3794 Deprecated SIP_MONKEYPATCH_COMPAT_NAME( FlagDeprecated ) = HideFromToolbox | HideFromModeler,
3795 };
3797
3806 Q_FLAG( ProcessingAlgorithmFlags )
3807
3808
3814 {
3815 RegeneratesPrimaryKey = 1 << 0,
3816 RegeneratesPrimaryKeyInSomeScenarios = 1 << 1,
3817 RespectsEllipsoid = 1 << 2,
3818 };
3819 Q_ENUM( ProcessingAlgorithmDocumentationFlag )
3820
3821
3828
3838 {
3839 NotAvailable,
3840 Available,
3841 };
3842 Q_ENUM( ProcessingPropertyAvailability )
3843
3844
3852 {
3853 DefaultLevel = 0,
3854 Verbose,
3855 ModelDebug,
3856 };
3857 Q_ENUM( ProcessingLogLevel )
3858
3859
3867 {
3868 Standard,
3869 Batch,
3870 Modeler,
3871 };
3872 Q_ENUM( ProcessingMode )
3873
3874
3882 {
3883 OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck )
3884 = 1 << 0,
3885 CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature )
3886 = 1 << 1,
3887 };
3888 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3889
3890
3899
3908 {
3909 SkipGeometryValidityChecks SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGeometryValidityChecks ) = 1 << 1,
3910 };
3911 Q_ENUM( ProcessingFeatureSourceFlag )
3912
3913
3922
3934 {
3935 ExposeToModeler = 1
3936 };
3937 Q_ENUM( ProcessingParameterTypeFlag )
3938
3939
3951
3960 {
3961 Advanced SIP_MONKEYPATCH_COMPAT_NAME( FlagAdvanced ) = 1 << 1,
3962 Hidden SIP_MONKEYPATCH_COMPAT_NAME( FlagHidden ) = 1 << 2,
3963 Optional SIP_MONKEYPATCH_COMPAT_NAME( FlagOptional ) = 1 << 3,
3964 IsModelOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagIsModelOutput ) = 1 << 4,
3965 };
3966 Q_ENUM( ProcessingParameterFlag )
3967
3968
3976 Q_FLAG( ProcessingParameterFlags )
3977
3990 Q_ENUM( ProcessingFileParameterBehavior )
3991
3992
4004 Q_ENUM( ProcessingNumberParameterType )
4005
4006
4014 {
4015 Any = -1,
4016 Numeric = 0,
4017 String = 1,
4018 DateTime = 2,
4019 Binary = 3,
4020 Boolean = 4,
4021 };
4022 Q_ENUM( ProcessingFieldParameterDataType )
4023
4024
4037 Q_ENUM( ProcessingDateTimeParameterDataType )
4038
4039
4045 {
4046 ModelParameter,
4047 ChildOutput,
4048 StaticValue,
4049 Expression,
4050 ExpressionText,
4051 ModelOutput,
4052 };
4053 Q_ENUM( ProcessingModelChildParameterSource )
4054
4055
4061 {
4062 NotExecuted,
4064 Failed,
4065 };
4066 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
4067
4068
4076 {
4077 Vertices,
4078 StructureLines,
4079 BreakLines
4080 };
4081 Q_ENUM( ProcessingTinInputLayerType )
4082
4083
4093 Q_ENUM( CrsDefinitionFormat )
4094
4095
4103 enum class FieldDomainSplitPolicy : int
4104 {
4105 DefaultValue,
4106 Duplicate,
4107 GeometryRatio,
4108 UnsetField,
4109 };
4110 Q_ENUM( FieldDomainSplitPolicy )
4111
4112
4120 enum class FieldDomainMergePolicy : int
4121 {
4122 DefaultValue,
4123 Sum,
4124 GeometryWeighted,
4125 UnsetField,
4126 LargestGeometry,
4127 MinimumValue,
4128 MaximumValue,
4129 SetToNull,
4130 };
4131 Q_ENUM( FieldDomainMergePolicy )
4132
4133
4140 enum class FieldDuplicatePolicy : int
4141 {
4142 DefaultValue,
4143 Duplicate,
4144 UnsetField,
4145 };
4146 Q_ENUM( FieldDuplicatePolicy )
4147
4148
4153 enum class FieldDomainType : int
4154 {
4155 Coded,
4156 Range,
4157 Glob,
4158 };
4159 Q_ENUM( FieldDomainType )
4160
4161
4166 enum class TransactionMode : int
4167 {
4168 Disabled = 0,
4169 AutomaticGroups = 1,
4170 BufferedGroups = 2,
4171 };
4172 Q_ENUM( TransactionMode )
4173
4174
4179 enum class AltitudeClamping : int
4180 {
4181 Absolute,
4182 Relative,
4183 Terrain,
4184 };
4185 Q_ENUM( AltitudeClamping )
4186
4187
4192 enum class AltitudeBinding : int
4193 {
4194 Vertex,
4195 Centroid,
4196 };
4197 Q_ENUM( AltitudeBinding )
4198
4199
4204 enum class RangeLimits : int
4205 {
4206 IncludeBoth = 0,
4207 IncludeLowerExcludeUpper,
4208 ExcludeLowerIncludeUpper,
4209 ExcludeBoth,
4210 };
4211 Q_ENUM( RangeLimits )
4212
4213
4218 enum class RasterElevationMode : int
4219 {
4220 FixedElevationRange = 0,
4221 RepresentsElevationSurface = 1,
4222 FixedRangePerBand = 2,
4223 DynamicRangePerBand = 3,
4224 };
4225 Q_ENUM( RasterElevationMode )
4226
4227
4232 enum class MeshElevationMode : int
4233 {
4234 FixedElevationRange = 0,
4235 FromVertices = 1,
4236 FixedRangePerGroup = 2,
4237 };
4238 Q_ENUM( MeshElevationMode )
4239
4240
4246 {
4247 NoConstraint,
4248 Perpendicular,
4249 Parallel
4250 };
4251 Q_ENUM( BetweenLineConstraint )
4252
4253
4258 enum class LineExtensionSide : int
4259 {
4260 BeforeVertex,
4261 AfterVertex,
4262 NoVertex,
4263 };
4264 Q_ENUM( LineExtensionSide )
4265
4266
4267
4271 enum class CadConstraintType : int
4272 {
4273 Generic,
4274 Angle,
4275 Distance,
4276 XCoordinate,
4277 YCoordinate,
4278 ZValue,
4279 MValue,
4280 };
4281 Q_ENUM( CadConstraintType )
4282
4283
4288 {
4289 Hidden,
4290 Cartesian,
4291 Ellipsoidal,
4292 };
4293 Q_ENUM( CadMeasurementDisplayType )
4294
4295
4300 enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
4301 {
4302 EvaluateDefaultValuesOnProviderSide = 1 << 0,
4303 TrustStoredLayerStatistics
4304 = 1 << 1,
4305 RememberLayerEditStatusBetweenSessions = 1 << 2,
4306 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
4307 };
4308 Q_ENUM( ProjectFlag )
4309 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
4310 Q_FLAG( ProjectFlags )
4311
4317 enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
4318 {
4319 ShowContextMenu = 1 << 0,
4320 };
4321 Q_ENUM( PlotToolFlag )
4322 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
4323 Q_FLAG( PlotToolFlags )
4324
4332 enum class Map3DDebugFlag : int SIP_ENUM_BASETYPE( IntFlag )
4333 {
4334 ShowTerrainBoundingBoxes = 1 << 0,
4335 ShowTerrainTileInfo = 1 << 1,
4336 ShowCameraViewCenter = 1 << 2,
4337 ShowCameraRotationCenter = 1 << 3,
4338 ShowLightSourceOrigins = 1 << 4,
4339 ShowFPS = 1 << 5,
4340 ShowDebugPanel = 1 << 6,
4341 };
4342 Q_ENUM( Map3DDebugFlag )
4344 Q_FLAG( Map3DDebugFlags )
4345
4351 enum class Map3DProjectionType : int
4352 {
4353 Orthographic = 0,
4354 Perspective = 1,
4355 };
4356 Q_ENUM( Map3DProjectionType )
4357
4358
4365 enum class Point3DShape : int
4366 {
4367 Cylinder,
4368 Sphere,
4369 Cone,
4370 Cube,
4371 Torus,
4372 Plane,
4373 ExtrudedText,
4374 Model,
4375 Billboard,
4376 };
4377 Q_ENUM( Point3DShape )
4378
4379
4388 {
4389 Triangles,
4390 Lines,
4391 InstancedPoints,
4392 Points,
4393 TrianglesWithFixedTexture,
4394 TrianglesFromModel,
4395 TrianglesDataDefined,
4396 Billboards,
4397 };
4398 Q_ENUM( MaterialRenderingTechnique )
4399
4400
4405 enum class InstancedMaterialFlag : int SIP_ENUM_BASETYPE( IntFlag )
4406 {
4407 DataDefinedScale = 1 << 0,
4408 DataDefinedRotation = 1 << 1,
4409 };
4410 Q_ENUM( InstancedMaterialFlag )
4412 Q_FLAG( InstancedMaterialFlags )
4413
4419 enum class TextureFilterQuality : int
4420 {
4421 Trilinear,
4422 Anisotropic2x,
4423 Anisotropic4x,
4424 Anisotropic8x,
4425 Anisotropic16x,
4426 };
4427 Q_ENUM( TextureFilterQuality )
4428
4429
4434 enum class ShadowQuality : int
4435 {
4436 Low,
4437 Medium,
4438 High,
4439 VeryHigh,
4440 Extreme,
4441 };
4442 Q_ENUM( ShadowQuality )
4443
4444
4449 enum class LightSourceType : int
4450 {
4451 Point,
4452 Directional,
4453 Sun,
4454 };
4455 Q_ENUM( LightSourceType )
4456
4457
4461 enum class Map3DBackgroundType : int
4462 {
4463 NoBackground,
4464 FixedGradientBackground,
4465 DistinctTextureSkybox,
4466 };
4467 Q_ENUM( Map3DBackgroundType )
4468
4469
4474 enum class SkyboxCubeMapping : int
4475 {
4476 NativeZUp,
4477 OpenGLYUp,
4478 GodotYUp,
4479 UnrealEngineZUp,
4480 LeftHandedYUpMirrored,
4481 };
4482 Q_ENUM( SkyboxCubeMapping )
4483
4484
4489 enum class NavigationMode : int
4490 {
4491 TerrainBased,
4492 Walk,
4493 GlobeTerrainBased
4494 };
4495 Q_ENUM( NavigationMode )
4496
4497
4502 enum class SceneMode : int
4503 {
4504 Local,
4505 Globe
4506 };
4507 Q_ENUM( SceneMode )
4508
4509
4514 enum class VerticalAxisInversion : int SIP_ENUM_BASETYPE( IntFlag )
4515 {
4516 WhenRotatingDragging = 1 << 0,
4517 WhenRotatingCaptured = 1 << 1,
4518 WhenPivoting = 1 << 2,
4519
4520 // Legacy aliases for old flying-only enum:
4521
4522 Never = WhenRotatingDragging | WhenRotatingCaptured | WhenPivoting,
4523 WhenDragging = WhenRotatingCaptured | WhenPivoting,
4524 Always = WhenPivoting,
4525 };
4526 Q_ENUM( VerticalAxisInversion )
4529
4536 enum class ToneMappingMethod : int
4537 {
4538 Clamp,
4539 Aces,
4540 };
4541 Q_ENUM( ToneMappingMethod )
4542
4543
4548 enum class Export3DSceneFormat : int
4549 {
4550 Obj,
4551 StlAscii
4552 };
4553 Q_ENUM( Export3DSceneFormat )
4554
4555
4561 {
4562 Line,
4563 FillBelow,
4564 FillAbove,
4565 };
4567
4573 enum class VectorProfileType : int
4574 {
4575 IndividualFeatures,
4576 ContinuousSurface,
4577 };
4579
4585 enum class PointCloudProfileType : int
4586 {
4587 IndividualPoints,
4588 TriangulatedSurface,
4589 };
4591
4597 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
4598 {
4599 RespectsMaximumErrorMapUnit = 1 << 0,
4600 RespectsDistanceRange = 1 << 1,
4601 RespectsElevationRange = 1 << 2,
4602 };
4603 Q_ENUM( ProfileGeneratorFlag )
4605 Q_FLAG( ProfileGeneratorFlags )
4606
4612 enum class ProfileExportType : int
4613 {
4614 Features3D,
4615 Profile2D,
4616 DistanceVsElevationTable,
4617 };
4619
4626 {
4627 Square,
4628 Circle,
4629 };
4630 Q_ENUM( PointCloudSymbol )
4631
4632
4638 {
4639 Default,
4640 BottomToTop,
4641 TopToBottom,
4642 };
4643 Q_ENUM( PointCloudDrawOrder )
4644
4645
4653 {
4654 AllowIntersections,
4655 AvoidIntersectionsCurrentLayer,
4656 AvoidIntersectionsLayers,
4657 };
4658 Q_ENUM( AvoidIntersectionsMode )
4659
4660
4668 {
4669 Qgz,
4670 Qgs,
4671 };
4672 Q_ENUM( ProjectFileFormat )
4673
4674
4682 {
4683 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers )
4684 = 1 << 0,
4685 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts )
4686 = 1 << 1,
4687 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata )
4688 = 1 << 2,
4689 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
4690 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
4691 DontLoadProjectStyles = 1 << 5,
4692 ForceReadOnlyLayers = 1 << 6,
4693 DontUpgradeAnnotations = 1 << 7,
4694 };
4695 Q_ENUM( ProjectReadFlag )
4696
4697
4705 Q_FLAG( ProjectReadFlags )
4706
4715 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
4716 {
4717 ProjectStyles = 1 << 0,
4718 };
4719 Q_ENUM( ProjectCapability )
4720
4721
4727 Q_FLAG( ProjectCapabilities )
4728
4735 {
4736 Vector,
4737 Raster,
4738 RasterDem,
4739 GeoJson,
4740 Image,
4741 Video,
4742 Unknown,
4743 };
4744 Q_ENUM( MapBoxGlStyleSourceType )
4745
4746
4754 {
4755 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
4756 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
4757 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
4758 GlobeServer,
4759 GPServer,
4760 GeocodeServer,
4761 Unknown,
4762 SceneServer,
4763 };
4764 Q_ENUM( ArcGisRestServiceType )
4765
4766
4775 {
4776 Map = 1 << 0,
4777 Query = 1 << 1,
4778 Update = 1 << 2,
4779 Delete = 1 << 3,
4780 Create = 1 << 4,
4781 Image = 1 << 5,
4782 TilesOnly = 1 << 6,
4783 };
4784 Q_ENUM( ArcGisRestServiceCapability )
4785
4786
4793
4802 {
4803 Normal,
4804 Generated,
4805 };
4806 Q_ENUM( RelationshipType )
4807
4808
4816 {
4817 Association,
4818 Composition,
4819 };
4820 Q_ENUM( RelationshipStrength )
4821
4822
4828 {
4829 OneToOne,
4830 OneToMany,
4831 ManyToOne,
4832 ManyToMany,
4833 };
4834 Q_ENUM( RelationshipCardinality )
4835
4836
4841 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
4842 {
4843 MultipleFieldKeys = 1 << 0,
4844 ForwardPathLabel = 1 << 1,
4845 BackwardPathLabel = 1 << 2,
4846 };
4847 Q_ENUM( RelationshipCapability )
4848
4849
4855 Q_FLAG( RelationshipCapabilities )
4856
4862 enum class CoordinateDisplayType : int
4863 {
4864 MapCrs,
4865 MapGeographic,
4866 CustomCrs,
4867 };
4868 Q_ENUM( CoordinateDisplayType )
4869
4870
4875 enum class SettingsOrigin : int
4876 {
4877 Any,
4878 Global,
4879 Local,
4880 };
4881 Q_ENUM( SettingsOrigin )
4882
4883
4888 enum class ScriptLanguage : int
4889 {
4890 Css,
4891 QgisExpression,
4892 Html,
4893 JavaScript,
4894 Json,
4895 Python,
4896 R,
4897 Sql,
4898 Batch,
4899 Bash,
4900 Unknown,
4901 };
4902 Q_ENUM( ScriptLanguage )
4903
4904
4912 {
4913 Reformat = 1 << 0,
4914 CheckSyntax = 1 << 1,
4915 ToggleComment = 1 << 2,
4916 };
4917 Q_ENUM( ScriptLanguageCapability )
4918
4919
4926
4933 {
4934 AboveInsertionPoint,
4935 TopOfTree,
4936 OptimalInInsertionGroup,
4937 };
4938 Q_ENUM( LayerTreeInsertionMethod )
4939
4940
4946 {
4947 LayerProperties = 0,
4948 AttributeTable = 1,
4949 LayerStyling = 2,
4950 };
4951 Q_ENUM( LegendLayerDoubleClickAction )
4952
4953
4958 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
4959 {
4960 SkipVisibilityCheck = 1 << 0,
4961 };
4962 Q_ENUM( LayerTreeFilterFlag )
4963
4964
4970 Q_FLAG( LayerTreeFilterFlags )
4971
4977 enum class MapLayerLegendFlag : int SIP_ENUM_BASETYPE( IntFlag )
4978 {
4979 ExcludeByDefault = 1 << 0,
4980 };
4981 Q_ENUM( MapLayerLegendFlag )
4982
4983
4989 Q_FLAG( MapLayerLegendFlags )
4990
4999 {
5000 Undefined,
5001 Hidden,
5002 Title,
5003 Group,
5004 Subgroup,
5005 Symbol,
5006 SymbolLabel,
5007 };
5008 // !!! WARNING: If adding new values to this enum, make sure you update QgsLegendSettings constructor accordingly!!
5009 Q_ENUM( LegendComponent )
5010
5011
5016 enum class LegendSyncMode : int
5017 {
5018 AllProjectLayers,
5019 VisibleLayers,
5020 Manual,
5021 };
5022 Q_ENUM( LegendSyncMode )
5023
5024
5031 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
5032 {
5033 ShowRuleDetails = 1 << 0,
5034 };
5035 Q_ENUM( LegendJsonRenderFlag )
5037 Q_FLAG( LegendJsonRenderFlags )
5038
5044 enum class GeoJsonProfile : int
5045 {
5046 Legacy,
5047 Rfc7946,
5048 JsonFg,
5049 JsonFgPlus,
5050 };
5051 Q_ENUM( GeoJsonProfile )
5052
5053
5060 enum class ActionType : int
5061 {
5062 Invalid,
5063 MapLayerAction,
5064 AttributeAction
5065 };
5066 Q_ENUM( ActionType )
5067
5068
5075 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
5076 {
5077 Layer = 1 << 0,
5078 SingleFeature = 1 << 1,
5079 MultipleFeatures = 1 << 2,
5080 AllActions = Layer | SingleFeature | MultipleFeatures
5081 };
5082 Q_ENUM( MapLayerActionTarget )
5083
5084
5092 Q_FLAG( MapLayerActionTargets )
5093
5101 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
5102 {
5103 EnabledOnlyWhenEditable = 1 << 1,
5104 EnableOnlyWhenHasGeometry = 1 << 2,
5105 };
5106 Q_ENUM( MapLayerActionFlag )
5107
5108
5116 Q_FLAG( MapLayerActionFlags )
5117
5126 {
5127 Generic,
5128 GenericPython,
5129 Mac,
5130 Windows,
5131 Unix,
5132 OpenUrl,
5133 SubmitUrlEncoded,
5134 SubmitUrlMultipart,
5135 };
5136 Q_ENUM( AttributeActionType )
5137
5138
5144 {
5145 Created,
5146 Published,
5147 Revised,
5148 Superseded,
5149 };
5150 Q_ENUM( MetadataDateType )
5151
5152
5161
5163 {
5164 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
5165 GrayIndex = 1,
5166 PaletteIndex = 2,
5167 RedBand = 3,
5168 GreenBand = 4,
5169 BlueBand = 5,
5170 AlphaBand = 6,
5171 HueBand = 7,
5172 SaturationBand = 8,
5173 LightnessBand = 9,
5174 CyanBand = 10,
5175 MagentaBand = 11,
5176 YellowBand = 12,
5177 BlackBand = 13,
5178 YCbCr_YBand = 14,
5179 YCbCr_CbBand = 15,
5180 YCbCr_CrBand = 16,
5181 ContinuousPalette = 17,
5182
5183 // Note: values between PanBand and SAR_P_Band match additions done in
5184 // GDAL 3.10, except that the numeric values of the constant don't match GDAL ones
5185
5186 PanBand = 18,
5187 CoastalBand = 19,
5188 RedEdgeBand = 20,
5189 NIRBand = 21,
5190 SWIRBand = 22,
5191 MWIRBand = 23,
5192 LWIRBand = 24,
5193 TIRBand = 25,
5194 OtherIRBand = 26,
5195 SAR_Ka_Band = 27,
5196 SAR_K_Band = 28,
5197 SAR_Ku_Band = 30,
5198 SAR_X_Band = 31,
5199 SAR_C_Band = 32,
5200 SAR_S_Band = 33,
5201 SAR_L_Band = 34,
5202 SAR_P_Band = 35,
5203 };
5204 Q_ENUM( RasterColorInterpretation )
5205
5206
5214 {
5215 GrayOrUndefined,
5216 Palette,
5217 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
5218 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
5219 };
5220 Q_ENUM( RasterLayerType )
5221
5222
5230 {
5231 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
5232 SingleBandGray,
5233 SingleBandPseudoColor,
5234 PalettedColor,
5235 PalettedSingleBandGray,
5236 PalettedSingleBandPseudoColor,
5237 PalettedMultiBandColor,
5238 MultiBandSingleBandGray,
5239 MultiBandSingleBandPseudoColor,
5240 MultiBandColor,
5241 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
5242 };
5243 Q_ENUM( RasterDrawingStyle )
5244
5245
5252 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
5253 {
5254 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
5255 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
5256 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
5257 };
5258 Q_ENUM( RasterPyramidFormat )
5259
5260
5268 {
5269 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
5270 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
5271 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
5272 };
5273 Q_ENUM( RasterBuildPyramidOption )
5274
5275
5283 {
5284 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
5285 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
5286 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
5287 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
5288 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
5289 };
5290 Q_ENUM( RasterIdentifyFormat )
5291
5292 // TODO QGIS 5 -- remove NoCapabilities and rely on RasterInterfaceCapabilities() instead
5293 // remove deprecated members
5294 // Remove "Identify" member, and replace with combinations of IdentifyValue/IdentifyText/etc
5295
5296
5304 {
5305 NoCapabilities = 0,
5306 Size = 1 << 1,
5307 Create = 1 << 2,
5308 Remove = 1 << 3,
5309 BuildPyramids = 1 << 4,
5310 Identify = 1 << 5,
5311 IdentifyValue = 1 << 6,
5312 IdentifyText = 1 << 7,
5313 IdentifyHtml = 1 << 8,
5314 IdentifyFeature = 1 << 9,
5315 Prefetch = 1 << 10,
5316 };
5317 Q_ENUM( RasterInterfaceCapability )
5318
5319
5326
5327 // TODO QGIS 5 -- remove NoProviderCapabilities and rely on RasterProviderCapabilities() instead
5328
5337 {
5338 NoProviderCapabilities = 0,
5339 ReadLayerMetadata = 1 << 1,
5340 WriteLayerMetadata = 1 << 2,
5341 ProviderHintBenefitsFromResampling = 1 << 3,
5342 ProviderHintCanPerformProviderResampling = 1 << 4,
5343 ReloadData = 1 << 5,
5344 DpiDependentData = 1 << 6,
5345 NativeRasterAttributeTable = 1 << 7,
5346 BuildPyramids = 1 << 8,
5347 };
5348 Q_ENUM( RasterProviderCapability )
5349
5350
5359
5366 {
5367 HighestElevation,
5368 NewerElevation,
5369 };
5370 Q_ENUM( ElevationMapCombineMethod )
5371
5372
5381 {
5382 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
5383 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
5384 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
5385 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
5386 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
5387 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
5388 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
5390 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
5391 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
5392 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
5393 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
5394 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
5395 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
5396 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
5397 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
5398 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
5399 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
5400 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
5401 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
5402 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
5403 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
5404 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
5406 };
5407 Q_ENUM( BlendMode )
5408
5409
5417 {
5418 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
5419 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
5420 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
5421 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
5422 };
5423 Q_ENUM( SystemOfMeasurement )
5424
5425
5432 {
5433 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
5434 Pixels,
5435 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
5436 };
5437 Q_ENUM( MapToolUnit )
5438
5439
5447 {
5448 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
5450 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
5451 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
5452 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
5453 };
5454 Q_ENUM( UnitType )
5455
5456
5464 {
5465 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
5466 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
5467 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
5468 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
5469 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
5470 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
5471 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
5472 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
5473 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
5474 Inches,
5475 ChainsInternational,
5476 ChainsBritishBenoit1895A,
5477 ChainsBritishBenoit1895B,
5478 ChainsBritishSears1922Truncated,
5479 ChainsBritishSears1922,
5480 ChainsClarkes,
5481 ChainsUSSurvey,
5482 FeetBritish1865,
5483 FeetBritish1936,
5484 FeetBritishBenoit1895A,
5485 FeetBritishBenoit1895B,
5486 FeetBritishSears1922Truncated,
5487 FeetBritishSears1922,
5488 FeetClarkes,
5489 FeetGoldCoast,
5490 FeetIndian,
5491 FeetIndian1937,
5492 FeetIndian1962,
5493 FeetIndian1975,
5494 FeetUSSurvey,
5495 LinksInternational,
5496 LinksBritishBenoit1895A,
5497 LinksBritishBenoit1895B,
5498 LinksBritishSears1922Truncated,
5499 LinksBritishSears1922,
5500 LinksClarkes,
5501 LinksUSSurvey,
5502 YardsBritishBenoit1895A,
5503 YardsBritishBenoit1895B,
5504 YardsBritishSears1922Truncated,
5505 YardsBritishSears1922,
5506 YardsClarkes,
5507 YardsIndian,
5508 YardsIndian1937,
5509 YardsIndian1962,
5510 YardsIndian1975,
5511 MilesUSSurvey,
5512 Fathoms,
5513 MetersGermanLegal,
5514 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
5515 };
5516 Q_ENUM( DistanceUnit )
5517
5518
5526 {
5527 Standard,
5528 Geographic,
5529 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
5530 };
5531 Q_ENUM( DistanceUnitType )
5532
5533
5541 {
5542 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
5543 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
5544 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
5545 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
5546 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
5547 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
5548 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
5549 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
5550 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
5551 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
5552 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
5553 SquareInches,
5554 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
5555 };
5556 Q_ENUM( AreaUnit )
5557
5558
5566 {
5567 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
5568 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
5569 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
5570 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
5571 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
5572 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
5573 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
5574 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
5575 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
5576 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
5577 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
5578 };
5579 Q_ENUM( VolumeUnit )
5580
5581
5589 {
5590 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
5591 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
5593 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
5594 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
5596 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
5597 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
5598 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
5599 };
5600 Q_ENUM( AngleUnit )
5601
5602
5610 {
5611 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
5612 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
5613 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
5614 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
5615 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
5616 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
5617 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
5618 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
5619 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
5620 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
5621 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
5622 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
5623 };
5624 Q_ENUM( TemporalUnit )
5625
5626
5634 {
5635 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
5636 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
5637 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
5638 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
5639 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
5640 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
5641 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
5642 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
5643 };
5644 Q_ENUM( RenderUnit )
5645
5646
5654 {
5655 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
5656 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
5657 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
5658 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
5659 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
5660 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
5661 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
5662 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
5663 };
5664 Q_ENUM( LayoutUnit )
5665
5666
5674 {
5675 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
5676 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
5677 };
5678 Q_ENUM( LayoutUnitType )
5679
5680
5688 {
5689 Debug SIP_MONKEYPATCH_COMPAT_NAME( FlagDebug ) = 1 << 1,
5690 OutlineOnly SIP_MONKEYPATCH_COMPAT_NAME( FlagOutlineOnly ) = 1 << 2,
5691 Antialiasing SIP_MONKEYPATCH_COMPAT_NAME( FlagAntialiasing ) = 1 << 3,
5692 UseAdvancedEffects SIP_MONKEYPATCH_COMPAT_NAME( FlagUseAdvancedEffects ) = 1 << 4,
5693 ForceVectorOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagForceVectorOutput )
5694 = 1 << 5,
5695 HideCoverageLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagHideCoverageLayer ) = 1 << 6,
5696 DrawSelection SIP_MONKEYPATCH_COMPAT_NAME( FlagDrawSelection ) = 1 << 7,
5697 DisableTiledRasterLayerRenders SIP_MONKEYPATCH_COMPAT_NAME( FlagDisableTiledRasterLayerRenders )
5698 = 1 << 8,
5699 RenderLabelsByMapLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagRenderLabelsByMapLayer )
5700 = 1 << 9,
5701 LosslessImageRendering SIP_MONKEYPATCH_COMPAT_NAME( FlagLosslessImageRendering )
5702 = 1 << 10,
5703 SynchronousLegendGraphics SIP_MONKEYPATCH_COMPAT_NAME( FlagSynchronousLegendGraphics ) = 1 << 11,
5704 AlwaysUseGlobalMasks SIP_MONKEYPATCH_COMPAT_NAME( FlagAlwaysUseGlobalMasks )
5705 = 1 << 12,
5706 LimitCoverageLayerRenderToCurrentFeature = 1 << 13,
5707 };
5708 Q_ENUM( LayoutRenderFlag )
5709
5710
5718 Q_FLAG( LayoutRenderFlags )
5719
5728 {
5729 SVG SIP_MONKEYPATCH_COMPAT_NAME( FormatSVG ) = 0,
5730 Raster SIP_MONKEYPATCH_COMPAT_NAME( FormatRaster ),
5731 Unknown SIP_MONKEYPATCH_COMPAT_NAME( FormatUnknown ),
5732 };
5733 Q_ENUM( PictureFormat )
5734
5735
5740 enum class ScaleCalculationMethod : int
5741 {
5742 HorizontalTop = 0,
5743 HorizontalMiddle,
5744 HorizontalBottom,
5745 HorizontalAverage,
5746 AtEquator,
5747 };
5748 Q_ENUM( ScaleCalculationMethod )
5749
5750
5763 Q_ENUM( ScaleBarAlignment )
5764
5765
5773 {
5774 Fixed SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFixed ) = 0,
5775 FitWidth SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFitWidth ) = 1
5776 };
5777 Q_ENUM( ScaleBarSegmentSizeMode )
5778
5779
5787 {
5788 AboveSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelAboveSegment ) = 0,
5789 BelowSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelBelowSegment ),
5790 };
5791 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
5792
5793
5801 {
5802 CenteredEdge SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredEdge ) = 0,
5803 CenteredSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredSegment ),
5804 };
5805 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
5806
5807
5808
5816 {
5817 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( MapUnit ),
5820 DynamicPageSizeBased,
5821 };
5822 Q_ENUM( MapGridUnit )
5823
5824
5832 {
5833 Lines SIP_MONKEYPATCH_COMPAT_NAME( Solid ) = 0,
5834 LineCrosses SIP_MONKEYPATCH_COMPAT_NAME( Cross ),
5835 Markers,
5836 FrameAndAnnotationsOnly SIP_MONKEYPATCH_COMPAT_NAME( FrameAnnotationsOnly )
5837 };
5838 Q_ENUM( MapGridStyle )
5839
5840
5848 {
5849 ShowAll = 0,
5850 LatitudeOnly,
5851 LongitudeOnly,
5852 HideAll
5853 };
5854 Q_ENUM( MapGridComponentVisibility )
5855
5856
5864 {
5865 InsideMapFrame = 0,
5866 OutsideMapFrame,
5867 };
5868 Q_ENUM( MapGridAnnotationPosition )
5869
5870
5878 {
5879 Horizontal = 0,
5880 Vertical,
5881 VerticalDescending,
5882 BoundaryDirection,
5883 AboveTick,
5884 OnTick,
5885 UnderTick,
5886 };
5887 Q_ENUM( MapGridAnnotationDirection )
5888
5889
5897 {
5898 Decimal = 0,
5899 DegreeMinute,
5900 DegreeMinuteSecond,
5901 DecimalWithSuffix,
5902 DegreeMinuteNoSuffix,
5903 DegreeMinutePadded,
5904 DegreeMinuteSecondNoSuffix,
5905 DegreeMinuteSecondPadded,
5906 CustomFormat
5907 };
5908 Q_ENUM( MapGridAnnotationFormat )
5909
5910
5924 Q_ENUM( MapGridBorderSide )
5925
5926
5934 {
5935 NoFrame = 0,
5936 Zebra,
5937 InteriorTicks,
5938 ExteriorTicks,
5939 InteriorExteriorTicks,
5940 LineBorder,
5941 LineBorderNautical,
5942 ZebraNautical,
5943 };
5944 Q_ENUM( MapGridFrameStyle )
5945
5946
5954 {
5955 OrthogonalTicks = 0,
5956 NormalizedTicks,
5957 };
5958 Q_ENUM( MapGridTickLengthMode )
5959
5960
5961
5969 {
5970 Left SIP_MONKEYPATCH_COMPAT_NAME( FrameLeft ) = 0x01,
5971 Right SIP_MONKEYPATCH_COMPAT_NAME( FrameRight ) = 0x02,
5972 Top SIP_MONKEYPATCH_COMPAT_NAME( FrameTop ) = 0x04,
5973 Bottom SIP_MONKEYPATCH_COMPAT_NAME( FrameBottom ) = 0x08
5974 };
5975 Q_ENUM( MapGridFrameSideFlag )
5976
5977
5985 Q_FLAG( MapGridFrameSideFlags )
5986
5995 {
5996 Longitude = 0,
5997 Latitude
5998 };
5999 Q_ENUM( MapGridAnnotationType )
6000
6001
6006 enum class InputControllerType : int
6007 {
6008 Map2D,
6009 Map3D
6010 };
6012
6019 {
6020 NotSet,
6021 Unknown,
6022 OrdinaryTable,
6023 Index,
6024 Sequence,
6025 View,
6026 MaterializedView,
6027 CompositeType,
6028 ToastTable,
6029 ForeignTable,
6030 PartitionedTable,
6031 };
6032 Q_ENUM( PostgresRelKind )
6033
6034
6040 {
6041 SetFieldComment = 1 << 0,
6042 SetFieldAlias = 1 << 1,
6043 SetTableComment = 1 << 2,
6044 EditFieldDomain = 1 << 3,
6045 DeleteFieldDomain = 1 << 4,
6046 };
6047 Q_ENUM( DatabaseProviderConnectionCapability2 )
6050
6057 {
6058 SetGeometryColumnName = 1 << 0,
6059 SetPrimaryKeyName = 1 << 1,
6060 };
6061 Q_ENUM( DatabaseProviderTableImportCapability )
6064
6071 {
6072 SaveToDatabase = 1 << 1,
6073 LoadFromDatabase = 1 << 2,
6074 DeleteFromDatabase = 1 << 3
6075 };
6079
6080
6086 {
6087 LastProfile,
6088 DefaultProfile,
6089 AskUser,
6090 };
6091 Q_ENUM( UserProfileSelectionPolicy )
6092
6093
6101 {
6102 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
6103 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
6104 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
6105 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
6106 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
6107 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
6108 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
6109 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
6110 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
6111 };
6112 Q_ENUM( AttributeEditorType )
6113
6114
6120 {
6121 GroupBox,
6122 Tab,
6123 Row,
6124 };
6125 Q_ENUM( AttributeEditorContainerType )
6126
6127
6135 {
6136 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
6137 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
6138 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
6139 };
6140 Q_ENUM( AttributeFormLayout )
6141
6142
6150 {
6151 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
6152 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
6153 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
6154 };
6155 Q_ENUM( AttributeFormSuppression )
6156
6157
6165 {
6166 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
6167 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
6168 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
6169 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
6170 };
6171 Q_ENUM( AttributeFormPythonInitCodeSource )
6172
6173
6179 {
6180 NotAllowed = 0,
6181 AllowedDefaultOn = 1,
6182 AllowedDefaultOff = 2,
6183 };
6184 Q_ENUM( AttributeFormReuseLastValuePolicy )
6185
6186
6192 {
6194 PointCloud,
6195 RasterCalculator,
6196 };
6197 Q_ENUM( ExpressionType )
6198
6199
6207 {
6208 NoSymbology = 0,
6209 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
6210 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
6211 };
6212 Q_ENUM( FeatureSymbologyExport )
6213
6214
6219 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
6220 {
6221 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
6222 };
6223 Q_ENUM( VectorTileProviderFlag )
6224
6225
6231 Q_FLAG( VectorTileProviderFlags )
6232
6238 {
6239 ReadLayerMetadata = 1 << 1,
6240 };
6241 Q_ENUM( VectorTileProviderCapability )
6242
6243
6250
6257 {
6258 Available,
6259 NotAvailable,
6260 AvailableNoChildren,
6261 UseLowerZoomLevelTile,
6262 };
6263 Q_ENUM( TileAvailability )
6264
6265
6271 {
6272 ReadLayerMetadata = 1 << 1,
6273 };
6274 Q_ENUM( TiledSceneProviderCapability )
6275
6276
6283
6290 {
6291 Region,
6292 OrientedBox,
6293 Sphere,
6294 };
6295 Q_ENUM( TiledSceneBoundingVolumeType )
6296
6297
6306 {
6307 Replacement,
6308 Additive,
6309 };
6310 Q_ENUM( TileRefinementProcess )
6311
6312
6318 {
6319 NoChildren,
6320 Available,
6321 NeedFetching,
6322 };
6323 Q_ENUM( TileChildrenAvailability )
6324
6325
6330 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
6331 {
6332 NoHierarchyFetch = 1 << 0,
6333 };
6334 Q_ENUM( TiledSceneRequestFlag )
6335
6336
6342 Q_FLAG( TiledSceneRequestFlags )
6343
6349 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
6350 {
6351 RequiresTextures = 1 << 0,
6352 ForceRasterRender = 1 << 1,
6353 RendersTriangles = 1 << 2,
6354 RendersLines = 1 << 3,
6355 };
6356 Q_ENUM( TiledSceneRendererFlag )
6357
6358
6364 Q_FLAG( TiledSceneRendererFlags )
6365
6371 enum class GdalResampleAlgorithm : int
6372 {
6373 RA_NearestNeighbour = 0,
6374 RA_Bilinear = 1,
6375 RA_Cubic = 2,
6376 RA_CubicSpline = 3,
6377 RA_Lanczos = 4,
6378 RA_Average = 5,
6379 RA_Mode = 6,
6380 RA_Max = 8,
6381 RA_Min = 9,
6382 RA_Median = 10,
6383 RA_Q1 = 11,
6384 RA_Q3 = 12,
6385 };
6386 Q_ENUM( GdalResampleAlgorithm )
6387
6388
6393 enum class VsiHandlerType : int
6394 {
6395 Invalid,
6396 Archive,
6397 Network,
6398 Cloud,
6399 Memory,
6400 Other,
6401 };
6402 Q_ENUM( VsiHandlerType )
6403
6404 // TODO QGIS 5: make All include all values (we can't do this before 4.0, as we need to keep
6405 // compatibility with code which expects all these statistics to give numeric results)
6406
6407
6412 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
6413 {
6414 Count = 1 << 0,
6415 Sum = 1 << 1,
6416 Mean = 1 << 2,
6417 Median = 1 << 3,
6418 StDev = 1 << 4,
6419 Min = 1 << 5,
6420 Max = 1 << 6,
6421 Range = 1 << 7,
6422 Minority = 1 << 8,
6423 Majority = 1 << 9,
6424 Variety = 1 << 10,
6425 Variance = 1 << 11,
6426 MinimumPoint = 1 << 12,
6427 MaximumPoint = 1 << 13,
6428 // clang-format off
6429 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6430 // clang-format on
6431 AllNumeric = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6432 Default = Count | Sum | Mean,
6433 };
6434 Q_ENUM( ZonalStatistic )
6435
6436
6442 Q_FLAG( ZonalStatistics )
6443
6449 enum class ZonalStatisticResult : int
6450 {
6452 LayerTypeWrong = 1,
6453 LayerInvalid,
6454 RasterInvalid,
6455 RasterBandInvalid,
6456 FailedToCreateField = 8,
6457 Canceled = 9
6458 };
6459 Q_ENUM( ZonalStatisticResult )
6460
6461
6468 {
6469 Count,
6470 CountDistinct,
6471 CountMissing,
6472 Min,
6473 Max,
6474 Sum,
6475 Mean,
6476 Median,
6477 StDev,
6478 StDevSample,
6479 Range,
6480 Minority,
6481 Majority,
6482 FirstQuartile,
6483 ThirdQuartile,
6484 InterQuartileRange,
6485 StringMinimumLength,
6486 StringMaximumLength,
6487 StringConcatenate,
6488 GeometryCollect,
6489 ArrayAggregate,
6490 StringConcatenateUnique
6491 };
6492 Q_ENUM( Aggregate )
6493
6494
6500 {
6501 Count = 1 << 0,
6502 CountMissing = 1 << 15,
6503 Sum = 1 << 1,
6504 Mean = 1 << 2,
6505 Median = 1 << 3,
6506 StDev = 1 << 4,
6507 StDevSample = 1 << 5,
6508 Min = 1 << 6,
6509 Max = 1 << 7,
6510 Range = 1 << 8,
6511 Minority = 1 << 9,
6512 Majority = 1 << 10,
6513 Variety = 1 << 11,
6514 FirstQuartile = 1 << 12,
6515 ThirdQuartile = 1 << 13,
6516 InterQuartileRange = 1 << 14,
6517 First = 1 << 16,
6518 Last = 1 << 17,
6519 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
6520 };
6521 Q_ENUM( Statistic )
6522
6523
6529 Q_FLAG( Statistics )
6530
6537 {
6538 Count = 1,
6539 CountDistinct = 2,
6540 CountMissing = 4,
6541 Min = 8,
6542 Max = 16,
6543 Range = 32,
6544 All = Count | CountDistinct | CountMissing | Min | Max | Range,
6545 };
6546 Q_ENUM( DateTimeStatistic )
6547
6548
6554 Q_FLAG( DateTimeStatistics )
6555
6562 {
6563 Count = 1,
6564 CountDistinct = 2,
6565 CountMissing = 4,
6566 Min = 8,
6567 Max = 16,
6568 MinimumLength = 32,
6569 MaximumLength = 64,
6570 MeanLength = 128,
6571 Minority = 256,
6572 Majority = 512,
6573 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
6574 };
6575 Q_ENUM( StringStatistic )
6576
6577
6583 Q_FLAG( StringStatistics )
6584
6591 {
6592 NoStatistic = 0,
6593 Min = 1,
6594 Max = 1 << 1,
6595 Range = 1 << 2,
6596 Sum = 1 << 3,
6597 Mean = 1 << 4,
6598 StdDev = 1 << 5,
6599 SumOfSquares = 1 << 6,
6600 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
6601 };
6602 Q_ENUM( RasterBandStatistic )
6603
6604
6610 Q_FLAG( RasterBandStatistics )
6611
6617 enum class SensorThingsVersion : int
6618 {
6619 Version1_1,
6620 Version2_0,
6621 };
6623
6629 enum class SensorThingsExtension : int SIP_ENUM_BASETYPE( IntFlag )
6630 {
6631 MultiDatastream = 1 << 0,
6632 SensingExtensionObservationsMeasurements = 1 << 1,
6633 SensingExtensionSampling = 1 << 2,
6634 SensingExtensionRelations = 1 << 3,
6635 };
6637
6644 Q_FLAG( SensorThingsExtensions )
6645
6646
6651 enum class SensorThingsEntity : int
6652 {
6653 Invalid,
6654 Thing,
6655 Location,
6656 HistoricalLocation,
6657 Datastream,
6658 Sensor,
6659 ObservedProperty,
6660 Observation,
6661 FeatureOfInterest,
6662 MultiDatastream,
6663 // version 2.0
6664 Feature,
6665 FeatureType,
6666 Deployment,
6667 ObservingProcedure,
6668 Sampling,
6669 SamplingProcedure,
6670 Sampler,
6671 PreparationStep,
6672 PreparationProcedure,
6673 ThingRelation,
6674 RelationRole,
6675 FeatureRelation,
6676 DatastreamRelation,
6677 ObservationRelation,
6678 };
6679 Q_ENUM( SensorThingsEntity )
6680
6681
6686 enum class ColorModel : int
6687 {
6688 Rgb,
6689 Cmyk,
6690 };
6691 Q_ENUM( ColorModel )
6692
6693
6698 enum class DocumentationApi : int
6699 {
6700 PyQgis,
6701 PyQgisSearch,
6702 CppQgis,
6703 Qt,
6704 };
6705 Q_ENUM( DocumentationApi )
6706
6707
6712 enum class DocumentationBrowser : int
6713 {
6714 DeveloperToolsPanel,
6715 SystemWebBrowser,
6716 };
6717 Q_ENUM( DocumentationBrowser )
6718
6719
6724 enum class MouseHandlesAction : int
6725 {
6726 MoveItem,
6727 ResizeUp,
6728 ResizeDown,
6729 ResizeLeft,
6730 ResizeRight,
6731 ResizeLeftUp,
6732 ResizeRightUp,
6733 ResizeLeftDown,
6734 ResizeRightDown,
6735 RotateTopLeft,
6736 RotateTopRight,
6737 RotateBottomLeft,
6738 RotateBottomRight,
6739 SelectItem,
6740 NoAction
6741 };
6742 Q_ENUM( MouseHandlesAction )
6743
6744
6748 enum class MeshRangeLimit : int
6749 {
6750 NotSet,
6751 MinimumMaximum,
6752 };
6753 Q_ENUM( MeshRangeLimit )
6754
6755
6760 enum class MeshRangeExtent : int
6761 {
6762 WholeMesh,
6763 FixedCanvas,
6764 UpdatedCanvas,
6765 };
6766 Q_ENUM( MeshRangeExtent )
6767
6768
6774 enum class PointCloudAccessType : int
6775 {
6776 Local,
6777 Remote
6778 };
6779 Q_ENUM( PointCloudAccessType )
6780
6781
6786 {
6787 RenderExtents,
6788 RenderOverview,
6789 RenderOverviewAndExtents
6790 };
6791 Q_ENUM( PointCloudZoomOutRenderBehavior )
6792
6793
6798 {
6799 Standard = 0,
6800 Adaptive,
6801 AreaError,
6802 ConstantDensity
6803 };
6804 Q_ENUM( SegmentCalculationMethod )
6805
6806
6810 enum class StacObjectType : int
6811 {
6812 Unknown,
6813 Catalog,
6814 Collection,
6815 Item,
6816 };
6817 Q_ENUM( StacObjectType )
6818
6819
6824 {
6825 WmsScale = 1 << 0,
6826 WmsDpi = 1 << 1,
6827 };
6828 Q_ENUM( RasterProcessingParameterCapability )
6829
6830
6836
6842 {
6843 Status = Qt::UserRole + 1,
6844 Id,
6845 ElapsedTime,
6846 MaximumTime,
6847 Sort,
6848 };
6849 Q_ENUM( DevToolsNodeRole )
6850
6851
6856 enum class ExtrusionFace : int SIP_ENUM_BASETYPE( IntFlag )
6857 {
6858 NoFace = 0,
6859 Walls = 1 << 0,
6860 Roof = 1 << 1,
6861 Floor = 1 << 2
6862 };
6863 Q_ENUM( ExtrusionFace )
6864
6865
6869 Q_DECLARE_FLAGS( ExtrusionFaces, ExtrusionFace )
6870 Q_FLAG( ExtrusionFaces )
6871
6876 enum class TriangulationAlgorithm : int SIP_ENUM_BASETYPE( IntFlag )
6877 {
6878 ConstrainedDelaunay = 0,
6879 Earcut = 1 << 0
6880 };
6881 Q_ENUM( TriangulationAlgorithm )
6882
6883
6894 enum class WmsGroupRequestMode : int
6895 {
6896 Normal,
6897 Opaque,
6898 };
6899 Q_ENUM( WmsGroupRequestMode )
6900
6901
6907 {
6908 RestorePreviousState,
6909 ForceDocked,
6910 ForceDialog,
6911 };
6912 Q_ENUM( DockableWidgetInitialState )
6913
6914
6920 {
6921 LongestBorder = 0,
6922 MaximumArea = 1,
6923 MinimumArea = 2,
6924 MinimumIndex = 3,
6925 };
6926 Q_ENUM( CoverageCleanOverlapMergeStrategy )
6927
6928
6931 static const double DEFAULT_SEARCH_RADIUS_MM;
6932
6935
6941 static const QColor DEFAULT_HIGHLIGHT_COLOR;
6942
6946 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
6947
6952
6960 Q_DECL_DEPRECATED static const double SCALE_PRECISION;
6961
6966 static const double DEFAULT_Z_COORDINATE;
6967
6973 static const double DEFAULT_M_COORDINATE;
6974
6979 static const double UI_SCALE_FACTOR;
6980
6984 static const double DEFAULT_SNAP_TOLERANCE;
6985
6990
6994 static const int USER_CRS_START_ID;
6995
6997 static const double DEFAULT_POINT_SIZE;
6998
7000 static const double DEFAULT_LINE_WIDTH;
7001
7003 static const double DEFAULT_SEGMENT_EPSILON;
7004
7007
7010
7016 static QString defaultProjectScales();
7017
7023 static int geosVersionInt();
7024
7030 static int geosVersionMajor();
7031
7037 static int geosVersionMinor();
7038
7044 static int geosVersionPatch();
7045
7051 static QString geosVersion();
7052
7058 static bool hasSfcgal();
7059
7066 static int sfcgalVersionInt();
7067
7073 static bool hasGeographicLib();
7074
7081 static int geographicLibVersion();
7082
7088 Q_DECL_DEPRECATED static bool hasQtWebkit();
7089
7095 static QString geoNone() { return u"NONE"_s; }
7096
7102 static QString geographicCrsAuthId() { return u"EPSG:4326"_s; }
7103
7108 Q_DECL_DEPRECATED static QString geoWkt()
7109 {
7110 return QStringLiteral(
7111 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]] )"""
7112 );
7113 }
7114
7119 Q_DECL_DEPRECATED static QString geoProj4() { return u"+proj=longlat +datum=WGS84 +no_defs"_s; }
7120};
7121
7124
7223Q_DECLARE_METATYPE( QTimeZone )
7224
7225// hack to workaround warnings when casting void pointers
7226// retrieved from QLibrary::resolve to function pointers.
7227// It's assumed that this works on all systems supporting
7228// QLibrary
7229#define cast_to_fptr( f ) f
7230
7231
7239// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
7240template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
7241{
7242 public:
7247 explicit QgsSignalBlocker( Object *object )
7248 : mObject( object )
7249 , mPreviousState( object->blockSignals( true ) )
7250 {}
7251
7252 ~QgsSignalBlocker() { mObject->blockSignals( mPreviousState ); }
7253
7255 Object *operator->() { return mObject; }
7256
7257 private:
7258 Object *mObject = nullptr;
7259 bool mPreviousState;
7260};
7261
7274// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
7275template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
7276{
7277 return QgsSignalBlocker<Object>( object );
7278}
7279
7281CORE_EXPORT size_t qHash( const QVariant &variant );
7282
7288inline QString qgsDoubleToString( double a, int precision = 17 )
7289{
7290 QString str;
7291 if ( precision )
7292 {
7293 if ( precision < 0 )
7294 {
7295 const double roundFactor = std::pow( 10, -precision );
7296 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
7297 }
7298 else
7299 {
7300 str = QString::number( a, 'f', precision );
7301 if ( str.contains( '.'_L1 ) )
7302 {
7303 // remove ending 0s
7304 int idx = str.length() - 1;
7305 while ( str.at( idx ) == '0' && idx > 1 )
7306 {
7307 idx--;
7308 }
7309 if ( idx < str.length() - 1 )
7310 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
7311 }
7312 }
7313 }
7314 else
7315 {
7316 str = QString::number( a, 'f', precision );
7317 }
7318 // avoid printing -0
7319 // see https://bugreports.qt.io/browse/QTBUG-71439
7320 if ( str == "-0"_L1 )
7321 {
7322 return "0"_L1;
7323 }
7324 return str;
7325}
7326
7333inline bool qgsNanCompatibleEquals( double a, double b )
7334{
7335 if ( a == b )
7336 return true;
7337
7338 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7339 return true;
7340
7341 return false;
7342}
7343
7344#ifndef SIP_RUN
7345
7353template<typename T> inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
7354{
7355 static_assert( std::is_floating_point<T>::value, "qgsNumberNear requires floating-point types" );
7356
7357 if ( a == b )
7358 return true;
7359
7360 // if either 'a' or 'b' is NaN, 'diff' becomes NaN.
7361 // comparisons (>= or <=) against NaN evaluate to false, which will fallback
7362 // to the nan related logic at the end of this function
7363 const T diff = a - b;
7364 if ( diff >= -epsilon && diff <= epsilon )
7365 return true;
7366
7367 // defer expensive nan checks to last -- calling std::isnan is NOT cheap!
7368 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7369 return true;
7370
7371 return false;
7372}
7373#endif
7374
7381inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7382{
7383 return qgsNumberNear<double>( a, b, epsilon );
7384}
7385
7394inline bool qgsDoubleLessThanOrNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7395{
7396 // fast check first
7397 if ( a <= b )
7398 return true;
7399
7400 // => a > b
7401 // => a - b > 0
7402 // we only need to check the upper epsilon bound for the fuzzy equality
7403 if ( a - b <= epsilon )
7404 return true;
7405
7406 // defer expensive nan checks to last -- calling std::isnan is NOT cheap!
7407 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7408 return true;
7409
7410 return false;
7411}
7412
7421inline bool qgsDoubleGreaterThanOrNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7422{
7423 // fast check first
7424 if ( a >= b )
7425 return true;
7426
7427 // => a < b
7428 // => b - a > 0
7429 // we only need to check the upper epsilon bound for the fuzzy equality
7430 if ( b - a <= epsilon )
7431 return true;
7432
7433 // defer expensive nan checks to last -- calling std::isnan is NOT cheap!
7434 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7435 return true;
7436
7437 return false;
7438}
7439
7446inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
7447{
7448 return qgsNumberNear<float>( a, b, epsilon );
7449}
7450
7452inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
7453{
7454 const bool aIsNan = std::isnan( a );
7455 const bool bIsNan = std::isnan( b );
7456 if ( aIsNan || bIsNan )
7457 return aIsNan && bIsNan;
7458
7459 // The most simple would be to print numbers as %.xe and compare as strings
7460 // but that is probably too costly
7461 // Then the fastest would be to set some bits directly, but little/big endian
7462 // has to be considered (maybe TODO)
7463 // Is there a better way?
7464 int aexp, bexp;
7465 const double ar = std::frexp( a, &aexp );
7466 const double br = std::frexp( b, &bexp );
7467
7468 return aexp == bexp && std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
7469}
7470
7475inline double qgsRound( double number, int places )
7476{
7477 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
7478 const double scaleFactor = std::pow( 10.0, places );
7479 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
7480}
7481
7482#ifndef SIP_RUN
7483
7490template<class Key, class Value> QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
7491{
7492 QString result;
7493 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7494 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
7495
7496 result.chop( separator.size() );
7497 return result;
7498}
7499
7506template<class Key, class Value> QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
7507{
7508 QString result;
7509 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7510 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
7511
7512 result.chop( separator.size() );
7513 return result;
7514}
7515
7522template<class T> QString qgsSetJoin( const QSet<T> &set, const QString &separator )
7523{
7524 QString result;
7525 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
7526 result += QString( "%1%2" ).arg( *it ).arg( separator );
7527
7528 result.chop( separator.size() );
7529 return result;
7530}
7531
7533
7543namespace qgis
7544{
7545
7558 template<typename To, typename From> inline To down_cast( From *f )
7559 {
7560 static_assert( ( std::is_base_of<From, typename std::remove_pointer<To>::type>::value ), "target type not derived from source type" );
7561 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
7562 return static_cast<To>( f );
7563 }
7564
7565 template<class T> QSet<T> listToSet( const QList<T> &list )
7566 {
7567 return QSet<T>( list.begin(), list.end() );
7568 }
7569
7570 template<class T> QList<T> setToList( const QSet<T> &set )
7571 {
7572 return QList<T>( set.begin(), set.end() );
7573 }
7574} //namespace qgis
7575
7577#endif
7578
7583template<class T> const QList<T> qgsEnumList() SIP_SKIP
7584{
7585 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7586 Q_ASSERT( metaEnum.isValid() );
7587 QList<T> enumList;
7588 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7589 {
7590 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
7591 }
7592 return enumList;
7593}
7594
7600template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
7601{
7602 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7603 Q_ASSERT( metaEnum.isValid() );
7604 QMap<T, QString> enumMap;
7605 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7606 {
7607 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
7608 }
7609 return enumMap;
7610}
7611
7617template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7618{
7619 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7620 Q_ASSERT( metaEnum.isValid() );
7621 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
7622 if ( returnOk )
7623 {
7624 *returnOk = key ? true : false;
7625 }
7626 return QString::fromUtf8( key );
7627}
7628
7636template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7637{
7638 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7639 Q_ASSERT( metaEnum.isValid() );
7640 bool ok = false;
7641 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
7642 if ( returnOk )
7643 {
7644 *returnOk = ok;
7645 }
7646 if ( ok )
7647 {
7648 return v;
7649 }
7650 else
7651 {
7652 // if conversion has failed, try with conversion from int value
7653 if ( tryValueAsKey )
7654 {
7655 bool canConvert = false;
7656 const int intValue = key.toInt( &canConvert );
7657 if ( canConvert && metaEnum.valueToKey( intValue ) )
7658 {
7659 if ( returnOk )
7660 {
7661 *returnOk = true;
7662 }
7663 return static_cast<T>( intValue );
7664 }
7665 }
7666 }
7667 return defaultValue;
7668}
7669
7675template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7676{
7677 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7678 Q_ASSERT( metaEnum.isValid() );
7679 int intValue = static_cast<int>( value );
7680 if ( intValue == 0 )
7681 {
7682 if ( returnOk )
7683 *returnOk = true;
7684 return u"0"_s;
7685 }
7686
7687 const QByteArray ba = metaEnum.valueToKeys( intValue );
7688 // check that the int value does correspond to a flag
7689 // see https://stackoverflow.com/a/68495949/1548052
7690 const int intValueCheck = metaEnum.keysToValue( ba );
7691 bool ok = intValue == intValueCheck;
7692 if ( returnOk )
7693 *returnOk = ok;
7694 return ok ? QString::fromUtf8( ba ) : QString();
7695}
7696
7704template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7705{
7706 if ( keys.isEmpty() )
7707 {
7708 if ( returnOk )
7709 {
7710 *returnOk = false;
7711 }
7712 return defaultValue;
7713 }
7714 else if ( keys == "0"_L1 )
7715 {
7716 if ( returnOk )
7717 {
7718 *returnOk = true;
7719 }
7720 return T();
7721 }
7722 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7723 Q_ASSERT( metaEnum.isValid() );
7724 bool ok = false;
7725 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
7726 if ( returnOk )
7727 {
7728 *returnOk = ok;
7729 }
7730 if ( ok )
7731 {
7732 return v;
7733 }
7734 else
7735 {
7736 // if conversion has failed, try with conversion from int value
7737 if ( tryValueAsKey )
7738 {
7739 bool canConvert = false;
7740 const int intValue = keys.toInt( &canConvert );
7741 if ( canConvert )
7742 {
7743 const QByteArray keyArray = metaEnum.valueToKeys( intValue );
7744 const int intValueCheck = metaEnum.keysToValue( keyArray );
7745 if ( !keyArray.isEmpty() && intValue == intValueCheck )
7746 {
7747 if ( returnOk )
7748 {
7749 *returnOk = true;
7750 }
7751 return T( intValue );
7752 }
7753 }
7754 }
7755 }
7756 return defaultValue;
7757}
7758
7759
7768CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
7769
7778CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
7779
7789CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
7790
7810CORE_EXPORT int qgsVariantCompare( const QVariant &lhs, const QVariant &rhs, bool strictTypeCheck = false );
7811
7822CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
7823
7832CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
7833
7842CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
7843
7855inline bool operator>( const QVariant &v1, const QVariant &v2 )
7856{
7857 return qgsVariantCompare( v1, v2, true ) > 0;
7858}
7859
7871inline bool operator<( const QVariant &v1, const QVariant &v2 )
7872{
7873 return qgsVariantCompare( v1, v2, true ) < 0;
7874}
7875
7882Q_DECL_DEPRECATED CORE_EXPORT QString qgsVsiPrefix( const QString &path ) SIP_DEPRECATED;
7883
7889void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
7890
7895void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
7896
7897#ifndef SIP_RUN
7898
7900class ScopedIntIncrementor
7901{
7902 public:
7903 ScopedIntIncrementor( int *variable )
7904 : mVariable( variable )
7905 {
7906 ( *mVariable )++;
7907 }
7908
7909 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
7910 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
7911
7912 void release()
7913 {
7914 if ( mVariable )
7915 ( *mVariable )--;
7916
7917 mVariable = nullptr;
7918 }
7919
7920 ~ScopedIntIncrementor() { release(); }
7921
7922 private:
7923 int *mVariable = nullptr;
7924};
7926
7927#endif
7928
7934Q_DECL_DEPRECATED const long GEOSRID = 4326;
7935
7941Q_DECL_DEPRECATED const long GEOCRS_ID = 3452;
7942
7948Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID = 4326;
7949
7950typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
7951
7960typedef unsigned long long qgssize;
7961
7962#ifndef SIP_RUN
7963#if ( __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 6 ) ) || defined( __clang__ )
7964
7965#define Q_NOWARN_DEPRECATED_PUSH _Pragma( "GCC diagnostic push" ) _Pragma( "GCC diagnostic ignored \"-Wdeprecated-declarations\"" );
7966#define Q_NOWARN_DEPRECATED_POP _Pragma( "GCC diagnostic pop" );
7967#define Q_NOWARN_UNREACHABLE_PUSH
7968#define Q_NOWARN_UNREACHABLE_POP
7969
7970#elif defined( _MSC_VER )
7971
7972#define Q_NOWARN_DEPRECATED_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4996 ) )
7973#define Q_NOWARN_DEPRECATED_POP __pragma( warning( pop ) )
7974#define Q_NOWARN_UNREACHABLE_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4702 ) )
7975#define Q_NOWARN_UNREACHABLE_POP __pragma( warning( pop ) )
7976#else
7977
7978#define Q_NOWARN_DEPRECATED_PUSH
7979#define Q_NOWARN_DEPRECATED_POP
7980#define Q_NOWARN_UNREACHABLE_PUSH
7981#define Q_NOWARN_UNREACHABLE_POP
7982
7983#endif
7984#endif
7985
7986#ifndef QGISEXTERN
7987#ifdef Q_OS_WIN
7988#define QGISEXTERN extern "C" __declspec( dllexport )
7989#else
7990#if defined( __GNUC__ ) || defined( __clang__ )
7991#define QGISEXTERN extern "C" __attribute__( ( visibility( "default" ) ) )
7992#else
7993#define QGISEXTERN extern "C"
7994#endif
7995#endif
7996#endif
7997#endif
7998
7999#ifndef SIP_RUN
8000#ifdef _MSC_VER
8001#define BUILTIN_UNREACHABLE __assume( false );
8002#elif defined( __GNUC__ ) && !defined( __clang__ )
8003// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
8004// like:
8005// switch( mVariableThatCanOnlyBeXorY )
8006// {
8007// case X:
8008// return "foo";
8009// case Y:
8010// return "foo";
8011// }
8012// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
8013#define BUILTIN_UNREACHABLE __builtin_unreachable();
8014#else
8015#define BUILTIN_UNREACHABLE
8016#endif
8017#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:5954
DistanceUnitType
Types of distance units.
Definition qgis.h:5526
PieChartLabelType
Pie chart label types.
Definition qgis.h:3541
GnssConstellation
GNSS constellation.
Definition qgis.h:2038
SettingsOption
Settings options.
Definition qgis.h:765
EmbeddedScriptType
Type of Python Embedded in projects.
Definition qgis.h:463
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition qgis.h:4598
GeometryBackend
Geometry backend for QgsGeometry.
Definition qgis.h:2282
ProcessingSourceType
Processing data source types.
Definition qgis.h:3726
static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS
Default snapping distance units.
Definition qgis.h:6989
GpsQualityIndicator
GPS signal quality indicator.
Definition qgis.h:2056
QFlags< MapGridFrameSideFlag > MapGridFrameSideFlags
Flags for controlling which side of the map a frame is drawn on.
Definition qgis.h:5984
DataItemProviderCapability
Capabilities for data item providers.
Definition qgis.h:1057
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3986
RasterizedRenderingPolicy
Policies controlling when rasterisation of content during renders is permitted.
Definition qgis.h:2879
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
Definition qgis.h:2974
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:4682
QFlags< DatabaseProviderTableImportCapability > DatabaseProviderTableImportCapabilities
Definition qgis.h:6062
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
Definition qgis.h:2151
CurvedLabelMode
Modes which determine how curved labels are generated and placed.
Definition qgis.h:1306
MapToolUnit
Type of unit of tolerance value from settings.
Definition qgis.h:5432
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:3513
static const double DEFAULT_LINE_WIDTH
The default width (in millimeters) for line symbols.
Definition qgis.h:7000
ProcessingModelChildAlgorithmExecutionStatus
Reflects the status of a child algorithm in a Processing model.
Definition qgis.h:4061
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
Definition qgis.h:2118
ScaleBarDistanceLabelHorizontalPlacement
Scale bar distance label horizontal placement.
Definition qgis.h:5801
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:4626
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
Definition qgis.h:848
static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM
Default highlight line/stroke minimum width in mm.
Definition qgis.h:6951
static QString version()
Version string.
Definition qgis.cpp:682
GeometryValidityFlag
Geometry validity check flags.
Definition qgis.h:2205
QFlags< RasterProviderCapability > RasterProviderCapabilities
Raster data provider capabilities.
Definition qgis.h:5357
ExpressionType
Expression types.
Definition qgis.h:6192
MapLayerActionFlag
Map layer action flags.
Definition qgis.h:5102
ScaleBarDistanceLabelVerticalPlacement
Scale bar distance label vertical placement.
Definition qgis.h:5787
MapLayerProperty
Generic map layer properties.
Definition qgis.h:2427
VectorProviderCapability
Vector data provider capabilities.
Definition qgis.h:525
RasterProcessingParameterCapability
Capabilities of a raster layer processing parameter.
Definition qgis.h:6824
BufferSide
Side of line to buffer.
Definition qgis.h:2231
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1603
WmsGroupRequestMode
Request mode of groups in a WMS context.
Definition qgis.h:6895
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
Definition qgis.h:5091
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
Definition qgis.h:6238
ProjectTrustStatus
Project trust status.
Definition qgis.h:476
MultiPartLabelingBehavior
Behavior modifier for labeling features with multi-part geometries.
Definition qgis.h:1345
AltitudeClamping
Altitude clamping.
Definition qgis.h:4180
static const int PREVIEW_JOB_DELAY_MS
Delay between the scheduling of 2 preview jobs.
Definition qgis.h:7006
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:6220
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:2750
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
Definition qgis.h:1542
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
Definition qgis.h:4726
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1395
QFlags< UriCleaningFlag > UriCleaningFlags
Flags for cleaning layer URIs.
Definition qgis.h:1502
CoordinateDisplayType
Formats for displaying coordinates.
Definition qgis.h:4863
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3934
QFlags< VectorRenderingSimplificationFlag > VectorRenderingSimplificationFlags
Simplification flags for vector feature rendering.
Definition qgis.h:3226
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:3486
static const double DEFAULT_Z_COORDINATE
Default Z coordinate value.
Definition qgis.h:6966
CoverageCleanOverlapMergeStrategy
Merge strategies for coverage cleaning operations.
Definition qgis.h:6920
GpsFixStatus
GPS fix status.
Definition qgis.h:2023
AnnotationItemNodeType
Annotation item node types.
Definition qgis.h:2677
static const char * QGIS_DEV_VERSION
The development version.
Definition qgis.h:89
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1154
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
Definition qgis.h:2916
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
Definition qgis.h:2566
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
Definition qgis.h:1646
AngularDirection
Angular directions.
Definition qgis.h:3627
DriveType
Drive types.
Definition qgis.h:1207
UnitType
Unit types.
Definition qgis.h:5447
ContentStatus
Status for fetched or stored content.
Definition qgis.h:1979
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
Definition qgis.h:1941
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition qgis.h:790
Map3DBackgroundType
Background types for 3D map view.
Definition qgis.h:4462
LayoutUnit
Layout measurement units.
Definition qgis.h:5654
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:4816
Q_ENUM(GnssConstellation)
PaintEffectFlag
Flags which control how paint effects behave.
Definition qgis.h:2983
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:3324
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Definition qgis.h:4704
LegendComponent
Component of legends which can be styled.
Definition qgis.h:4999
Point3DShape
3D point shape types.
Definition qgis.h:4366
GeometryOperationResult
Success or failure of a geometry operation.
Definition qgis.h:2176
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
Definition qgis.h:6582
BrowserItemState
Browser item states.
Definition qgis.h:1000
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:6120
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
Definition qgis.h:6281
QFlags< SensorThingsExtension > SensorThingsExtensions
OGC SensorThings extensions.
Definition qgis.h:6643
FeatureRequestFilterType
Types of feature request filters.
Definition qgis.h:2370
MarkerClipMode
Marker clipping modes.
Definition qgis.h:3444
GpsNavigationStatus
GPS navigation status.
Definition qgis.h:2076
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:2634
AttributeFormReuseLastValuePolicy
Attribute form policy for reusing last entered values.
Definition qgis.h:6179
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:3235
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Definition qgis.h:4076
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Definition qgis.h:2464
TextureFilterQuality
Texture filtering qualities.
Definition qgis.h:4420
Statistic
Available generic statistics.
Definition qgis.h:6500
TriangulationAlgorithm
Triangulation algorithms.
Definition qgis.h:6877
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:810
AngleUnit
Units of angles.
Definition qgis.h:5589
ToneMappingMethod
Defines the method used to map High Dynamic Range (HDR) scene colors to the Standard Dynamic Range (S...
Definition qgis.h:4537
MapGridAnnotationPosition
Position for map grid annotations.
Definition qgis.h:5864
CaptureTechnique
Capture technique.
Definition qgis.h:418
static QString geosVersion()
GEOS string version linked.
Definition qgis.cpp:704
SpatialIndexPresence
Enumeration of spatial index presence states.
Definition qgis.h:599
BrowserItemCapability
Browser item capabilities.
Definition qgis.h:1013
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition qgis.h:6150
QFlags< AuthConfigurationStorageCapability > AuthConfigurationStorageCapabilities
Authentication configuration storage capabilities.
Definition qgis.h:152
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition qgis.h:4969
LayerTreeInsertionMethod
Layer tree insertion methods.
Definition qgis.h:4933
RasterProviderCapability
Raster data provider capabilities.
Definition qgis.h:5337
DatabaseProviderTableImportCapability
Represents capabilities of a database provider connection when importing table data.
Definition qgis.h:6057
LineClipMode
Line clipping modes.
Definition qgis.h:3458
static const double DEFAULT_SNAP_TOLERANCE
Default snapping distance tolerance.
Definition qgis.h:6984
VectorRenderingSimplificationFlag
Simplification flags for vector feature rendering.
Definition qgis.h:3211
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
Definition qgis.h:2210
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition qgis.h:1106
VsiHandlerType
GDAL VSI handler types.
Definition qgis.h:6394
NetworkRequestFlag
Flags controlling behavior of network requests.
Definition qgis.h:187
static int geographicLibVersion()
Returns the version of the GeographicLib library if QGIS is built with GeographicLib support.
Definition qgis.cpp:736
SettingsTreeNodeType
Type of tree node.
Definition qgis.h:695
TilePixelRatio
DpiMode enum.
Definition qgis.h:3567
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:6040
QFlags< PaintEffectFlag > PaintEffectFlags
Flags which control how paint effects behave.
Definition qgis.h:2993
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition qgis.h:1361
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
Definition qgis.h:4604
QFlags< MapLayerLegendFlag > MapLayerLegendFlags
Map layer legend flags.
Definition qgis.h:4988
MapGridUnit
Units for map grid values.
Definition qgis.h:5816
LabelPrioritization
Label prioritization.
Definition qgis.h:1273
GradientColorSource
Gradient color sources.
Definition qgis.h:3373
FileFilterType
Type of file filters.
Definition qgis.h:1474
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:1287
RasterLayerType
Raster layer types.
Definition qgis.h:5214
static const double DEFAULT_M_COORDINATE
Default M coordinate value.
Definition qgis.h:6973
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
Definition qgis.h:440
ScaleBarAlignment
Scalebar alignment.
Definition qgis.h:5758
LegendLayerDoubleClickAction
Action performed when double-clicking a layer in the legend.
Definition qgis.h:4946
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:5253
ProcessingMode
Types of modes which Processing widgets can be created for.
Definition qgis.h:3867
VectorExportResult
Vector layer export result codes.
Definition qgis.h:1133
ShadowQuality
Shadow texture quality.
Definition qgis.h:4435
DistanceUnit
Units of distance.
Definition qgis.h:5464
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:2825
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition qgis.h:942
MeshRangeLimit
Describes the limits used to compute mesh ranges (min/max values).
Definition qgis.h:6749
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:3417
LegendSyncMode
Legend synchronization mode.
Definition qgis.h:5017
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
Definition qgis.h:2667
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1420
RasterRangeLimit
Describes the limits used to compute raster ranges (min/max values).
Definition qgis.h:1678
ScaleMethod
Scale methods.
Definition qgis.h:665
QFlags< RasterProcessingParameterCapability > RasterProcessingParameterCapabilities
Raster layer processing parameter capabilities.
Definition qgis.h:6834
SldExportOption
SLD export options.
Definition qgis.h:737
VectorSimplificationAlgorithm
Simplification algorithms for vector features.
Definition qgis.h:3195
FilePathType
File path types.
Definition qgis.h:1810
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:4272
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:6165
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:3432
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
Definition qgis.h:752
static const double DEFAULT_HIGHLIGHT_BUFFER_MM
Default highlight buffer in mm.
Definition qgis.h:6946
MapCanvasFlag
Flags controlling behavior of map canvases.
Definition qgis.h:3653
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:4959
ExtrusionFace
Extrusion face types for the QgsTessellator.
Definition qgis.h:6857
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:6135
FeatureRequestFlag
Flags for controlling feature requests.
Definition qgis.h:2341
Map3DDebugFlag
Flags that control debug options for 3D maps.
Definition qgis.h:4333
VertexType
Types of vertex.
Definition qgis.h:3260
ShaderInterpolationMethod
Color ramp shader interpolation methods.
Definition qgis.h:1558
JoinStyle3D
Join styles for 3D buffers.
Definition qgis.h:2269
DataProviderFlag
Generic data provider flags.
Definition qgis.h:2457
Q_ENUM(GpsNavigationStatus)
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg).
Definition qgis.h:6372
RasterResamplingMethod
Resampling method for raster provider-level resampling.
Definition qgis.h:1617
GeometryValidationEngine
Available engines for validating geometries.
Definition qgis.h:2219
static int geosVersionPatch()
GEOS Patch version number linked.
Definition qgis.cpp:766
TransactionMode
Transaction mode.
Definition qgis.h:4167
Q_ENUM(ScaleToTileZoomLevelMethod)
QFlags< FeatureRendererFlag > FeatureRendererFlags
Flags controlling behavior of vector feature renderers.
Definition qgis.h:900
static const QColor DEFAULT_HIGHLIGHT_COLOR
Default highlight color.
Definition qgis.h:6941
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:5366
static Q_DECL_DEPRECATED const double SCALE_PRECISION
Fudge factor used to compare two scales.
Definition qgis.h:6960
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:5230
GeosCreationFlag
Flags which control geos geometry creation behavior.
Definition qgis.h:2294
Q_ENUM(SensorThingsExtension)
static const int MAXIMUM_LAYER_PREVIEW_TIME_MS
Maximum rendering time for a layer of a preview job.
Definition qgis.h:7009
MeshRangeExtent
Describes the extent used to compute mesh ranges (min/max values).
Definition qgis.h:6761
GpsInformationComponent
GPS information component.
Definition qgis.h:2090
Q_ENUM(PointCloudProfileType)
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:3672
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3753
FileOperationFlag
File operation flags.
Definition qgis.h:2412
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
Definition qgis.h:1073
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:4716
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
Definition qgis.h:2136
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Definition qgis.h:949
QFlags< RasterInterfaceCapability > RasterInterfaceCapabilities
Raster interface capabilities.
Definition qgis.h:5324
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
Definition qgis.h:5126
TemporalNavigationMode
Temporal navigation modes.
Definition qgis.h:2704
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:4014
AreaUnit
Units of area.
Definition qgis.h:5541
StringStatistic
Available string statistics.
Definition qgis.h:6562
SelectiveMaskSourceType
Selective masking source types.
Definition qgis.h:3249
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:4121
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:6413
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:5918
SqlKeywordCategory
SqlKeywordCategory enum represents the categories of the SQL keywords used by the SQL query editor.
Definition qgis.h:1189
QFlags< SnappingType > SnappingTypes
Snapping types.
Definition qgis.h:801
static Q_DECL_DEPRECATED QString geoWkt()
WKT string that represents a geographic coord system.
Definition qgis.h:7108
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:5969
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:3501
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1410
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
Definition qgis.h:6290
TextLayoutMode
Text layout modes.
Definition qgis.h:3083
PropertyType
Property types.
Definition qgis.h:723
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2952
LayerFilter
Filter for layers.
Definition qgis.h:225
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
Definition qgis.h:1546
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition qgis.h:1635
QFlags< ExtrusionFace > ExtrusionFaces
Tessellator extrusion face types.
Definition qgis.h:6869
static QString devVersion()
The development version.
Definition qgis.cpp:699
CrsType
Coordinate reference system types.
Definition qgis.h:2476
QFlags< GeosCreationFlag > GeosCreationFlags
Geos geometry creation behavior flags.
Definition qgis.h:2305
MapGridComponentVisibility
Visibility display settings for map grid annotations and frames.
Definition qgis.h:5848
SensorThingsEntity
OGC SensorThings API entity types.
Definition qgis.h:6652
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1793
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:4104
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:4754
UriCleaningFlag
Flags for cleaning layer URIs.
Definition qgis.h:1491
RasterFileWriterResult
Raster file export results.
Definition qgis.h:1776
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition qgis.h:2689
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
Definition qgis.h:3838
GeoJsonProfile
GeoJson export Profile according to OGC Features and Geometries JSON - Part 1: Core https://docs....
Definition qgis.h:5045
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:3685
RasterRangeAccuracy
Describes the accuracy used to compute raster ranges (min/max values).
Definition qgis.h:1709
ActionType
Action types.
Definition qgis.h:5061
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:1224
PlaybackOperation
Media playback operations.
Definition qgis.h:2733
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
Definition qgis.h:972
QFlags< TextRendererFlag > TextRendererFlags
Definition qgis.h:3606
SensorThingsExtension
OGC SensorThings extensions.
Definition qgis.h:6630
QueryStorageBackend
Stored query storage backends.
Definition qgis.h:3712
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:6071
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:4653
MarkerShape
Marker shapes.
Definition qgis.h:3275
StacObjectType
Available types of stac objects.
Definition qgis.h:6811
LegendJsonRenderFlag
Legend JSON export flags.
Definition qgis.h:5032
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:5381
RasterElevationMode
Raster layer elevation modes.
Definition qgis.h:4219
Capitalization
String capitalization options.
Definition qgis.h:3584
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:2810
PictureFormat
Picture formats.
Definition qgis.h:5728
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1432
static QString releaseName()
Release name.
Definition qgis.cpp:694
LabelQuadrantPosition
Label quadrant positions.
Definition qgis.h:1375
QFlags< PlotToolFlag > PlotToolFlags
Definition qgis.h:4322
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:3615
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition qgis.h:1524
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1164
TextOrientation
Text orientations.
Definition qgis.h:3068
TemporalUnit
Temporal units.
Definition qgis.h:5610
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
Definition qgis.h:1667
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
Definition qgis.h:929
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:1236
CrsDefinitionFormat
CRS definition formats.
Definition qgis.h:4089
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:2399
VerticalAnchorPoint
Marker symbol vertical anchor points.
Definition qgis.h:876
QFlags< LayoutRenderFlag > LayoutRenderFlags
Flags for controlling how a layout is rendered.
Definition qgis.h:5717
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:3949
TileAvailability
Possible availability states for a tile within a tile matrix.
Definition qgis.h:6257
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:4301
MapGridStyle
Map grid drawing styles.
Definition qgis.h:5832
SensorThingsVersion
OGC SensorThings API versions.
Definition qgis.h:6618
FeatureRendererFlag
Flags controlling behavior of vector feature renderers.
Definition qgis.h:890
static Q_DECL_DEPRECATED QString geoProj4()
PROJ4 string that represents a geographic coord system.
Definition qgis.h:7119
BrowserItemType
Browser item types.
Definition qgis.h:981
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
Definition qgis.h:2359
static bool hasGeographicLib()
Returns true if the QGIS build contains GeographicLib.
Definition qgis.cpp:727
SettingsType
Types of settings entries.
Definition qgis.h:676
QFlags< SettingsOption > SettingsOptions
Definition qgis.h:770
RasterTemporalMode
Raster layer temporal modes.
Definition qgis.h:2793
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1750
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:3023
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:379
RelationshipType
Relationship types.
Definition qgis.h:4802
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:4912
RasterInterfaceCapability
Raster interface capabilities.
Definition qgis.h:5304
JoinStyle
Join styles for buffers.
Definition qgis.h:2256
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:4638
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
Definition qgis.h:6609
CadMeasurementDisplayType
Advanced digitizing measurement display types.
Definition qgis.h:4288
ProcessingAlgorithmDocumentationFlag
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3814
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:3159
FieldDuplicatePolicy
Duplicate policy for fields.
Definition qgis.h:4141
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:6086
static const float DEFAULT_MAPTOPIXEL_THRESHOLD
Default threshold between map coordinates and device coordinates for map2pixel simplification.
Definition qgis.h:6934
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Definition qgis.h:2417
DpiMode
DpiMode enum.
Definition qgis.h:3553
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition qgis.h:1082
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3805
AltitudeBinding
Altitude binding.
Definition qgis.h:4193
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:6350
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:5076
ShaderClassificationMethod
Color ramp shader classification methods.
Definition qgis.h:1573
MapLayerLegendFlag
Map layer legend flags.
Definition qgis.h:4978
ZonalStatisticResult
Zonal statistics result codes.
Definition qgis.h:6450
ScriptLanguage
Scripting languages.
Definition qgis.h:4889
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
Definition qgis.h:1027
QFlags< NetworkRequestFlag > NetworkRequestFlags
Flags controlling behavior of network requests.
Definition qgis.h:197
Export3DSceneFormat
The file format used when exporting a 3D scene.
Definition qgis.h:4549
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
Definition qgis.h:618
PlotAxisType
Plots axis types.
Definition qgis.h:3529
TiledSceneProviderCapability
Tiled scene data provider capabilities.
Definition qgis.h:6271
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:1458
PointCloudProfileType
Types of elevation profiles to generate for point cloud sources.
Definition qgis.h:4586
RasterBandStatistic
Available raster band statistics.
Definition qgis.h:6591
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
Definition qgis.h:6248
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:6441
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:2780
TextRenderFormat
Options for rendering text.
Definition qgis.h:3004
DocumentationBrowser
Documentation API browser.
Definition qgis.h:6713
DataType
Raster data types.
Definition qgis.h:393
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
Definition qgis.h:3677
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition qgis.h:1532
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:5417
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
Definition qgis.h:1721
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition qgis.h:4515
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
Definition qgis.h:2870
RelationshipCapability
Relationship capabilities.
Definition qgis.h:4842
SkyboxCubeMapping
Skybox texture cube mapping for distinct texture skyboxes.
Definition qgis.h:4475
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:5268
QFlags< VectorProviderCapability > VectorProviderCapabilities
Vector data provider capabilities.
Definition qgis.h:564
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:4490
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:3344
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:6318
PointCloudZoomOutRenderBehavior
Point cloud zoom out options.
Definition qgis.h:6786
QFlags< SymbolConverterCapability > SymbolConverterCapabilities
Symbol converter capabilities.
Definition qgis.h:839
LayerType
Types of layers that can be added to a map.
Definition qgis.h:206
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
Definition qgis.h:2640
FieldOrigin
Field origin.
Definition qgis.h:1838
LinearReferencingLabelSource
Defines what quantity to use for the labels shown in a linear referencing symbol layer.
Definition qgis.h:3358
QFlags< BrowserItemFilterFlag > BrowserItemFilterFlags
Browser item filter flags.
Definition qgis.h:1046
LabelWhitespaceCollisionHandling
Label whitespace collision handling.
Definition qgis.h:1261
RasterRangeExtent
Describes the extent used to compute raster ranges (min/max values).
Definition qgis.h:1694
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
Definition qgis.h:6528
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition qgis.h:4318
RenderUnit
Rendering size units.
Definition qgis.h:5634
QFlags< ArcGisRestServiceCapability > ArcGisRestServiceCapabilities
Available ArcGIS REST service capabilities.
Definition qgis.h:4791
static QString geographicCrsAuthId()
Geographic coordinate system auth:id string for a default geographic CRS (EPSG:4326).
Definition qgis.h:7102
CoordinateOrder
Order of coordinates.
Definition qgis.h:2551
SelectionFlag
Flags which control feature selection behavior.
Definition qgis.h:1931
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
Definition qgis.h:712
EndCapStyle
End cap styles for buffers.
Definition qgis.h:2243
ScaleCalculationMethod
Scale calculation logic.
Definition qgis.h:5741
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
Definition qgis.h:6341
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:5115
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
Definition qgis.h:2434
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:2147
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
Definition qgis.h:3043
QFlags< VerticalAxisInversion > VerticalAxisInversionFlags
Definition qgis.h:4527
FieldDomainType
Types of field domain.
Definition qgis.h:4154
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2962
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2926
RasterPipeInterfaceRole
Raster pipe interface roles.
Definition qgis.h:1586
CoverageValidityResult
Coverage validity results.
Definition qgis.h:2314
DataProviderReadFlag
Flags which control data provider construction.
Definition qgis.h:491
ScaleBarSegmentSizeMode
Modes for setting size for scale bar segments.
Definition qgis.h:5773
Aggregate
Available aggregates to calculate.
Definition qgis.h:6468
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:2607
BrowserItemFilterFlag
Browser item filter flags.
Definition qgis.h:1036
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
Definition qgis.h:924
static const double DEFAULT_SEARCH_RADIUS_MM
Identify search radius in mm.
Definition qgis.h:6931
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
Definition qgis.h:2663
MapBoxGlStyleSourceType
Available MapBox GL style source types.
Definition qgis.h:4735
LayoutUnitType
Types of layout units.
Definition qgis.h:5674
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:631
DashPatternLineEndingRule
Dash pattern line ending rules.
Definition qgis.h:3471
FieldMetadataProperty
Standard field metadata values.
Definition qgis.h:1879
MapGridAnnotationType
Annotation coordinate type.
Definition qgis.h:5995
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:6331
RasterRendererCapability
Raster renderer capabilities.
Definition qgis.h:1657
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition qgis.h:1967
HistoryProviderBackend
History provider backends.
Definition qgis.h:3698
static const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition qgis.h:7003
RasterExportType
Raster file export types.
Definition qgis.h:1763
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition qgis.h:1822
TextVerticalAlignment
Text vertical alignment.
Definition qgis.h:3143
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:4828
GradientType
Gradient types.
Definition qgis.h:3387
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
Definition qgis.h:4924
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:4574
GpsFeatureType
GPS feature types.
Definition qgis.h:2161
SourceHierarchyLevel
Defines the structural levels within a data source hierarchy.
Definition qgis.h:1511
VectorLayerTypeFlag
Vector layer type flags.
Definition qgis.h:435
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition qgis.h:2327
QFlags< Map3DDebugFlag > Map3DDebugFlags
Definition qgis.h:4343
RangeLimits
Describes how the limits of a range are handled.
Definition qgis.h:4205
QFlags< ProjectFlag > ProjectFlags
Definition qgis.h:4309
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:2768
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3975
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
Definition qgis.h:1172
static int versionInt()
Version number used for comparing versions using the "Check QGIS Version" function.
Definition qgis.cpp:687
VectorEditResult
Specifies the result of a vector layer edit operation.
Definition qgis.h:1952
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:643
Map3DProjectionType
3D map projection type
Definition qgis.h:4352
Axis
Cartesian axes.
Definition qgis.h:2621
QFlags< ProcessingAlgorithmDocumentationFlag > ProcessingAlgorithmDocumentationFlags
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3826
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
Definition qgis.h:4854
ArcGisRestServiceCapability
Available ArcGIS REST service capabilities.
Definition qgis.h:4775
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:818
VolumeUnit
Units of volume.
Definition qgis.h:5566
CurvedTextFlag
Flags controlling behavior of curved text generation.
Definition qgis.h:3172
AttributeEditorType
Attribute editor types.
Definition qgis.h:6101
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
Definition qgis.h:5036
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
Definition qgis.h:6077
EmbeddedScriptMode
Authorisation to run script embedded in projects.
Definition qgis.h:448
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
Definition qgis.h:962
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:2386
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition qgis.h:915
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3897
MapGridFrameStyle
Style for map grid frames.
Definition qgis.h:5934
PointCloudAccessType
The access type of the data, local is for local files and remote for remote files (over HTTP).
Definition qgis.h:6775
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:4613
MeshElevationMode
Mesh layer elevation modes.
Definition qgis.h:4233
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:4668
SnappingMode
SnappingMode defines on which layer the snapping is performed.
Definition qgis.h:778
SymbolType
Symbol types.
Definition qgis.h:651
RasterColorInterpretation
Raster color interpretation.
Definition qgis.h:5163
static const int USER_CRS_START_ID
Minimum ID number for a user-defined projection.
Definition qgis.h:6994
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:4561
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:3054
Q_ENUM(ProcessingAlgorithmFlag)
static int geosVersionMinor()
GEOS Minor version number linked.
Definition qgis.cpp:761
MaterialRenderingTechnique
Material rendering techniques.
Definition qgis.h:4388
ColorModel
Color model types.
Definition qgis.h:6687
RendererUsage
Usage of the renderer.
Definition qgis.h:3640
SettingsTreeNodeOption
Options for named list nodes.
Definition qgis.h:707
BabelFormatCapability
Babel GPS format capabilities.
Definition qgis.h:2128
PostgresRelKind
Postgres database relkind options.
Definition qgis.h:6019
SegmentCalculationMethod
brief Method used to calculate the number of segments for circle approximation
Definition qgis.h:6798
GpsConnectionType
GPS connection types.
Definition qgis.h:1994
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
Definition qgis.h:6048
MouseHandlesAction
Action to be performed by the mouse handles.
Definition qgis.h:6725
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
Definition qgis.h:3882
QFlags< TextComponent > TextComponents
Text components.
Definition qgis.h:3113
static QString geoNone()
Constant that holds the string representation for "No ellipse/No CRS".
Definition qgis.h:7095
DevToolsNodeRole
Dev tools node custom data roles.
Definition qgis.h:6842
LoadStyleFlag
Flags for loading layer styles.
Definition qgis.h:252
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:4246
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
Definition qgis.h:6230
SymbolConverterCapability
Symbol converter capabilities.
Definition qgis.h:827
MetadataDateType
Date types for metadata.
Definition qgis.h:5144
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
Definition qgis.h:2836
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3908
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:5283
MapGridAnnotationDirection
Direction of grid annotations.
Definition qgis.h:5878
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:3124
SymbolFlag
Flags controlling behavior of symbols.
Definition qgis.h:909
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition qgis.h:4259
HttpMethod
Different methods of HTTP requests.
Definition qgis.h:1118
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:294
QFlags< SldExportOption > SldExportOptions
Definition qgis.h:743
SymbolCoordinateReference
Symbol coordinate reference modes.
Definition qgis.h:3402
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3767
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:6306
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
Definition qgis.h:6553
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1892
InputControllerType
Input controller types.
Definition qgis.h:6007
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:3602
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1919
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:2501
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:4045
static int geosVersionInt()
GEOS version number linked.
Definition qgis.cpp:750
QFlags< MarkerLinePlacement > MarkerLinePlacements
Definition qgis.h:3335
QFlags< MapCanvasFlag > MapCanvasFlags
Flags controlling behavior of map canvases.
Definition qgis.h:3663
CrsWktVariant
Coordinate reference system WKT formatting variants.
Definition qgis.h:2581
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:6363
MapGridAnnotationFormat
Format for displaying map grid annotations.
Definition qgis.h:5897
DocumentationApi
Documentation API.
Definition qgis.h:6699
AutoRefreshMode
Map layer automatic refresh modes.
Definition qgis.h:2444
AnnotationPlacementMode
Annotation item placement modes.
Definition qgis.h:2650
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3778
QFlags< InstancedMaterialFlag > InstancedMaterialFlags
Definition qgis.h:4411
SceneMode
The 3D scene mode used in 3D map views.
Definition qgis.h:4503
InstancedMaterialFlag
Optional per-instance properties of instanced materials.
Definition qgis.h:4406
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1855
SettingsOrigin
The setting origin describes where a setting is stored.
Definition qgis.h:4876
HorizontalAnchorPoint
Marker symbol horizontal anchor points.
Definition qgis.h:862
QFlags< CurvedTextFlag > CurvedTextFlags
Flags controlling behavior of curved text generation.
Definition qgis.h:3185
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3960
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:1248
static const double UI_SCALE_FACTOR
UI scaling factor.
Definition qgis.h:6979
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:6207
QFlags< LayerFilter > LayerFilters
Definition qgis.h:243
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:4032
DockableWidgetInitialState
Dockable widget initial states.
Definition qgis.h:6907
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:2857
TextComponent
Text components.
Definition qgis.h:3100
DateTimeStatistic
Available date/time statistics.
Definition qgis.h:6537
AnimationState
Animation states.
Definition qgis.h:2720
TransformDirection
Indicates the direction (forward or inverse) of a transform.
Definition qgis.h:2845
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:4450
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3920
QFlags< HistoryProviderBackend > HistoryProviderBackends
Definition qgis.h:3703
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition qgis.h:1322
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1870
UpsideDownLabelHandling
Handling techniques for upside down labels.
Definition qgis.h:1443
static const double DEFAULT_POINT_SIZE
The default size (in millimeters) for point marker symbols.
Definition qgis.h:6997
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:2008
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:4000
MapSettingsFlag
Flags which adjust the way maps are rendered.
Definition qgis.h:2892
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
Definition qgis.h:1180
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
Definition qgis.h:3852
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1905
LayoutRenderFlag
Flags for controlling how a layout is rendered.
Definition qgis.h:5688
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:7241
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:7255
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:7247
Abstract base class for simple marker symbol layers.
Stores configuration of snapping settings for the project.
Calculator for summary statistics for a list of doubles.
Calculator for summary statistics and aggregates for a list of strings.
Utility functions for working with strings.
Contains utility functions for working with symbols and symbol layers.
Abstract base class for all rendered symbols.
Definition qgssymbol.h:227
Base class for templated line symbols, e.g.
Implements a temporal controller based on a frame by frame navigation and animation.
Container for all settings relating to text rendering.
Utility functions for text rendering.
Handles rendering text using rich formatting options, including drop shadows, buffers and background ...
Provides calculations for tolerance values in map units.
Helper functions for various unit types.
Implementation of data provider temporal properties for QgsVectorDataProviders.
Base class for vector data providers.
A convenience class for writing vector layers to disk based formats (e.g.
A convenience class for exporting vector layers to a destination data provider.
Implementation of map layer temporal properties for vector layers.
Represents a vector layer which manages a vector based dataset.
Contains settings for simplifying geometries fetched from a vector layer.
Handles storage of information regarding WKB types and their properties.
Definition qgswkbtypes.h:42
FeatureCountState
Enumeration of feature count states.
Definition qgis.h:586
CreateLayerActionOnExisting
Actions to take when attempting to create a layer on an existing datasource.
Definition qgis.h:573
As part of the API refactoring and improvements which landed in QGIS
Q_DECL_DEPRECATED const long GEOCRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system in QGIS internal srs database.
Definition qgis.h:7941
Q_DECL_DEPRECATED CORE_EXPORT QString qgsVsiPrefix(const QString &path)
Returns a the vsi prefix which corresponds to a file path, or an empty string if the path is not asso...
Definition qgis.cpp:606
bool operator>(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is greater than the second.
Definition qgis.h:7855
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:7934
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:7636
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:7288
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:7506
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:7617
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:7675
CORE_EXPORT size_t qHash(const QVariant &variant)
Hash for QVariant.
Definition qgis.cpp:611
QString qgsMapJoinKeys(const QMap< Key, Value > &map, const QString &separator)
Joins all the map keys into a single string with each element separated by the given separator.
Definition qgis.h:7490
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:7704
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:7960
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:7600
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference).
Definition qgis.h:7446
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:7522
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:7583
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:7475
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference).
Definition qgis.h:7381
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:7333
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:7275
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:7950
Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system.
Definition qgis.h:7948
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:7452
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:7353
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:7421
#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:7394
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:7871
#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