QGIS API Documentation 4.1.0-Master (659fe69c07c)
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 Uncounted = -2,
575 UnknownCount = -1,
576 };
577 Q_ENUM( FeatureCountState )
578
579
586 {
587 Unknown SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexUnknown ) = 0,
588 NotPresent SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexNotPresent ) = 1,
589 Present SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexPresent ) = 2,
590 };
591 Q_ENUM( SpatialIndexPresence )
592
593
605 {
606 NoFeaturesAvailable = 0,
607 FeaturesAvailable,
608 FeaturesMaybeAvailable
609 };
610 Q_ENUM( FeatureAvailability )
611
612
618 {
619 EditAlias = 1 << 0,
620 EditComment = 1 << 1,
621 };
622
623 Q_ENUM( VectorDataProviderAttributeEditCapability )
624
625
632
638 {
639 Marker,
640 Line,
641 Fill,
642 Hybrid
643 };
644 Q_ENUM( SymbolType )
645
646
652 {
653 ScaleArea,
654 ScaleDiameter
655 };
656 Q_ENUM( ScaleMethod )
657
658
663 {
664 Custom,
665 Variant,
666 String,
667 StringList,
668 VariantMap,
669 Bool,
670 Integer,
671 Double,
672 EnumFlag,
673 Color
674 };
675 Q_ENUM( SettingsType )
676
677
682 {
683 Root,
684 Standard,
685 NamedList,
686 };
687 Q_ENUM( SettingsTreeNodeType )
688
689
693 enum class SettingsTreeNodeOption : int SIP_ENUM_BASETYPE( IntFlag )
694 {
695 NamedListSelectedItemSetting = 1 << 0,
696 };
697
698 Q_ENUM( SettingsTreeNodeOption )
701
710 {
711 Invalid SIP_MONKEYPATCH_COMPAT_NAME( InvalidProperty ),
712 Static SIP_MONKEYPATCH_COMPAT_NAME( StaticProperty ),
713 Field SIP_MONKEYPATCH_COMPAT_NAME( FieldBasedProperty ),
714 Expression SIP_MONKEYPATCH_COMPAT_NAME( ExpressionBasedProperty ),
715 };
716 Q_ENUM( PropertyType )
717
718
723 enum class SldExportOption : int SIP_ENUM_BASETYPE( IntFlag )
724 {
725 NoOptions = 0,
726 Svg = 1 << 0,
727 Png = 1 << 1,
728 };
729 Q_ENUM( SldExportOption )
731 Q_FLAG( SldExportOptions )
732
738 enum class SldExportVendorExtension : int SIP_ENUM_BASETYPE( IntFlag )
739 {
740 NoVendorExtension = 0,
741 GeoServerVendorExtension = 1 << 1,
742 DeegreeVendorExtension = 1 << 2,
743 };
744 Q_ENUM( SldExportVendorExtension )
745
746
747
751 enum class SettingsOption : int SIP_ENUM_BASETYPE( IntFlag )
752 {
753 SaveFormerValue = 1 << 1,
754 SaveEnumFlagAsInt = 1 << 2,
755 };
756 Q_ENUM( SettingsOption )
757 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
758 Q_FLAG( SettingsOptions )
759
765 {
766 ActiveLayer = 1,
767 AllLayers = 2,
768 AdvancedConfiguration = 3,
769 };
770 Q_ENUM( SnappingMode )
771
772
777 {
778 NoSnap SIP_MONKEYPATCH_COMPAT_NAME( NoSnapFlag ) = 0,
779 Vertex SIP_MONKEYPATCH_COMPAT_NAME( VertexFlag ) = 1 << 0,
780 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentFlag ) = 1 << 1,
781 Area SIP_MONKEYPATCH_COMPAT_NAME( AreaFlag ) = 1 << 2,
782 Centroid SIP_MONKEYPATCH_COMPAT_NAME( CentroidFlag ) = 1 << 3,
783 MiddleOfSegment SIP_MONKEYPATCH_COMPAT_NAME( MiddleOfSegmentFlag ) = 1 << 4,
784 LineEndpoint SIP_MONKEYPATCH_COMPAT_NAME( LineEndpointFlag ) = 1 << 5,
785 };
786 Q_ENUM( SnappingType )
789 Q_FLAG( SnappingTypes )
790
797 {
798 DynamicRotation = 1 << 1,
799 IsSymbolLayerSubSymbol = 1 << 2,
800 ForceVectorRendering = 1 << 3,
801 ExcludeSymbolBuffers = 1 << 4,
802 };
803 Q_ENUM( SymbolRenderHint )
806 Q_FLAG( SymbolRenderHints )
807
814 {
815 ReadSymbol = 1 << 0,
816 WriteSymbol = 1 << 1,
817 };
818
819 Q_ENUM( SymbolConverterCapability )
820
821
828
834 enum class SymbolRotationMode : int
835 {
836 RespectMapRotation,
837 IgnoreMapRotation,
838 };
839 Q_ENUM( SymbolRotationMode )
840
841
842
854 Q_ENUM( HorizontalAnchorPoint )
855
856
869 Q_ENUM( VerticalAnchorPoint )
870
871
876 enum class FeatureRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
877 {
878 AffectsLabeling = 1 << 0,
879 };
880 Q_ENUM( FeatureRendererFlag )
881
882
888 Q_FLAG( FeatureRendererFlags )
889
895 enum class SymbolFlag : int SIP_ENUM_BASETYPE( IntFlag )
896 {
897 RendererShouldUseSymbolLevels = 1 << 0,
898 AffectsLabeling = 1 << 1,
899 };
900 Q_ENUM( SymbolFlag )
902 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
903 Q_FLAG( SymbolFlags )
904
911 {
912 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
913 };
914 Q_ENUM( SymbolPreviewFlag )
917 Q_FLAG( SymbolPreviewFlags )
918
928 enum class SymbolLayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
929 {
930 DisableFeatureClipping = 1 << 0,
931 CanCalculateMaskGeometryPerFeature = 1 << 1,
932 AffectsLabeling = 1 << 2,
933 };
934 Q_ENUM( SymbolLayerFlag )
937 Q_FLAG( SymbolLayerFlags )
938
948 enum class SymbolLayerUserFlag : int SIP_ENUM_BASETYPE( IntFlag )
949 {
950 DisableSelectionRecoloring = 1 << 0,
951 };
952 Q_ENUM( SymbolLayerUserFlag )
953
954
960 Q_FLAG( SymbolLayerUserFlags )
961
968 {
969 Collection,
970 Directory,
971 Layer,
972 Error,
973 Favorites,
974 Project,
975 Custom,
976 Fields,
977 Field,
978 };
979 Q_ENUM( BrowserItemType )
980
981
987 {
988 NotPopulated,
989 Populating,
990 Populated,
991 };
992 Q_ENUM( BrowserItemState )
993
994
1000 {
1001 NoCapabilities = 0,
1002 SetCrs = 1 << 0,
1003 Fertile = 1 << 1,
1004 Fast = 1 << 2,
1005 Collapse = 1 << 3,
1006 Rename = 1 << 4,
1007 Delete = 1 << 5,
1008 ItemRepresentsFile = 1 << 6,
1009 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
1010 ReadOnly = 1 << 8,
1011 };
1012 Q_ENUM( BrowserItemCapability )
1015 Q_FLAG( BrowserItemCapabilities )
1016
1022 enum class BrowserItemFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
1023 {
1024 HideWhenNotFilteringByLayerType = 1 << 0,
1025 };
1026 Q_ENUM( BrowserItemFilterFlag )
1027
1028
1034 Q_FLAG( BrowserItemFilterFlags )
1035
1044 {
1045 NoCapabilities SIP_MONKEYPATCH_COMPAT_NAME( NoDataCapabilities ) = 0,
1047 Directories SIP_MONKEYPATCH_COMPAT_NAME( Dir ) = 1 << 1,
1048 Databases SIP_MONKEYPATCH_COMPAT_NAME( Database ) = 1 << 2,
1049 NetworkSources SIP_MONKEYPATCH_COMPAT_NAME( Net ) = 1 << 3,
1050 };
1051 Q_ENUM( DataItemProviderCapability )
1052
1053
1062
1069 {
1070 NoType,
1071 Vector,
1072 Raster,
1073 Point,
1074 Line,
1075 Polygon,
1076 TableLayer,
1077 Database,
1078 Table,
1079 Plugin,
1080 Mesh,
1081 VectorTile,
1082 PointCloud,
1083 TiledScene,
1084 };
1085 Q_ENUM( BrowserLayerType )
1086
1087
1093 {
1094 Default,
1095 NeverMonitor,
1096 AlwaysMonitor,
1097 };
1098 Q_ENUM( BrowserDirectoryMonitoring )
1099
1100
1104 enum class HttpMethod : int
1105 {
1106 Get = 0,
1107 Post = 1,
1108 Head,
1109 Put,
1110 Delete,
1111 };
1112 Q_ENUM( HttpMethod )
1113
1114
1120 {
1122 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
1123 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
1124 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
1125 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
1126 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
1127 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
1128 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
1129 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
1130 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
1131 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
1132 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
1133 };
1134 Q_ENUM( VectorExportResult )
1135
1136
1141 {
1142 FieldAliases = 1 << 0,
1143 FieldComments = 1 << 2,
1144 };
1145 Q_ENUM( VectorFileWriterCapability )
1146
1147
1153
1159 {
1160 SubsetStringFilter = 1 << 1,
1161 GeometryColumn = 1 << 2,
1162 PrimaryKeys = 1 << 3,
1163 UnstableFeatureIds = 1 << 4
1164 };
1165 Q_ENUM( SqlLayerDefinitionCapability )
1169
1175 enum class SqlKeywordCategory : int
1176 {
1177 Keyword,
1178 Constant,
1179 Function,
1180 Geospatial,
1181 Operator,
1182 Math,
1184 String,
1185 Identifier
1186 };
1187 Q_ENUM( SqlKeywordCategory )
1188
1189
1193 enum class DriveType : int
1194 {
1195 Unknown,
1196 Invalid,
1197 Removable,
1198 Fixed,
1199 Remote,
1200 CdRom,
1201 RamDisk,
1202 Cloud,
1203 };
1204 Q_ENUM( DriveType )
1205
1206
1211 {
1212 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
1213 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
1214 };
1215 Q_ENUM( ActionStart )
1216
1217
1223 {
1224 FollowEngineSetting,
1225 NeverShow,
1226 };
1227 Q_ENUM( UnplacedLabelVisibility )
1228
1229
1234 enum class LabelOverlapHandling : int
1235 {
1236 PreventOverlap,
1237 AllowOverlapIfRequired,
1238 AllowOverlapAtNoCost,
1239 };
1240 Q_ENUM( LabelOverlapHandling )
1241
1242
1248 {
1249 TreatWhitespaceAsCollision,
1250 IgnoreWhitespaceCollisions,
1251 };
1252 Q_ENUM( LabelWhitespaceCollisionHandling )
1253
1254
1259 enum class LabelPrioritization : int
1260 {
1261 PreferCloser,
1262 PreferPositionOrdering,
1263 };
1264 Q_ENUM( LabelPrioritization )
1265
1266
1274 {
1275 AroundPoint,
1276 OverPoint,
1277 Line,
1278 Curved,
1279 Horizontal,
1280 Free,
1281 OrderedPositionsAroundPoint,
1282 PerimeterCurved,
1283 OutsidePolygons,
1284 };
1285 Q_ENUM( LabelPlacement )
1286
1287
1292 enum class CurvedLabelMode : int
1293 {
1294 Default,
1295 PlaceCharactersAtVertices,
1296 StretchCharacterSpacingToFitLine,
1297 StretchWordSpacingToFitLine,
1298 };
1299 Q_ENUM( CurvedLabelMode )
1300
1301
1309 {
1310 TopLeft,
1311 TopSlightlyLeft,
1312 TopMiddle,
1313 TopSlightlyRight,
1314 TopRight,
1315 MiddleLeft,
1316 MiddleRight,
1317 BottomLeft,
1318 BottomSlightlyLeft,
1319 BottomMiddle,
1320 BottomSlightlyRight,
1321 BottomRight,
1322 OverPoint,
1323 };
1324 Q_ENUM( LabelPredefinedPointPosition )
1325
1326
1332 {
1333 LabelLargestPartOnly,
1334 LabelEveryPartWithEntireLabel,
1335 SplitLabelTextLinesOverParts,
1336 };
1337 Q_ENUM( MultiPartLabelingBehavior )
1338
1339
1348 {
1349 FromPoint,
1350 FromSymbolBounds,
1351 };
1352 Q_ENUM( LabelOffsetType )
1353
1354
1362 {
1363 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
1364 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
1365 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
1367 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
1369 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
1370 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
1371 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
1372 };
1373 Q_ENUM( LabelQuadrantPosition )
1374
1375
1382 {
1383 OnLine = 1,
1384 AboveLine = 2,
1385 BelowLine = 4,
1386 MapOrientation = 8,
1387 };
1388 Q_ENUM( LabelLinePlacementFlag )
1389
1390
1398 Q_FLAG( LabelLinePlacementFlags )
1399
1407 {
1408 AllowPlacementOutsideOfPolygon = 1 << 0,
1409 AllowPlacementInsideOfPolygon = 1 << 1,
1410 };
1411 Q_ENUM( LabelPolygonPlacementFlag )
1412
1413
1421
1430 {
1431 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
1432 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
1433 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
1434 };
1435 Q_ENUM( UpsideDownLabelHandling )
1436
1437
1445 {
1447 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
1449 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
1450 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
1451 };
1452 Q_ENUM( LabelMultiLineAlignment )
1453
1454
1461 {
1462 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
1463 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1464 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1465 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1466 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1467 VectorTile,
1468 TiledScene,
1469 };
1470 Q_ENUM( FileFilterType )
1471
1472
1477 enum class UriCleaningFlag : int SIP_ENUM_BASETYPE( IntFlag )
1478 {
1479 RemoveCredentials = 1 << 0,
1480 RedactCredentials = 1 << 1,
1481 };
1482 Q_ENUM( UriCleaningFlag )
1483
1484
1490 Q_FLAG( UriCleaningFlags )
1491
1497 enum class SourceHierarchyLevel : int
1498 {
1499 Connection,
1500 Group,
1501 Object,
1502 };
1503 Q_ENUM( SourceHierarchyLevel )
1504
1505
1510 enum class SublayerQueryFlag : int SIP_ENUM_BASETYPE( IntFlag )
1511 {
1512 FastScan = 1 << 0,
1513 ResolveGeometryType = 1 << 1,
1514 CountFeatures = 1 << 2,
1515 IncludeSystemTables = 1 << 3,
1516 OpenLayersToResolveDescriptions = 1 << 4,
1517 };
1518
1521 Q_FLAG( SublayerQueryFlags )
1522
1523
1528 enum class SublayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
1529 {
1530 SystemTable = 1 << 0,
1531 };
1532
1533 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1535 Q_FLAG( SublayerFlags )
1536
1537
1545 {
1546 Linear SIP_MONKEYPATCH_COMPAT_NAME( Interpolated ) = 0,
1547 Discrete = 1,
1548 Exact = 2,
1549 };
1550 Q_ENUM( ShaderInterpolationMethod )
1551
1552
1560 {
1561 Continuous = 1,
1562 EqualInterval = 2,
1563 Quantile = 3,
1564 };
1565 Q_ENUM( ShaderClassificationMethod )
1566
1567
1573 {
1574 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1575 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1576 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1577 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1578 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1579 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1580 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1581 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1582 };
1583 Q_ENUM( RasterPipeInterfaceRole )
1584
1585
1590 {
1591 ResampleFilter,
1592 Provider,
1593 };
1594 Q_ENUM( RasterResamplingStage )
1595
1596
1604 {
1605 Nearest,
1606 Bilinear,
1607 Cubic,
1608 CubicSpline,
1609 Lanczos,
1610 Average,
1611 Mode,
1612 Gauss
1613 };
1614 Q_ENUM( RasterResamplingMethod )
1615
1616
1621 enum class RasterRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
1622 {
1623 InternalLayerOpacityHandling = 1 << 0,
1624 UseNoDataForOutOfRangePixels
1625 = 1 << 1,
1626 };
1627
1634
1636 Q_FLAG( RasterRendererFlags )
1637
1638
1644 {
1645 UsesMultipleBands = 1 << 0,
1646 };
1647 Q_ENUM( RasterRendererCapability )
1648
1649
1656
1665 {
1667 MinimumMaximum SIP_MONKEYPATCH_COMPAT_NAME( MinMax ),
1668 StdDev,
1669 CumulativeCut
1670 };
1671 Q_ENUM( RasterRangeLimit )
1672
1673
1681 {
1682 WholeRaster SIP_MONKEYPATCH_COMPAT_NAME( None_ ),
1683 FixedCanvas SIP_MONKEYPATCH_COMPAT_NAME( CurrentCanvas ),
1684 UpdatedCanvas,
1685 };
1686 Q_ENUM( RasterRangeExtent )
1687
1688
1696 {
1697 Exact,
1698 Estimated,
1699 };
1700 Q_ENUM( RasterRangeAccuracy )
1701
1702
1708 {
1709 Generic = 0,
1710 PixelCount = 1,
1711 Name = 2,
1712 Min = 3,
1713 Max = 4,
1714 MinMax = 5,
1715 Red = 6,
1716 Green = 7,
1717 Blue = 8,
1718 Alpha = 9,
1719 RedMin = 10,
1720 GreenMin = 11,
1721 BlueMin = 12,
1722 AlphaMin = 13,
1723 RedMax = 14,
1724 GreenMax = 15,
1725 BlueMax = 16,
1726 AlphaMax = 17,
1727 MaxCount
1728 };
1729 Q_ENUM( RasterAttributeTableFieldUsage )
1730
1731
1737 {
1738 Thematic = 0,
1739 Athematic = 1
1740 };
1741 Q_ENUM( RasterAttributeTableType )
1742
1743
1750 {
1751 Raw = 0,
1752 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1753 };
1754 Q_ENUM( RasterExportType )
1755
1756
1763 {
1765 SourceProviderError = 1,
1766 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1767 CreateDatasourceError = 3,
1768 WriteError = 4,
1769 NoDataConflict = 5,
1770 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1771 };
1772 Q_ENUM( RasterFileWriterResult )
1773
1774
1779 enum class MeshEditingErrorType : int
1780 {
1781 NoError,
1782 InvalidFace,
1783 TooManyVerticesInFace,
1784 FlatFace,
1785 UniqueSharedVertex,
1786 InvalidVertex,
1787 ManifoldFace,
1788 };
1789 Q_ENUM( MeshEditingErrorType )
1790
1791
1796 enum class FilePathType : int
1797 {
1798 Absolute,
1799 Relative,
1800 };
1801 Q_ENUM( FilePathType )
1802
1803
1808 enum class SublayerPromptMode : int
1809 {
1810 AlwaysAsk,
1811 AskExcludingRasterBands,
1812 NeverAskSkip,
1813 NeverAskLoadAll,
1814 };
1815 Q_ENUM( SublayerPromptMode )
1816
1817
1825 {
1826 Unknown SIP_MONKEYPATCH_COMPAT_NAME( OriginUnknown ),
1827 Provider SIP_MONKEYPATCH_COMPAT_NAME( OriginProvider ),
1828 Join SIP_MONKEYPATCH_COMPAT_NAME( OriginJoin ),
1829 Edit SIP_MONKEYPATCH_COMPAT_NAME( OriginEdit ),
1830 Expression SIP_MONKEYPATCH_COMPAT_NAME( OriginExpression )
1831 };
1832 Q_ENUM( FieldOrigin )
1833
1834
1841 enum class FieldConfigurationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1842 {
1843 NoFlag = 0,
1844 NotSearchable = 1 << 1,
1845 HideFromWms = 1 << 2,
1846 HideFromWfs = 1 << 3,
1847 };
1848 Q_ENUM( FieldConfigurationFlag )
1849
1850
1858 Q_FLAG( FieldConfigurationFlags )
1859
1865 enum class FieldMetadataProperty : int
1866 {
1867 GeometryCrs = 0x1000,
1868 GeometryWkbType = 0x1001,
1869 CustomProperty = 0x100000,
1870 };
1871 Q_ENUM( FieldMetadataProperty )
1872
1873
1878 enum class SelectionRenderingMode : int
1879 {
1880 Default,
1881 CustomColor,
1882 CustomSymbol,
1883 };
1884 Q_ENUM( SelectionRenderingMode )
1885
1886
1892 {
1893 SetSelection,
1894 AddToSelection,
1895 IntersectSelection,
1896 RemoveFromSelection,
1897 };
1898 Q_ENUM( SelectBehavior )
1899
1900
1906 {
1907 Intersect,
1908 Within,
1909 };
1910 Q_ENUM( SelectGeometryRelationship )
1911
1912
1917 enum class SelectionFlag : int SIP_ENUM_BASETYPE( IntFlag )
1918 {
1919 SingleFeatureSelection = 1 << 0,
1920 ToggleSelection = 1 << 1,
1921 };
1922
1928 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1929
1931 Q_FLAG( SelectionFlags )
1932
1933
1939 {
1941 EmptyGeometry = 1,
1942 EditFailed = 2,
1943 FetchFeatureFailed = 3,
1944 InvalidLayer = 4,
1945 };
1946 Q_ENUM( VectorEditResult )
1947
1948
1954 {
1955 SemiTransparentCircle,
1956 Cross,
1957 NoMarker,
1958 };
1959 Q_ENUM( VertexMarkerType )
1960
1961
1965 enum class ContentStatus : int
1966 {
1967 NotStarted,
1968 Running,
1969 Finished,
1970 Failed,
1971 Canceled,
1972 };
1973 Q_ENUM( ContentStatus )
1974
1975
1980 enum class GpsConnectionType : int
1981 {
1982 Automatic,
1983 Internal,
1984 Serial,
1985 Gpsd,
1986 };
1987 Q_ENUM( GpsConnectionType )
1988
1989
1994 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
1995 {
1996 Disconnected,
1997 Connecting,
1998 Connected,
1999 };
2000 Q_ENUM( DeviceConnectionStatus )
2001
2002
2010 {
2011 NoData,
2012 NoFix,
2013 Fix2D,
2014 Fix3D
2015 };
2017
2018
2025 {
2026 Unknown,
2027 Gps,
2028 Glonass,
2029 Galileo,
2030 BeiDou,
2031 Qzss,
2032 Navic,
2033 Sbas,
2034 };
2036
2043 {
2044 Unknown = -1,
2045 Invalid,
2046 GPS,
2047 DGPS,
2048 PPS,
2049 RTK,
2050 FloatRTK,
2051 Estimated,
2052 Manual,
2053 Simulation,
2054 };
2055 Q_ENUM( GpsQualityIndicator )
2056
2057
2062 enum class GpsNavigationStatus : int
2063 {
2064 NotValid,
2065 Safe,
2066 Caution,
2067 Unsafe,
2068 };
2070
2076 enum class GpsInformationComponent : int SIP_ENUM_BASETYPE( IntFlag )
2077 {
2078 Location = 1 << 0,
2079 Altitude = 1 << 1,
2080 GroundSpeed = 1 << 2,
2081 Bearing = 1 << 3,
2082 TotalTrackLength = 1 << 4,
2083 TrackDistanceFromStart = 1 << 5,
2084 Pdop = 1 << 6,
2085 Hdop = 1 << 7,
2086 Vdop = 1 << 8,
2087 HorizontalAccuracy = 1 << 9,
2088 VerticalAccuracy = 1 << 10,
2089 HvAccuracy = 1 << 11,
2090 SatellitesUsed = 1 << 12,
2091 Timestamp = 1 << 13,
2092 TrackStartTime = 1 << 14,
2093 TrackEndTime = 1 << 15,
2094 TrackDistanceSinceLastPoint = 1 << 16,
2095 TrackTimeSinceLastPoint = 1 << 17,
2096 GeoidalSeparation = 1 << 18,
2097 EllipsoidAltitude = 1 << 19,
2098 };
2099
2107 Q_FLAG( GpsInformationComponents )
2108
2109
2114 enum class BabelFormatCapability : int SIP_ENUM_BASETYPE( IntFlag )
2115 {
2116 Import = 1 << 0,
2117 Export = 1 << 1,
2118 Waypoints = 1 << 2,
2119 Routes = 1 << 3,
2120 Tracks = 1 << 4,
2121 };
2122
2125 Q_FLAG( BabelFormatCapabilities )
2126
2127
2133 enum class BabelCommandFlag : int SIP_ENUM_BASETYPE( IntFlag )
2134 {
2135 QuoteFilePaths = 1 << 0,
2136 };
2137
2140 Q_FLAG( BabelCommandFlags )
2141
2142
2147 enum class GpsFeatureType : int
2148 {
2149 Waypoint,
2150 Route,
2151 Track,
2152 };
2153 Q_ENUM( GpsFeatureType )
2154
2155
2163 {
2165 NothingHappened = 1000,
2166 InvalidBaseGeometry,
2167 InvalidInputGeometryType,
2168 SelectionIsEmpty,
2169 SelectionIsGreaterThanOne,
2170 GeometryEngineError,
2171 LayerNotEditable,
2172 // Add part issues
2173 AddPartSelectedGeometryNotFound,
2174 AddPartNotMultiGeometry,
2175 // Add ring issues
2176 AddRingNotClosed,
2177 AddRingNotValid,
2178 AddRingCrossesExistingRings,
2179 AddRingNotInExistingFeature,
2180 // Split features
2181 SplitCannotSplitPoint,
2182 GeometryTypeHasChanged,
2183 };
2184 Q_ENUM( GeometryOperationResult )
2185
2186
2192 {
2193 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles )
2194 = 1 << 0,
2195 };
2196
2199 Q_FLAG( GeometryValidityFlags )
2200
2201
2206 {
2207 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
2208 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
2209 };
2210 Q_ENUM( GeometryValidationEngine )
2211
2212
2222 Q_ENUM( BufferSide )
2223
2224
2235 Q_ENUM( EndCapStyle )
2236
2237
2243 {
2244 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
2245 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
2246 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
2247 };
2248 Q_ENUM( JoinStyle )
2249
2250
2255 enum class JoinStyle3D : int
2256 {
2257 Round = 1,
2258 Flat,
2259 CylindersAndSpheres,
2260 };
2261 Q_ENUM( JoinStyle3D )
2262
2263
2268 enum class GeometryBackend : int
2269 {
2270 QGIS = 1,
2271 GEOS,
2272 };
2273 Q_ENUM( GeometryBackend )
2274
2275
2280 enum class GeosCreationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2281 {
2282 RejectOnInvalidSubGeometry = 1 << 0,
2283 SkipEmptyInteriorRings = 1 << 1,
2284 };
2285 Q_ENUM( GeosCreationFlag )
2286
2287
2293 Q_FLAG( GeosCreationFlags )
2294
2300 enum class CoverageValidityResult : int
2301 {
2302 Invalid = 0,
2303 Valid = 1,
2304 Error = 2,
2305 };
2306 Q_ENUM( CoverageValidityResult )
2307
2308
2313 enum class MakeValidMethod : int
2314 {
2315 Linework = 0,
2316 Structure = 1,
2317 };
2318 Q_ENUM( MakeValidMethod )
2319
2320
2328 {
2329 NoFlags = 0,
2330 NoGeometry = 1,
2331 SubsetOfAttributes = 2,
2332 ExactIntersect = 4,
2333 IgnoreStaticNodesDuringExpressionCompilation
2334 = 8,
2335 EmbeddedSymbols = 16,
2336 };
2337 Q_ENUM( FeatureRequestFlag )
2338
2339
2347 Q_FLAG( FeatureRequestFlags )
2348
2357 {
2358 NoFilter SIP_MONKEYPATCH_COMPAT_NAME( FilterNone ),
2360 Expression SIP_MONKEYPATCH_COMPAT_NAME( FilterExpression ),
2362 };
2363 Q_ENUM( FeatureRequestFilterType )
2364
2365
2373 {
2374 NoCheck SIP_MONKEYPATCH_COMPAT_NAME( GeometryNoCheck ) = 0,
2375 SkipInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometrySkipInvalid ) = 1,
2376 AbortOnInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometryAbortOnInvalid ) = 2,
2377 };
2378 Q_ENUM( InvalidGeometryCheck )
2379
2380
2385 enum class SpatialFilterType : int
2386 {
2387 NoFilter,
2388 BoundingBox,
2389 DistanceWithin,
2390 };
2391 Q_ENUM( SpatialFilterType )
2392
2393
2398 enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2399 {
2400 IncludeMetadataFile = 1 << 0,
2401 IncludeStyleFile = 1 << 1,
2402 };
2403
2406 Q_FLAG( FileOperationFlags )
2407
2408
2413 enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
2414 {
2415 UsersCannotToggleEditing
2416 = 1 << 0,
2417 IsBasemapLayer = 1 << 1,
2418 Is3DBasemapLayer = 1 << 2,
2419 };
2420
2423 Q_FLAG( MapLayerProperties )
2424
2425
2430 enum class AutoRefreshMode : int
2431 {
2432 Disabled = 0,
2433 ReloadData = 1,
2434 RedrawOnly = 2,
2435 };
2436 Q_ENUM( AutoRefreshMode )
2437
2438
2443 enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
2444 {
2445 IsBasemapSource = 1 << 1,
2446 FastExtent2D = 1 << 2,
2447 FastExtent3D = 1 << 3,
2448 Is3DBasemapSource = 1 << 4,
2449 };
2450
2453 Q_FLAG( DataProviderFlags )
2454
2455
2462 enum class CrsType : int
2463 {
2464 Unknown,
2465 Geodetic,
2466 Geocentric,
2467 Geographic2d,
2468 Geographic3d,
2469 Vertical,
2470 Projected,
2471 Compound,
2472 Temporal,
2473 Engineering,
2474 Bound,
2475 Other,
2476 DerivedProjected,
2477 };
2478 Q_ENUM( CrsType )
2479
2480
2487 enum class CrsAxisDirection : int
2488 {
2489 North,
2490 NorthNorthEast,
2491 NorthEast,
2492 EastNorthEast,
2493 East,
2494 EastSouthEast,
2495 SouthEast,
2496 SouthSouthEast,
2497 South,
2498 SouthSouthWest,
2499 SouthWest,
2500 WestSouthWest,
2501 West,
2502 WestNorthWest,
2503 NorthWest,
2504 NorthNorthWest,
2505 GeocentricX,
2506 GeocentricY,
2507 GeocentricZ,
2510 Forward,
2511 Aft,
2512 Port,
2513 Starboard,
2514 Clockwise,
2515 CounterClockwise,
2516 ColumnPositive,
2517 ColumnNegative,
2518 RowPositive,
2519 RowNegative,
2520 DisplayRight,
2521 DisplayLeft,
2522 DisplayUp,
2523 DisplayDown,
2524 Future,
2525 Past,
2526 Towards,
2527 AwayFrom,
2528 Unspecified,
2529 };
2530 Q_ENUM( CrsAxisDirection )
2531
2532
2537 enum class CoordinateOrder : int
2538 {
2539 Default,
2540 XY,
2541 YX,
2542 };
2543 Q_ENUM( CoordinateOrder )
2544
2545
2553 {
2554 ShortString,
2555 MediumString,
2556 FullString,
2557 };
2558 Q_ENUM( CrsIdentifierType )
2559
2560
2568 {
2570 WKT1_GDAL
2571 ),
2572 Wkt1Esri SIP_MONKEYPATCH_COMPAT_NAME( WKT1_ESRI ),
2573 Wkt2_2015 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015 ),
2574 Wkt2_2015Simplified SIP_MONKEYPATCH_COMPAT_NAME(
2575 WKT2_2015_SIMPLIFIED
2576 ),
2578 WKT2_2019
2579 ),
2580 Wkt2_2019Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019_SIMPLIFIED ),
2581 Preferred SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED ) = Wkt2_2019,
2582 PreferredSimplified SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_SIMPLIFIED )
2583 = Wkt2_2019Simplified,
2584 PreferredGdal SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_GDAL ) = Wkt2_2019,
2585 };
2586 Q_ENUM( CrsWktVariant )
2587
2588
2594 {
2595 NoAction = 0,
2596 PromptUserForCrs = 1,
2597 UseProjectCrs = 2,
2598 UseDefaultCrs = 3,
2599 };
2600 Q_ENUM( UnknownLayerCrsBehavior )
2601
2602
2607 enum class Axis : int
2608 {
2609 X,
2610 Y,
2612 };
2613 Q_ENUM( Axis )
2614
2615
2620 enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
2621 {
2622 ScaleDependentBoundingBox = 1 << 0,
2623 SupportsReferenceScale = 1 << 1,
2624 SupportsCallouts = 1 << 2,
2625 };
2626
2629 Q_FLAG( AnnotationItemFlags )
2630
2631
2637 {
2638 SpatialBounds = 0,
2639 FixedSize,
2640 RelativeToMapFrame,
2641 };
2642 Q_ENUM( AnnotationPlacementMode )
2643
2644
2649 enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
2650 {
2651 FlagNoCreationTools = 1 << 0,
2652 };
2653
2656 Q_FLAG( AnnotationItemGuiFlags )
2657
2658
2663 enum class AnnotationItemNodeType : int
2664 {
2665 VertexHandle,
2666 CalloutHandle,
2667 };
2668 Q_ENUM( AnnotationItemNodeType )
2669
2670
2676 {
2678 Invalid,
2679 ItemCleared,
2680 };
2681 Q_ENUM( AnnotationItemEditOperationResult )
2682
2683
2691 {
2692 Disabled SIP_MONKEYPATCH_COMPAT_NAME( NavigationOff ),
2693 Animated,
2694 FixedRange,
2695 Movie,
2696 };
2697 Q_ENUM( TemporalNavigationMode )
2698
2699
2712 Q_ENUM( AnimationState )
2713
2714
2719 enum class PlaybackOperation : int
2720 {
2721 SkipToStart,
2722 PreviousFrame,
2723 PlayReverse,
2724 Pause,
2725 PlayForward,
2726 NextFrame,
2727 SkipToEnd,
2728 };
2729 Q_ENUM( PlaybackOperation )
2730
2731
2737 {
2738 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2739 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
2740 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
2741 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
2742 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
2744 ModeRedrawLayerOnly
2745 ),
2746 };
2747 Q_ENUM( VectorTemporalMode )
2748
2749
2755 {
2756 IncludeBeginExcludeEnd = 0,
2757 IncludeBeginIncludeEnd,
2758 };
2759 Q_ENUM( VectorTemporalLimitMode )
2760
2761
2767 {
2768 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
2769 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
2770 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2771 };
2772 Q_ENUM( VectorDataProviderTemporalMode )
2773
2774
2780 {
2781 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2782 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
2783 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly )
2784 = 2,
2785 FixedRangePerBand = 3,
2786 RepresentsTemporalValues = 4,
2787 FixedDateTime = 5,
2788 };
2789 Q_ENUM( RasterTemporalMode )
2790
2791
2797 {
2798 MatchUsingWholeRange,
2799 MatchExactUsingStartOfRange,
2800 MatchExactUsingEndOfRange,
2801 FindClosestMatchToStartOfRange,
2802 FindClosestMatchToEndOfRange
2803 };
2804 Q_ENUM( TemporalIntervalMatchMethod )
2805
2806
2812 {
2813 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges
2814 = 1 << 0,
2815 };
2816 Q_ENUM( RasterTemporalCapabilityFlag )
2817
2818
2825
2836 Q_ENUM( TransformDirection )
2837
2838
2844 {
2845 BallparkTransformsAreAppropriate
2846 = 1 << 0,
2847 IgnoreImpossibleTransformations
2848 = 1 << 1,
2849 };
2850 Q_ENUM( CoordinateTransformationFlag )
2851
2852
2859
2866 {
2867 Default,
2868 PreferVector,
2869 ForceVector,
2870 };
2871 Q_ENUM( RasterizedRenderingPolicy )
2872
2873
2879 {
2880 Antialiasing = 0x01,
2881 DrawEditingInfo = 0x02,
2882 ForceVectorOutput = 0x04,
2883 UseAdvancedEffects = 0x08,
2884 DrawLabeling = 0x10,
2885 UseRenderingOptimization = 0x20,
2886 DrawSelection = 0x40,
2887 DrawSymbolBounds = 0x80,
2888 RenderMapTile = 0x100,
2889 RenderPartialOutput = 0x200,
2890 RenderPreviewJob = 0x400,
2891 RenderBlocking = 0x800,
2892 LosslessImageRendering
2893 = 0x1000,
2894 Render3DMap = 0x2000,
2895 HighQualityImageTransforms = 0x4000,
2896 SkipSymbolRendering = 0x8000,
2897 ForceRasterMasks = 0x10000,
2898 RecordProfile = 0x20000,
2899 AlwaysUseGlobalMasks
2900 = 0x40000,
2901 };
2902
2905 Q_FLAG( MapSettingsFlags )
2906
2907
2913 {
2914 DrawEditingInfo = 0x01,
2915 ForceVectorOutput = 0x02,
2916 UseAdvancedEffects = 0x04,
2917 UseRenderingOptimization = 0x08,
2918 DrawSelection = 0x10,
2919 DrawSymbolBounds = 0x20,
2920 RenderMapTile = 0x40,
2921 Antialiasing = 0x80,
2922 RenderPartialOutput = 0x100,
2923 RenderPreviewJob = 0x200,
2924 RenderBlocking = 0x400,
2925 RenderSymbolPreview = 0x800,
2926 LosslessImageRendering = 0x1000,
2927 ApplyScalingWorkaroundForTextRendering = 0x2000,
2928 Render3DMap = 0x4000,
2929 ApplyClipAfterReprojection = 0x8000,
2930 RenderingSubSymbol = 0x10000,
2931 HighQualityImageTransforms = 0x20000,
2932 SkipSymbolRendering = 0x40000,
2933 RecordProfile = 0x80000,
2934 AlwaysUseGlobalMasks = 0x100000,
2935 DisableSymbolClippingToExtent = 0x200000,
2936 RenderLayerTree = 0x400000
2937 };
2938
2941 Q_FLAG( RenderContextFlags )
2942
2943
2948 enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2949 {
2950 RenderPartialOutputs = 1 << 0,
2951 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2952 AffectsLabeling = 1 << 2,
2953 };
2954 Q_ENUM( MapLayerRendererFlag )
2955
2956
2962 Q_FLAG( MapLayerRendererFlags )
2963
2969 enum class PaintEffectFlag : int SIP_ENUM_BASETYPE( IntFlag )
2970 {
2971 RequiresRasterization = 1 << 0,
2972 };
2973 Q_ENUM( PaintEffectFlag )
2974
2975
2981 Q_FLAG( PaintEffectFlags )
2982
2983 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
2984 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
2985
2991 {
2993 TextFormatAlwaysOutlines
2994 ),
2996 TextFormatAlwaysText
2997 ),
2998 PreferText,
2999 };
3000 Q_ENUM( TextRenderFormat )
3001
3002
3010 {
3011 UseAllLabels = 1 << 1,
3012 UsePartialCandidates = 1 << 2,
3013 // TODO QGIS 5.0: remove
3014 RenderOutlineLabels = 1 << 3,
3015 DrawLabelRectOnly = 1 << 4,
3016 DrawCandidates = 1 << 5,
3017 DrawUnplacedLabels = 1 << 6,
3018 CollectUnplacedLabels = 1 << 7,
3019 DrawLabelMetrics = 1 << 8,
3020 };
3021 Q_ENUM( LabelingFlag )
3022
3023
3031 Q_FLAG( LabelingFlags )
3032
3041 {
3042 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
3043 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
3044 };
3045 Q_ENUM( LabelPlacementEngineVersion )
3046
3047
3055 {
3056 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
3057 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
3058 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
3059 };
3060 Q_ENUM( TextOrientation )
3061
3062
3070 {
3072 Point,
3074 RectangleCapHeightBased,
3075 RectangleAscentBased,
3076 };
3077 Q_ENUM( TextLayoutMode )
3078
3079
3087 {
3088 Text = 1 << 0,
3089 Buffer = 1 << 1,
3090 Background = 1 << 2,
3091 Shadow = 1 << 3,
3092 };
3093 Q_ENUM( TextComponent )
3094
3095
3100 Q_DECLARE_FLAGS( TextComponents, TextComponent )
3101 Q_FLAG( TextComponents )
3102
3117 Q_ENUM( TextHorizontalAlignment )
3118
3119
3130 {
3132 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
3133 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
3134 };
3135 Q_ENUM( TextVerticalAlignment )
3136
3137
3146 {
3147 Normal,
3148 SuperScript,
3149 SubScript,
3150 };
3151 Q_ENUM( TextCharacterVerticalAlignment )
3152
3153
3159 {
3160 TruncateStringWhenLineIsTooShort = 1 << 0,
3161 UseBaselinePlacement = 1 << 1,
3162 UprightCharactersOnly = 1 << 2,
3163 ExtendLineToFitText = 1 << 3,
3164 };
3165 Q_ENUM( CurvedTextFlag )
3166
3167
3173
3182 {
3183 Distance = 0,
3184 SnapToGrid = 1,
3185 Visvalingam = 2,
3186 SnappedToGridGlobal = 3,
3187 };
3188 Q_ENUM( VectorSimplificationAlgorithm )
3189
3190
3198 {
3199 NoSimplification = 0,
3200 GeometrySimplification = 1,
3201 AntialiasingSimplification = 2,
3202 FullSimplification = 3,
3203 };
3204 Q_ENUM( VectorRenderingSimplificationFlag )
3205
3206
3215
3222 {
3223 Generic,
3224 ShadowOffset,
3225 BlurSize,
3226 GlowSpread,
3227 };
3228 Q_ENUM( RenderSubcomponentProperty )
3229
3230
3236 {
3237 SymbolLayer,
3238 Label,
3239 };
3240 Q_ENUM( SelectiveMaskSourceType )
3241
3242
3247 {
3248 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
3249 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
3250 ControlPoint SIP_MONKEYPATCH_COMPAT_NAME( ControlPointVertex ) = 3,
3251 };
3252 Q_ENUM( VertexType )
3253
3254
3262 {
3263 Square,
3264 Diamond,
3265 Pentagon,
3266 Hexagon,
3267 Triangle,
3268 EquilateralTriangle,
3269 Star,
3270 Arrow,
3271 Circle,
3272 Cross,
3273 CrossFill,
3274 Cross2,
3275 Line,
3276 ArrowHead,
3277 ArrowHeadFilled,
3278 SemiCircle,
3279 ThirdCircle,
3280 QuarterCircle,
3281 QuarterSquare,
3282 HalfSquare,
3283 DiagonalHalfSquare,
3284 RightHalfTriangle,
3285 LeftHalfTriangle,
3286 Octagon,
3287 SquareWithCorners,
3288 AsteriskFill,
3289 HalfArc,
3290 ThirdArc,
3291 QuarterArc,
3292 ParallelogramRight,
3293 ParallelogramLeft,
3294 Trapezoid,
3295 Shield,
3296 DiamondStar,
3297 Heart,
3298 Decagon,
3299 RoundedSquare,
3300 };
3301 Q_ENUM( MarkerShape )
3302
3303
3311 {
3312 Interval = 1 << 0,
3313 Vertex = 1 << 1,
3314 LastVertex = 1 << 2,
3315 FirstVertex = 1 << 3,
3316 CentralPoint = 1 << 4,
3317 CurvePoint = 1 << 5,
3318 SegmentCenter = 1 << 6,
3319 InnerVertices = 1 << 7,
3320 };
3321 Q_ENUM( MarkerLinePlacement )
3323 Q_FLAG( MarkerLinePlacements )
3324
3331 {
3332 IntervalCartesian2D = 1 << 0,
3333 IntervalZ = 1 << 1,
3334 IntervalM = 1 << 2,
3335 Vertex = 1 << 3,
3336 };
3337 Q_ENUM( LinearReferencingPlacement )
3338
3339
3345 {
3346 CartesianDistance2D,
3347 Z,
3348 M,
3349 };
3350 Q_ENUM( LinearReferencingLabelSource )
3351
3352
3360 {
3361 SimpleTwoColor,
3362 ColorRamp,
3363 };
3364 Q_ENUM( GradientColorSource )
3365
3366
3379 Q_ENUM( GradientType )
3380
3381
3389 {
3390 Feature,
3391 Viewport,
3392 };
3393 Q_ENUM( SymbolCoordinateReference )
3394
3395
3409 Q_ENUM( GradientSpread )
3410
3411
3419 {
3420 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
3421 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
3422 };
3423 Q_ENUM( PointCountMethod )
3424
3425
3430 enum class MarkerClipMode : int
3431 {
3432 NoClipping,
3433 Shape,
3434 CentroidWithin,
3435 CompletelyWithin,
3436 };
3437 Q_ENUM( MarkerClipMode )
3438
3439
3444 enum class LineClipMode : int
3445 {
3446 ClipPainterOnly,
3447 ClipToIntersection,
3448 NoClipping,
3449 };
3450 Q_ENUM( LineClipMode )
3451
3452
3458 {
3459 NoRule,
3460 FullDash,
3461 HalfDash,
3462 FullGap,
3463 HalfGap,
3464 };
3465 Q_ENUM( DashPatternLineEndingRule )
3466
3467
3473 {
3474 ScaleBothDashAndGap,
3475 ScaleDashOnly,
3476 ScaleGapOnly,
3477 };
3478 Q_ENUM( DashPatternSizeAdjustment )
3479
3480
3492 Q_ENUM( GraduatedMethod )
3493
3494
3500 {
3501 NoLabels,
3502 EveryLabel,
3503 FirstLabel,
3504 LastLabel,
3505 FirstAndLastLabels,
3506 };
3507 Q_ENUM( PlotAxisSuffixPlacement )
3508
3509
3510
3515 enum class PlotAxisType
3516 {
3517 Interval,
3518 Categorical,
3519 };
3520 Q_ENUM( PlotAxisType )
3521
3522
3527 enum class PieChartLabelType : int
3528 {
3529 NoLabels,
3530 Categories,
3531 Values,
3532 };
3533 Q_ENUM( PieChartLabelType )
3534
3535
3539 enum class DpiMode
3540 {
3541 All = 7,
3542 Off = 0,
3543 QGIS = 1,
3544 UMN = 2,
3545 GeoServer = 4,
3546 };
3547 Q_ENUM( DpiMode )
3548
3549
3554 {
3555 Undefined = 0,
3556 StandardDpi = 1,
3557 HighDpi = 2,
3558 };
3559 Q_ENUM( TilePixelRatio )
3560
3561 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
3562
3563
3571 {
3572 MixedCase = 0,
3573 AllUppercase = 1,
3574 AllLowercase = 2,
3575 ForceFirstLetterToCapital = 4,
3576 SmallCaps = 5,
3577 TitleCase = 1004,
3578 UpperCamelCase = 1005,
3579 AllSmallCaps = 1006,
3580 };
3581 Q_ENUM( Capitalization )
3582
3583
3588 enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
3589 {
3590 WrapLines = 1 << 0,
3591 };
3592 Q_ENUM( TextRendererFlag )
3594 Q_FLAG( TextRendererFlags )
3595
3602 {
3603 MapBox,
3604 Esri,
3605 };
3607
3614 {
3615 Clockwise,
3616 CounterClockwise,
3617 NoOrientation,
3618 };
3619 Q_ENUM( AngularDirection )
3620
3621
3626 enum class RendererUsage : int
3627 {
3628 View,
3629 Export,
3630 Unknown,
3631 };
3632 Q_ENUM( RendererUsage )
3633
3634
3639 enum class MapCanvasFlag : int SIP_ENUM_BASETYPE( IntFlag )
3640 {
3641 ShowMainAnnotationLayer = 1 << 0,
3642 };
3643 Q_ENUM( MapCanvasFlag )
3644
3645
3650 Q_DECLARE_FLAGS( MapCanvasFlags, MapCanvasFlag )
3651 Q_FLAG( MapCanvasFlags )
3652
3658 enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
3659 {
3660 Sync3DTo2D = 1 << 0,
3661 Sync2DTo3D = 1 << 1,
3662 };
3663 Q_ENUM( ViewSyncModeFlag )
3665
3672 {
3673 Always,
3674 WhenOutsideVisibleExtent,
3675 Never,
3676 };
3677 Q_ENUM( MapRecenteringMode )
3678
3679
3684 enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
3685 {
3686 LocalProfile = 1 << 0,
3687 // Project = 1 << 1, //!< QGIS Project (not yet implemented)
3688 };
3689 Q_ENUM( HistoryProviderBackend )
3691 Q_FLAG( HistoryProviderBackends )
3692
3698 enum class QueryStorageBackend : int
3699 {
3700 LocalProfile,
3701 CurrentProject,
3702 };
3703 Q_ENUM( QueryStorageBackend )
3704
3705
3713 {
3714 MapLayer SIP_MONKEYPATCH_COMPAT_NAME( TypeMapLayer ) = -2,
3715 VectorAnyGeometry SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorAnyGeometry ) = -1,
3716 VectorPoint SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPoint ) = 0,
3717 VectorLine SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorLine ) = 1,
3718 VectorPolygon SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPolygon ) = 2,
3719 Raster SIP_MONKEYPATCH_COMPAT_NAME( TypeRaster ) = 3,
3720 File SIP_MONKEYPATCH_COMPAT_NAME( TypeFile ) = 4,
3721 Vector SIP_MONKEYPATCH_COMPAT_NAME( TypeVector ) = 5,
3722 Mesh SIP_MONKEYPATCH_COMPAT_NAME( TypeMesh ) = 6,
3723 Plugin SIP_MONKEYPATCH_COMPAT_NAME( TypePlugin ) = 7,
3724 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( TypePointCloud ) = 8,
3725 Annotation SIP_MONKEYPATCH_COMPAT_NAME( TypeAnnotation ) = 9,
3726 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorTile ) = 10,
3727 TiledScene = 11
3728 };
3729 Q_ENUM( ProcessingSourceType )
3730
3731
3732
3740 {
3741 DeemphasiseSearchResults SIP_MONKEYPATCH_COMPAT_NAME( FlagDeemphasiseSearchResults )
3742 = 1 << 1,
3743 CompatibleWithVirtualRaster SIP_MONKEYPATCH_COMPAT_NAME( FlagCompatibleWithVirtualRaster ) = 1 << 2,
3744 };
3746
3755 Q_FLAG( ProcessingProviderFlags )
3756
3757
3765 {
3766 HideFromToolbox SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromToolbox ) = 1 << 1,
3767 HideFromModeler SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromModeler ) = 1 << 2,
3768 SupportsBatch SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsBatch ) = 1 << 3,
3769 CanCancel SIP_MONKEYPATCH_COMPAT_NAME( FlagCanCancel ) = 1 << 4,
3770 RequiresMatchingCrs SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresMatchingCrs ) = 1 << 5,
3771 NoThreading SIP_MONKEYPATCH_COMPAT_NAME( FlagNoThreading ) = 1 << 6,
3772 DisplayNameIsLiteral SIP_MONKEYPATCH_COMPAT_NAME( FlagDisplayNameIsLiteral ) = 1 << 7,
3773 SupportsInPlaceEdits SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsInPlaceEdits ) = 1 << 8,
3774 KnownIssues SIP_MONKEYPATCH_COMPAT_NAME( FlagKnownIssues ) = 1 << 9,
3775 CustomException SIP_MONKEYPATCH_COMPAT_NAME( FlagCustomException ) = 1 << 10,
3776 PruneModelBranchesBasedOnAlgorithmResults SIP_MONKEYPATCH_COMPAT_NAME( FlagPruneModelBranchesBasedOnAlgorithmResults ) = 1 << 11,
3777 SkipGenericModelLogging SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGenericModelLogging ) = 1 << 12,
3778 NotAvailableInStandaloneTool SIP_MONKEYPATCH_COMPAT_NAME( FlagNotAvailableInStandaloneTool ) = 1 << 13,
3779 RequiresProject SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresProject ) = 1 << 14,
3780 SecurityRisk = 1 << 15,
3781 Deprecated SIP_MONKEYPATCH_COMPAT_NAME( FlagDeprecated ) = HideFromToolbox | HideFromModeler,
3782 };
3784
3793 Q_FLAG( ProcessingAlgorithmFlags )
3794
3795
3801 {
3802 RegeneratesPrimaryKey = 1 << 0,
3803 RegeneratesPrimaryKeyInSomeScenarios = 1 << 1,
3804 RespectsEllipsoid = 1 << 2,
3805 };
3806 Q_ENUM( ProcessingAlgorithmDocumentationFlag )
3807
3808
3815
3825 {
3826 NotAvailable,
3827 Available,
3828 };
3829 Q_ENUM( ProcessingPropertyAvailability )
3830
3831
3839 {
3840 DefaultLevel = 0,
3841 Verbose,
3842 ModelDebug,
3843 };
3844 Q_ENUM( ProcessingLogLevel )
3845
3846
3854 {
3855 Standard,
3856 Batch,
3857 Modeler,
3858 };
3859 Q_ENUM( ProcessingMode )
3860
3861
3869 {
3870 OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck )
3871 = 1 << 0,
3872 CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature )
3873 = 1 << 1,
3874 };
3875 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3876
3877
3886
3895 {
3896 SkipGeometryValidityChecks SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGeometryValidityChecks ) = 1 << 1,
3897 };
3898 Q_ENUM( ProcessingFeatureSourceFlag )
3899
3900
3909
3921 {
3922 ExposeToModeler = 1
3923 };
3924 Q_ENUM( ProcessingParameterTypeFlag )
3925
3926
3938
3947 {
3948 Advanced SIP_MONKEYPATCH_COMPAT_NAME( FlagAdvanced ) = 1 << 1,
3949 Hidden SIP_MONKEYPATCH_COMPAT_NAME( FlagHidden ) = 1 << 2,
3950 Optional SIP_MONKEYPATCH_COMPAT_NAME( FlagOptional ) = 1 << 3,
3951 IsModelOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagIsModelOutput ) = 1 << 4,
3952 };
3953 Q_ENUM( ProcessingParameterFlag )
3954
3955
3963 Q_FLAG( ProcessingParameterFlags )
3964
3977 Q_ENUM( ProcessingFileParameterBehavior )
3978
3979
3991 Q_ENUM( ProcessingNumberParameterType )
3992
3993
4001 {
4002 Any = -1,
4003 Numeric = 0,
4004 String = 1,
4005 DateTime = 2,
4006 Binary = 3,
4007 Boolean = 4,
4008 };
4009 Q_ENUM( ProcessingFieldParameterDataType )
4010
4011
4024 Q_ENUM( ProcessingDateTimeParameterDataType )
4025
4026
4032 {
4033 ModelParameter,
4034 ChildOutput,
4035 StaticValue,
4036 Expression,
4037 ExpressionText,
4038 ModelOutput,
4039 };
4040 Q_ENUM( ProcessingModelChildParameterSource )
4041
4042
4048 {
4049 NotExecuted,
4051 Failed,
4052 };
4053 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
4054
4055
4063 {
4064 Vertices,
4065 StructureLines,
4066 BreakLines
4067 };
4068 Q_ENUM( ProcessingTinInputLayerType )
4069
4070
4080 Q_ENUM( CrsDefinitionFormat )
4081
4082
4090 enum class FieldDomainSplitPolicy : int
4091 {
4092 DefaultValue,
4093 Duplicate,
4094 GeometryRatio,
4095 UnsetField,
4096 };
4097 Q_ENUM( FieldDomainSplitPolicy )
4098
4099
4107 enum class FieldDomainMergePolicy : int
4108 {
4109 DefaultValue,
4110 Sum,
4111 GeometryWeighted,
4112 UnsetField,
4113 LargestGeometry,
4114 MinimumValue,
4115 MaximumValue,
4116 SetToNull,
4117 };
4118 Q_ENUM( FieldDomainMergePolicy )
4119
4120
4127 enum class FieldDuplicatePolicy : int
4128 {
4129 DefaultValue,
4130 Duplicate,
4131 UnsetField,
4132 };
4133 Q_ENUM( FieldDuplicatePolicy )
4134
4135
4140 enum class FieldDomainType : int
4141 {
4142 Coded,
4143 Range,
4144 Glob,
4145 };
4146 Q_ENUM( FieldDomainType )
4147
4148
4153 enum class TransactionMode : int
4154 {
4155 Disabled = 0,
4156 AutomaticGroups = 1,
4157 BufferedGroups = 2,
4158 };
4159 Q_ENUM( TransactionMode )
4160
4161
4166 enum class AltitudeClamping : int
4167 {
4168 Absolute,
4169 Relative,
4170 Terrain,
4171 };
4172 Q_ENUM( AltitudeClamping )
4173
4174
4179 enum class AltitudeBinding : int
4180 {
4181 Vertex,
4182 Centroid,
4183 };
4184 Q_ENUM( AltitudeBinding )
4185
4186
4191 enum class RangeLimits : int
4192 {
4193 IncludeBoth = 0,
4194 IncludeLowerExcludeUpper,
4195 ExcludeLowerIncludeUpper,
4196 ExcludeBoth,
4197 };
4198 Q_ENUM( RangeLimits )
4199
4200
4205 enum class RasterElevationMode : int
4206 {
4207 FixedElevationRange = 0,
4208 RepresentsElevationSurface = 1,
4209 FixedRangePerBand = 2,
4210 DynamicRangePerBand = 3,
4211 };
4212 Q_ENUM( RasterElevationMode )
4213
4214
4219 enum class MeshElevationMode : int
4220 {
4221 FixedElevationRange = 0,
4222 FromVertices = 1,
4223 FixedRangePerGroup = 2,
4224 };
4225 Q_ENUM( MeshElevationMode )
4226
4227
4233 {
4234 NoConstraint,
4235 Perpendicular,
4236 Parallel
4237 };
4238 Q_ENUM( BetweenLineConstraint )
4239
4240
4245 enum class LineExtensionSide : int
4246 {
4247 BeforeVertex,
4248 AfterVertex,
4249 NoVertex,
4250 };
4251 Q_ENUM( LineExtensionSide )
4252
4253
4254
4258 enum class CadConstraintType : int
4259 {
4260 Generic,
4261 Angle,
4262 Distance,
4263 XCoordinate,
4264 YCoordinate,
4265 ZValue,
4266 MValue,
4267 };
4268 Q_ENUM( CadConstraintType )
4269
4270
4275 {
4276 Hidden,
4277 Cartesian,
4278 Ellipsoidal,
4279 };
4280 Q_ENUM( CadMeasurementDisplayType )
4281
4282
4287 enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
4288 {
4289 EvaluateDefaultValuesOnProviderSide = 1 << 0,
4290 TrustStoredLayerStatistics
4291 = 1 << 1,
4292 RememberLayerEditStatusBetweenSessions = 1 << 2,
4293 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
4294 };
4295 Q_ENUM( ProjectFlag )
4296 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
4297 Q_FLAG( ProjectFlags )
4298
4304 enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
4305 {
4306 ShowContextMenu = 1 << 0,
4307 };
4308 Q_ENUM( PlotToolFlag )
4309 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
4310 Q_FLAG( PlotToolFlags )
4311
4319 enum class Map3DDebugFlag : int SIP_ENUM_BASETYPE( IntFlag )
4320 {
4321 ShowTerrainBoundingBoxes = 1 << 0,
4322 ShowTerrainTileInfo = 1 << 1,
4323 ShowCameraViewCenter = 1 << 2,
4324 ShowCameraRotationCenter = 1 << 3,
4325 ShowLightSourceOrigins = 1 << 4,
4326 ShowFPS = 1 << 5,
4327 ShowDebugPanel = 1 << 6,
4328 };
4329 Q_ENUM( Map3DDebugFlag )
4331 Q_FLAG( Map3DDebugFlags )
4332
4338 enum class Map3DProjectionType : int
4339 {
4340 Orthographic = 0,
4341 Perspective = 1,
4342 };
4343 Q_ENUM( Map3DProjectionType )
4344
4345
4352 enum class Point3DShape : int
4353 {
4354 Cylinder,
4355 Sphere,
4356 Cone,
4357 Cube,
4358 Torus,
4359 Plane,
4360 ExtrudedText,
4361 Model,
4362 Billboard,
4363 };
4364 Q_ENUM( Point3DShape )
4365
4366
4375 {
4376 Triangles,
4377 Lines,
4378 InstancedPoints,
4379 Points,
4380 TrianglesWithFixedTexture,
4381 TrianglesFromModel,
4382 TrianglesDataDefined,
4383 Billboards,
4384 };
4385 Q_ENUM( MaterialRenderingTechnique )
4386
4387
4392 enum class InstancedMaterialFlag : int SIP_ENUM_BASETYPE( IntFlag )
4393 {
4394 DataDefinedScale = 1 << 0,
4395 DataDefinedRotation = 1 << 1,
4396 };
4397 Q_ENUM( InstancedMaterialFlag )
4399 Q_FLAG( InstancedMaterialFlags )
4400
4406 enum class TextureFilterQuality : int
4407 {
4408 Trilinear,
4409 Anisotropic2x,
4410 Anisotropic4x,
4411 Anisotropic8x,
4412 Anisotropic16x,
4413 };
4414 Q_ENUM( TextureFilterQuality )
4415
4416
4421 enum class ShadowQuality : int
4422 {
4423 Low,
4424 Medium,
4425 High,
4426 VeryHigh,
4427 Extreme,
4428 };
4429 Q_ENUM( ShadowQuality )
4430
4431
4436 enum class LightSourceType : int
4437 {
4438 Point,
4439 Directional,
4440 Sun,
4441 };
4442 Q_ENUM( LightSourceType )
4443
4444
4448 enum class Map3DBackgroundType : int
4449 {
4450 NoBackground,
4451 FixedGradientBackground,
4452 DistinctTextureSkybox,
4453 };
4454 Q_ENUM( Map3DBackgroundType )
4455
4456
4461 enum class SkyboxCubeMapping : int
4462 {
4463 NativeZUp,
4464 OpenGLYUp,
4465 GodotYUp,
4466 UnrealEngineZUp,
4467 LeftHandedYUpMirrored,
4468 };
4469 Q_ENUM( SkyboxCubeMapping )
4470
4471
4476 enum class NavigationMode : int
4477 {
4478 TerrainBased,
4479 Walk,
4480 GlobeTerrainBased
4481 };
4482 Q_ENUM( NavigationMode )
4483
4484
4489 enum class SceneMode : int
4490 {
4491 Local,
4492 Globe
4493 };
4494 Q_ENUM( SceneMode )
4495
4496
4501 enum class VerticalAxisInversion : int SIP_ENUM_BASETYPE( IntFlag )
4502 {
4503 WhenRotatingDragging = 1 << 0,
4504 WhenRotatingCaptured = 1 << 1,
4505 WhenPivoting = 1 << 2,
4506
4507 // Legacy aliases for old flying-only enum:
4508
4509 Never = WhenRotatingDragging | WhenRotatingCaptured | WhenPivoting,
4510 WhenDragging = WhenRotatingCaptured | WhenPivoting,
4511 Always = WhenPivoting,
4512 };
4513 Q_ENUM( VerticalAxisInversion )
4516
4523 enum class ToneMappingMethod : int
4524 {
4525 Clamp,
4526 Aces,
4527 };
4528 Q_ENUM( ToneMappingMethod )
4529
4530
4535 enum class Export3DSceneFormat : int
4536 {
4537 Obj,
4538 StlAscii
4539 };
4540 Q_ENUM( Export3DSceneFormat )
4541
4542
4548 {
4549 Line,
4550 FillBelow,
4551 FillAbove,
4552 };
4554
4560 enum class VectorProfileType : int
4561 {
4562 IndividualFeatures,
4563 ContinuousSurface,
4564 };
4566
4572 enum class PointCloudProfileType : int
4573 {
4574 IndividualPoints,
4575 TriangulatedSurface,
4576 };
4578
4584 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
4585 {
4586 RespectsMaximumErrorMapUnit = 1 << 0,
4587 RespectsDistanceRange = 1 << 1,
4588 RespectsElevationRange = 1 << 2,
4589 };
4590 Q_ENUM( ProfileGeneratorFlag )
4592 Q_FLAG( ProfileGeneratorFlags )
4593
4599 enum class ProfileExportType : int
4600 {
4601 Features3D,
4602 Profile2D,
4603 DistanceVsElevationTable,
4604 };
4606
4613 {
4614 Square,
4615 Circle,
4616 };
4617 Q_ENUM( PointCloudSymbol )
4618
4619
4625 {
4626 Default,
4627 BottomToTop,
4628 TopToBottom,
4629 };
4630 Q_ENUM( PointCloudDrawOrder )
4631
4632
4640 {
4641 AllowIntersections,
4642 AvoidIntersectionsCurrentLayer,
4643 AvoidIntersectionsLayers,
4644 };
4645 Q_ENUM( AvoidIntersectionsMode )
4646
4647
4655 {
4656 Qgz,
4657 Qgs,
4658 };
4659 Q_ENUM( ProjectFileFormat )
4660
4661
4669 {
4670 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers )
4671 = 1 << 0,
4672 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts )
4673 = 1 << 1,
4674 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata )
4675 = 1 << 2,
4676 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
4677 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
4678 DontLoadProjectStyles = 1 << 5,
4679 ForceReadOnlyLayers = 1 << 6,
4680 DontUpgradeAnnotations = 1 << 7,
4681 };
4682 Q_ENUM( ProjectReadFlag )
4683
4684
4692 Q_FLAG( ProjectReadFlags )
4693
4702 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
4703 {
4704 ProjectStyles = 1 << 0,
4705 };
4706 Q_ENUM( ProjectCapability )
4707
4708
4714 Q_FLAG( ProjectCapabilities )
4715
4722 {
4723 Vector,
4724 Raster,
4725 RasterDem,
4726 GeoJson,
4727 Image,
4728 Video,
4729 Unknown,
4730 };
4731 Q_ENUM( MapBoxGlStyleSourceType )
4732
4733
4741 {
4742 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
4743 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
4744 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
4745 GlobeServer,
4746 GPServer,
4747 GeocodeServer,
4748 Unknown,
4749 SceneServer,
4750 };
4751 Q_ENUM( ArcGisRestServiceType )
4752
4753
4762 {
4763 Map = 1 << 0,
4764 Query = 1 << 1,
4765 Update = 1 << 2,
4766 Delete = 1 << 3,
4767 Create = 1 << 4,
4768 Image = 1 << 5,
4769 TilesOnly = 1 << 6,
4770 };
4771 Q_ENUM( ArcGisRestServiceCapability )
4772
4773
4780
4789 {
4790 Normal,
4791 Generated,
4792 };
4793 Q_ENUM( RelationshipType )
4794
4795
4803 {
4804 Association,
4805 Composition,
4806 };
4807 Q_ENUM( RelationshipStrength )
4808
4809
4815 {
4816 OneToOne,
4817 OneToMany,
4818 ManyToOne,
4819 ManyToMany,
4820 };
4821 Q_ENUM( RelationshipCardinality )
4822
4823
4828 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
4829 {
4830 MultipleFieldKeys = 1 << 0,
4831 ForwardPathLabel = 1 << 1,
4832 BackwardPathLabel = 1 << 2,
4833 };
4834 Q_ENUM( RelationshipCapability )
4835
4836
4842 Q_FLAG( RelationshipCapabilities )
4843
4849 enum class CoordinateDisplayType : int
4850 {
4851 MapCrs,
4852 MapGeographic,
4853 CustomCrs,
4854 };
4855 Q_ENUM( CoordinateDisplayType )
4856
4857
4862 enum class SettingsOrigin : int
4863 {
4864 Any,
4865 Global,
4866 Local,
4867 };
4868 Q_ENUM( SettingsOrigin )
4869
4870
4875 enum class ScriptLanguage : int
4876 {
4877 Css,
4878 QgisExpression,
4879 Html,
4880 JavaScript,
4881 Json,
4882 Python,
4883 R,
4884 Sql,
4885 Batch,
4886 Bash,
4887 Unknown,
4888 };
4889 Q_ENUM( ScriptLanguage )
4890
4891
4899 {
4900 Reformat = 1 << 0,
4901 CheckSyntax = 1 << 1,
4902 ToggleComment = 1 << 2,
4903 };
4904 Q_ENUM( ScriptLanguageCapability )
4905
4906
4913
4920 {
4921 AboveInsertionPoint,
4922 TopOfTree,
4923 OptimalInInsertionGroup,
4924 };
4925 Q_ENUM( LayerTreeInsertionMethod )
4926
4927
4933 {
4934 LayerProperties = 0,
4935 AttributeTable = 1,
4936 LayerStyling = 2,
4937 };
4938 Q_ENUM( LegendLayerDoubleClickAction )
4939
4940
4945 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
4946 {
4947 SkipVisibilityCheck = 1 << 0,
4948 };
4949 Q_ENUM( LayerTreeFilterFlag )
4950
4951
4957 Q_FLAG( LayerTreeFilterFlags )
4958
4964 enum class MapLayerLegendFlag : int SIP_ENUM_BASETYPE( IntFlag )
4965 {
4966 ExcludeByDefault = 1 << 0,
4967 };
4968 Q_ENUM( MapLayerLegendFlag )
4969
4970
4976 Q_FLAG( MapLayerLegendFlags )
4977
4986 {
4987 Undefined,
4988 Hidden,
4989 Title,
4990 Group,
4991 Subgroup,
4992 Symbol,
4993 SymbolLabel,
4994 };
4995 // !!! WARNING: If adding new values to this enum, make sure you update QgsLegendSettings constructor accordingly!!
4996 Q_ENUM( LegendComponent )
4997
4998
5003 enum class LegendSyncMode : int
5004 {
5005 AllProjectLayers,
5006 VisibleLayers,
5007 Manual,
5008 };
5009 Q_ENUM( LegendSyncMode )
5010
5011
5018 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
5019 {
5020 ShowRuleDetails = 1 << 0,
5021 };
5022 Q_ENUM( LegendJsonRenderFlag )
5024 Q_FLAG( LegendJsonRenderFlags )
5025
5033 enum class ActionType : int
5034 {
5035 Invalid,
5036 MapLayerAction,
5037 AttributeAction
5038 };
5039 Q_ENUM( ActionType )
5040
5041
5048 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
5049 {
5050 Layer = 1 << 0,
5051 SingleFeature = 1 << 1,
5052 MultipleFeatures = 1 << 2,
5053 AllActions = Layer | SingleFeature | MultipleFeatures
5054 };
5055 Q_ENUM( MapLayerActionTarget )
5056
5057
5065 Q_FLAG( MapLayerActionTargets )
5066
5074 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
5075 {
5076 EnabledOnlyWhenEditable = 1 << 1,
5077 EnableOnlyWhenHasGeometry = 1 << 2,
5078 };
5079 Q_ENUM( MapLayerActionFlag )
5080
5081
5089 Q_FLAG( MapLayerActionFlags )
5090
5099 {
5100 Generic,
5101 GenericPython,
5102 Mac,
5103 Windows,
5104 Unix,
5105 OpenUrl,
5106 SubmitUrlEncoded,
5107 SubmitUrlMultipart,
5108 };
5109 Q_ENUM( AttributeActionType )
5110
5111
5117 {
5118 Created,
5119 Published,
5120 Revised,
5121 Superseded,
5122 };
5123 Q_ENUM( MetadataDateType )
5124
5125
5134
5136 {
5137 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
5138 GrayIndex = 1,
5139 PaletteIndex = 2,
5140 RedBand = 3,
5141 GreenBand = 4,
5142 BlueBand = 5,
5143 AlphaBand = 6,
5144 HueBand = 7,
5145 SaturationBand = 8,
5146 LightnessBand = 9,
5147 CyanBand = 10,
5148 MagentaBand = 11,
5149 YellowBand = 12,
5150 BlackBand = 13,
5151 YCbCr_YBand = 14,
5152 YCbCr_CbBand = 15,
5153 YCbCr_CrBand = 16,
5154 ContinuousPalette = 17,
5155
5156 // Note: values between PanBand and SAR_P_Band match additions done in
5157 // GDAL 3.10, except that the numeric values of the constant don't match GDAL ones
5158
5159 PanBand = 18,
5160 CoastalBand = 19,
5161 RedEdgeBand = 20,
5162 NIRBand = 21,
5163 SWIRBand = 22,
5164 MWIRBand = 23,
5165 LWIRBand = 24,
5166 TIRBand = 25,
5167 OtherIRBand = 26,
5168 SAR_Ka_Band = 27,
5169 SAR_K_Band = 28,
5170 SAR_Ku_Band = 30,
5171 SAR_X_Band = 31,
5172 SAR_C_Band = 32,
5173 SAR_S_Band = 33,
5174 SAR_L_Band = 34,
5175 SAR_P_Band = 35,
5176 };
5177 Q_ENUM( RasterColorInterpretation )
5178
5179
5187 {
5188 GrayOrUndefined,
5189 Palette,
5190 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
5191 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
5192 };
5193 Q_ENUM( RasterLayerType )
5194
5195
5203 {
5204 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
5205 SingleBandGray,
5206 SingleBandPseudoColor,
5207 PalettedColor,
5208 PalettedSingleBandGray,
5209 PalettedSingleBandPseudoColor,
5210 PalettedMultiBandColor,
5211 MultiBandSingleBandGray,
5212 MultiBandSingleBandPseudoColor,
5213 MultiBandColor,
5214 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
5215 };
5216 Q_ENUM( RasterDrawingStyle )
5217
5218
5225 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
5226 {
5227 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
5228 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
5229 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
5230 };
5231 Q_ENUM( RasterPyramidFormat )
5232
5233
5241 {
5242 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
5243 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
5244 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
5245 };
5246 Q_ENUM( RasterBuildPyramidOption )
5247
5248
5256 {
5257 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
5258 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
5259 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
5260 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
5261 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
5262 };
5263 Q_ENUM( RasterIdentifyFormat )
5264
5265 // TODO QGIS 5 -- remove NoCapabilities and rely on RasterInterfaceCapabilities() instead
5266 // remove deprecated members
5267 // Remove "Identify" member, and replace with combinations of IdentifyValue/IdentifyText/etc
5268
5269
5277 {
5278 NoCapabilities = 0,
5279 Size = 1 << 1,
5280 Create = 1 << 2,
5281 Remove = 1 << 3,
5282 BuildPyramids = 1 << 4,
5283 Identify = 1 << 5,
5284 IdentifyValue = 1 << 6,
5285 IdentifyText = 1 << 7,
5286 IdentifyHtml = 1 << 8,
5287 IdentifyFeature = 1 << 9,
5288 Prefetch = 1 << 10,
5289 };
5290 Q_ENUM( RasterInterfaceCapability )
5291
5292
5299
5300 // TODO QGIS 5 -- remove NoProviderCapabilities and rely on RasterProviderCapabilities() instead
5301
5310 {
5311 NoProviderCapabilities = 0,
5312 ReadLayerMetadata = 1 << 1,
5313 WriteLayerMetadata = 1 << 2,
5314 ProviderHintBenefitsFromResampling = 1 << 3,
5315 ProviderHintCanPerformProviderResampling = 1 << 4,
5316 ReloadData = 1 << 5,
5317 DpiDependentData = 1 << 6,
5318 NativeRasterAttributeTable = 1 << 7,
5319 BuildPyramids = 1 << 8,
5320 };
5321 Q_ENUM( RasterProviderCapability )
5322
5323
5332
5339 {
5340 HighestElevation,
5341 NewerElevation,
5342 };
5343 Q_ENUM( ElevationMapCombineMethod )
5344
5345
5354 {
5355 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
5356 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
5357 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
5358 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
5359 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
5360 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
5361 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
5363 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
5364 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
5365 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
5366 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
5367 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
5368 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
5369 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
5370 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
5371 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
5372 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
5373 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
5374 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
5375 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
5376 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
5377 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
5379 };
5380 Q_ENUM( BlendMode )
5381
5382
5390 {
5391 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
5392 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
5393 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
5394 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
5395 };
5396 Q_ENUM( SystemOfMeasurement )
5397
5398
5405 {
5406 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
5407 Pixels,
5408 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
5409 };
5410 Q_ENUM( MapToolUnit )
5411
5412
5420 {
5421 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
5423 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
5424 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
5425 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
5426 };
5427 Q_ENUM( UnitType )
5428
5429
5437 {
5438 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
5439 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
5440 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
5441 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
5442 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
5443 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
5444 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
5445 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
5446 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
5447 Inches,
5448 ChainsInternational,
5449 ChainsBritishBenoit1895A,
5450 ChainsBritishBenoit1895B,
5451 ChainsBritishSears1922Truncated,
5452 ChainsBritishSears1922,
5453 ChainsClarkes,
5454 ChainsUSSurvey,
5455 FeetBritish1865,
5456 FeetBritish1936,
5457 FeetBritishBenoit1895A,
5458 FeetBritishBenoit1895B,
5459 FeetBritishSears1922Truncated,
5460 FeetBritishSears1922,
5461 FeetClarkes,
5462 FeetGoldCoast,
5463 FeetIndian,
5464 FeetIndian1937,
5465 FeetIndian1962,
5466 FeetIndian1975,
5467 FeetUSSurvey,
5468 LinksInternational,
5469 LinksBritishBenoit1895A,
5470 LinksBritishBenoit1895B,
5471 LinksBritishSears1922Truncated,
5472 LinksBritishSears1922,
5473 LinksClarkes,
5474 LinksUSSurvey,
5475 YardsBritishBenoit1895A,
5476 YardsBritishBenoit1895B,
5477 YardsBritishSears1922Truncated,
5478 YardsBritishSears1922,
5479 YardsClarkes,
5480 YardsIndian,
5481 YardsIndian1937,
5482 YardsIndian1962,
5483 YardsIndian1975,
5484 MilesUSSurvey,
5485 Fathoms,
5486 MetersGermanLegal,
5487 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
5488 };
5489 Q_ENUM( DistanceUnit )
5490
5491
5499 {
5500 Standard,
5501 Geographic,
5502 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
5503 };
5504 Q_ENUM( DistanceUnitType )
5505
5506
5514 {
5515 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
5516 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
5517 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
5518 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
5519 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
5520 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
5521 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
5522 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
5523 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
5524 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
5525 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
5526 SquareInches,
5527 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
5528 };
5529 Q_ENUM( AreaUnit )
5530
5531
5539 {
5540 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
5541 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
5542 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
5543 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
5544 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
5545 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
5546 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
5547 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
5548 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
5549 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
5550 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
5551 };
5552 Q_ENUM( VolumeUnit )
5553
5554
5562 {
5563 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
5564 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
5566 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
5567 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
5569 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
5570 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
5571 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
5572 };
5573 Q_ENUM( AngleUnit )
5574
5575
5583 {
5584 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
5585 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
5586 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
5587 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
5588 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
5589 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
5590 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
5591 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
5592 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
5593 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
5594 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
5595 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
5596 };
5597 Q_ENUM( TemporalUnit )
5598
5599
5607 {
5608 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
5609 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
5610 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
5611 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
5612 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
5613 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
5614 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
5615 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
5616 };
5617 Q_ENUM( RenderUnit )
5618
5619
5627 {
5628 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
5629 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
5630 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
5631 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
5632 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
5633 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
5634 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
5635 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
5636 };
5637 Q_ENUM( LayoutUnit )
5638
5639
5647 {
5648 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
5649 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
5650 };
5651 Q_ENUM( LayoutUnitType )
5652
5653
5661 {
5662 Debug SIP_MONKEYPATCH_COMPAT_NAME( FlagDebug ) = 1 << 1,
5663 OutlineOnly SIP_MONKEYPATCH_COMPAT_NAME( FlagOutlineOnly ) = 1 << 2,
5664 Antialiasing SIP_MONKEYPATCH_COMPAT_NAME( FlagAntialiasing ) = 1 << 3,
5665 UseAdvancedEffects SIP_MONKEYPATCH_COMPAT_NAME( FlagUseAdvancedEffects ) = 1 << 4,
5666 ForceVectorOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagForceVectorOutput )
5667 = 1 << 5,
5668 HideCoverageLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagHideCoverageLayer ) = 1 << 6,
5669 DrawSelection SIP_MONKEYPATCH_COMPAT_NAME( FlagDrawSelection ) = 1 << 7,
5670 DisableTiledRasterLayerRenders SIP_MONKEYPATCH_COMPAT_NAME( FlagDisableTiledRasterLayerRenders )
5671 = 1 << 8,
5672 RenderLabelsByMapLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagRenderLabelsByMapLayer )
5673 = 1 << 9,
5674 LosslessImageRendering SIP_MONKEYPATCH_COMPAT_NAME( FlagLosslessImageRendering )
5675 = 1 << 10,
5676 SynchronousLegendGraphics SIP_MONKEYPATCH_COMPAT_NAME( FlagSynchronousLegendGraphics ) = 1 << 11,
5677 AlwaysUseGlobalMasks SIP_MONKEYPATCH_COMPAT_NAME( FlagAlwaysUseGlobalMasks )
5678 = 1 << 12,
5679 LimitCoverageLayerRenderToCurrentFeature = 1 << 13,
5680 };
5681 Q_ENUM( LayoutRenderFlag )
5682
5683
5691 Q_FLAG( LayoutRenderFlags )
5692
5701 {
5702 SVG SIP_MONKEYPATCH_COMPAT_NAME( FormatSVG ) = 0,
5703 Raster SIP_MONKEYPATCH_COMPAT_NAME( FormatRaster ),
5704 Unknown SIP_MONKEYPATCH_COMPAT_NAME( FormatUnknown ),
5705 };
5706 Q_ENUM( PictureFormat )
5707
5708
5713 enum class ScaleCalculationMethod : int
5714 {
5715 HorizontalTop = 0,
5716 HorizontalMiddle,
5717 HorizontalBottom,
5718 HorizontalAverage,
5719 AtEquator,
5720 };
5721 Q_ENUM( ScaleCalculationMethod )
5722
5723
5736 Q_ENUM( ScaleBarAlignment )
5737
5738
5746 {
5747 Fixed SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFixed ) = 0,
5748 FitWidth SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFitWidth ) = 1
5749 };
5750 Q_ENUM( ScaleBarSegmentSizeMode )
5751
5752
5760 {
5761 AboveSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelAboveSegment ) = 0,
5762 BelowSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelBelowSegment ),
5763 };
5764 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
5765
5766
5774 {
5775 CenteredEdge SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredEdge ) = 0,
5776 CenteredSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredSegment ),
5777 };
5778 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
5779
5780
5781
5789 {
5790 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( MapUnit ),
5793 DynamicPageSizeBased,
5794 };
5795 Q_ENUM( MapGridUnit )
5796
5797
5805 {
5806 Lines SIP_MONKEYPATCH_COMPAT_NAME( Solid ) = 0,
5807 LineCrosses SIP_MONKEYPATCH_COMPAT_NAME( Cross ),
5808 Markers,
5809 FrameAndAnnotationsOnly SIP_MONKEYPATCH_COMPAT_NAME( FrameAnnotationsOnly )
5810 };
5811 Q_ENUM( MapGridStyle )
5812
5813
5821 {
5822 ShowAll = 0,
5823 LatitudeOnly,
5824 LongitudeOnly,
5825 HideAll
5826 };
5827 Q_ENUM( MapGridComponentVisibility )
5828
5829
5837 {
5838 InsideMapFrame = 0,
5839 OutsideMapFrame,
5840 };
5841 Q_ENUM( MapGridAnnotationPosition )
5842
5843
5851 {
5852 Horizontal = 0,
5853 Vertical,
5854 VerticalDescending,
5855 BoundaryDirection,
5856 AboveTick,
5857 OnTick,
5858 UnderTick,
5859 };
5860 Q_ENUM( MapGridAnnotationDirection )
5861
5862
5870 {
5871 Decimal = 0,
5872 DegreeMinute,
5873 DegreeMinuteSecond,
5874 DecimalWithSuffix,
5875 DegreeMinuteNoSuffix,
5876 DegreeMinutePadded,
5877 DegreeMinuteSecondNoSuffix,
5878 DegreeMinuteSecondPadded,
5879 CustomFormat
5880 };
5881 Q_ENUM( MapGridAnnotationFormat )
5882
5883
5897 Q_ENUM( MapGridBorderSide )
5898
5899
5907 {
5908 NoFrame = 0,
5909 Zebra,
5910 InteriorTicks,
5911 ExteriorTicks,
5912 InteriorExteriorTicks,
5913 LineBorder,
5914 LineBorderNautical,
5915 ZebraNautical,
5916 };
5917 Q_ENUM( MapGridFrameStyle )
5918
5919
5927 {
5928 OrthogonalTicks = 0,
5929 NormalizedTicks,
5930 };
5931 Q_ENUM( MapGridTickLengthMode )
5932
5933
5934
5942 {
5943 Left SIP_MONKEYPATCH_COMPAT_NAME( FrameLeft ) = 0x01,
5944 Right SIP_MONKEYPATCH_COMPAT_NAME( FrameRight ) = 0x02,
5945 Top SIP_MONKEYPATCH_COMPAT_NAME( FrameTop ) = 0x04,
5946 Bottom SIP_MONKEYPATCH_COMPAT_NAME( FrameBottom ) = 0x08
5947 };
5948 Q_ENUM( MapGridFrameSideFlag )
5949
5950
5958 Q_FLAG( MapGridFrameSideFlags )
5959
5968 {
5969 Longitude = 0,
5970 Latitude
5971 };
5972 Q_ENUM( MapGridAnnotationType )
5973
5974
5979 enum class InputControllerType : int
5980 {
5981 Map2D,
5982 Map3D
5983 };
5985
5992 {
5993 NotSet,
5994 Unknown,
5995 OrdinaryTable,
5996 Index,
5997 Sequence,
5998 View,
5999 MaterializedView,
6000 CompositeType,
6001 ToastTable,
6002 ForeignTable,
6003 PartitionedTable,
6004 };
6005 Q_ENUM( PostgresRelKind )
6006
6007
6013 {
6014 SetFieldComment = 1 << 0,
6015 SetFieldAlias = 1 << 1,
6016 SetTableComment = 1 << 2,
6017 EditFieldDomain = 1 << 3,
6018 DeleteFieldDomain = 1 << 4,
6019 };
6020 Q_ENUM( DatabaseProviderConnectionCapability2 )
6023
6030 {
6031 SetGeometryColumnName = 1 << 0,
6032 SetPrimaryKeyName = 1 << 1,
6033 };
6034 Q_ENUM( DatabaseProviderTableImportCapability )
6037
6044 {
6045 SaveToDatabase = 1 << 1,
6046 LoadFromDatabase = 1 << 2,
6047 DeleteFromDatabase = 1 << 3
6048 };
6052
6053
6059 {
6060 LastProfile,
6061 DefaultProfile,
6062 AskUser,
6063 };
6064 Q_ENUM( UserProfileSelectionPolicy )
6065
6066
6074 {
6075 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
6076 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
6077 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
6078 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
6079 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
6080 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
6081 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
6082 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
6083 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
6084 };
6085 Q_ENUM( AttributeEditorType )
6086
6087
6093 {
6094 GroupBox,
6095 Tab,
6096 Row,
6097 };
6098 Q_ENUM( AttributeEditorContainerType )
6099
6100
6108 {
6109 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
6110 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
6111 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
6112 };
6113 Q_ENUM( AttributeFormLayout )
6114
6115
6123 {
6124 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
6125 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
6126 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
6127 };
6128 Q_ENUM( AttributeFormSuppression )
6129
6130
6138 {
6139 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
6140 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
6141 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
6142 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
6143 };
6144 Q_ENUM( AttributeFormPythonInitCodeSource )
6145
6146
6152 {
6153 NotAllowed = 0,
6154 AllowedDefaultOn = 1,
6155 AllowedDefaultOff = 2,
6156 };
6157 Q_ENUM( AttributeFormReuseLastValuePolicy )
6158
6159
6165 {
6167 PointCloud,
6168 RasterCalculator,
6169 };
6170 Q_ENUM( ExpressionType )
6171
6172
6180 {
6181 NoSymbology = 0,
6182 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
6183 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
6184 };
6185 Q_ENUM( FeatureSymbologyExport )
6186
6187
6192 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
6193 {
6194 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
6195 };
6196 Q_ENUM( VectorTileProviderFlag )
6197
6198
6204 Q_FLAG( VectorTileProviderFlags )
6205
6211 {
6212 ReadLayerMetadata = 1 << 1,
6213 };
6214 Q_ENUM( VectorTileProviderCapability )
6215
6216
6223
6230 {
6231 Available,
6232 NotAvailable,
6233 AvailableNoChildren,
6234 UseLowerZoomLevelTile,
6235 };
6236 Q_ENUM( TileAvailability )
6237
6238
6244 {
6245 ReadLayerMetadata = 1 << 1,
6246 };
6247 Q_ENUM( TiledSceneProviderCapability )
6248
6249
6256
6263 {
6264 Region,
6265 OrientedBox,
6266 Sphere,
6267 };
6268 Q_ENUM( TiledSceneBoundingVolumeType )
6269
6270
6279 {
6280 Replacement,
6281 Additive,
6282 };
6283 Q_ENUM( TileRefinementProcess )
6284
6285
6291 {
6292 NoChildren,
6293 Available,
6294 NeedFetching,
6295 };
6296 Q_ENUM( TileChildrenAvailability )
6297
6298
6303 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
6304 {
6305 NoHierarchyFetch = 1 << 0,
6306 };
6307 Q_ENUM( TiledSceneRequestFlag )
6308
6309
6315 Q_FLAG( TiledSceneRequestFlags )
6316
6322 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
6323 {
6324 RequiresTextures = 1 << 0,
6325 ForceRasterRender = 1 << 1,
6326 RendersTriangles = 1 << 2,
6327 RendersLines = 1 << 3,
6328 };
6329 Q_ENUM( TiledSceneRendererFlag )
6330
6331
6337 Q_FLAG( TiledSceneRendererFlags )
6338
6344 enum class GdalResampleAlgorithm : int
6345 {
6346 RA_NearestNeighbour = 0,
6347 RA_Bilinear = 1,
6348 RA_Cubic = 2,
6349 RA_CubicSpline = 3,
6350 RA_Lanczos = 4,
6351 RA_Average = 5,
6352 RA_Mode = 6,
6353 RA_Max = 8,
6354 RA_Min = 9,
6355 RA_Median = 10,
6356 RA_Q1 = 11,
6357 RA_Q3 = 12,
6358 };
6359 Q_ENUM( GdalResampleAlgorithm )
6360
6361
6366 enum class VsiHandlerType : int
6367 {
6368 Invalid,
6369 Archive,
6370 Network,
6371 Cloud,
6372 Memory,
6373 Other,
6374 };
6375 Q_ENUM( VsiHandlerType )
6376
6377 // TODO QGIS 5: make All include all values (we can't do this before 4.0, as we need to keep
6378 // compatibility with code which expects all these statistics to give numeric results)
6379
6380
6385 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
6386 {
6387 Count = 1 << 0,
6388 Sum = 1 << 1,
6389 Mean = 1 << 2,
6390 Median = 1 << 3,
6391 StDev = 1 << 4,
6392 Min = 1 << 5,
6393 Max = 1 << 6,
6394 Range = 1 << 7,
6395 Minority = 1 << 8,
6396 Majority = 1 << 9,
6397 Variety = 1 << 10,
6398 Variance = 1 << 11,
6399 MinimumPoint = 1 << 12,
6400 MaximumPoint = 1 << 13,
6401 // clang-format off
6402 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6403 // clang-format on
6404 AllNumeric = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6405 Default = Count | Sum | Mean,
6406 };
6407 Q_ENUM( ZonalStatistic )
6408
6409
6415 Q_FLAG( ZonalStatistics )
6416
6422 enum class ZonalStatisticResult : int
6423 {
6425 LayerTypeWrong = 1,
6426 LayerInvalid,
6427 RasterInvalid,
6428 RasterBandInvalid,
6429 FailedToCreateField = 8,
6430 Canceled = 9
6431 };
6432 Q_ENUM( ZonalStatisticResult )
6433
6434
6441 {
6442 Count,
6443 CountDistinct,
6444 CountMissing,
6445 Min,
6446 Max,
6447 Sum,
6448 Mean,
6449 Median,
6450 StDev,
6451 StDevSample,
6452 Range,
6453 Minority,
6454 Majority,
6455 FirstQuartile,
6456 ThirdQuartile,
6457 InterQuartileRange,
6458 StringMinimumLength,
6459 StringMaximumLength,
6460 StringConcatenate,
6461 GeometryCollect,
6462 ArrayAggregate,
6463 StringConcatenateUnique
6464 };
6465 Q_ENUM( Aggregate )
6466
6467
6473 {
6474 Count = 1 << 0,
6475 CountMissing = 1 << 15,
6476 Sum = 1 << 1,
6477 Mean = 1 << 2,
6478 Median = 1 << 3,
6479 StDev = 1 << 4,
6480 StDevSample = 1 << 5,
6481 Min = 1 << 6,
6482 Max = 1 << 7,
6483 Range = 1 << 8,
6484 Minority = 1 << 9,
6485 Majority = 1 << 10,
6486 Variety = 1 << 11,
6487 FirstQuartile = 1 << 12,
6488 ThirdQuartile = 1 << 13,
6489 InterQuartileRange = 1 << 14,
6490 First = 1 << 16,
6491 Last = 1 << 17,
6492 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
6493 };
6494 Q_ENUM( Statistic )
6495
6496
6502 Q_FLAG( Statistics )
6503
6510 {
6511 Count = 1,
6512 CountDistinct = 2,
6513 CountMissing = 4,
6514 Min = 8,
6515 Max = 16,
6516 Range = 32,
6517 All = Count | CountDistinct | CountMissing | Min | Max | Range,
6518 };
6519 Q_ENUM( DateTimeStatistic )
6520
6521
6527 Q_FLAG( DateTimeStatistics )
6528
6535 {
6536 Count = 1,
6537 CountDistinct = 2,
6538 CountMissing = 4,
6539 Min = 8,
6540 Max = 16,
6541 MinimumLength = 32,
6542 MaximumLength = 64,
6543 MeanLength = 128,
6544 Minority = 256,
6545 Majority = 512,
6546 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
6547 };
6548 Q_ENUM( StringStatistic )
6549
6550
6556 Q_FLAG( StringStatistics )
6557
6564 {
6565 NoStatistic = 0,
6566 Min = 1,
6567 Max = 1 << 1,
6568 Range = 1 << 2,
6569 Sum = 1 << 3,
6570 Mean = 1 << 4,
6571 StdDev = 1 << 5,
6572 SumOfSquares = 1 << 6,
6573 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
6574 };
6575 Q_ENUM( RasterBandStatistic )
6576
6577
6583 Q_FLAG( RasterBandStatistics )
6584
6590 enum class SensorThingsVersion : int
6591 {
6592 Version1_1,
6593 Version2_0,
6594 };
6596
6602 enum class SensorThingsExtension : int SIP_ENUM_BASETYPE( IntFlag )
6603 {
6604 MultiDatastream = 1 << 0,
6605 SensingExtensionObservationsMeasurements = 1 << 1,
6606 SensingExtensionSampling = 1 << 2,
6607 SensingExtensionRelations = 1 << 3,
6608 };
6610
6617 Q_FLAG( SensorThingsExtensions )
6618
6619
6624 enum class SensorThingsEntity : int
6625 {
6626 Invalid,
6627 Thing,
6628 Location,
6629 HistoricalLocation,
6630 Datastream,
6631 Sensor,
6632 ObservedProperty,
6633 Observation,
6634 FeatureOfInterest,
6635 MultiDatastream,
6636 // version 2.0
6637 Feature,
6638 FeatureType,
6639 Deployment,
6640 ObservingProcedure,
6641 Sampling,
6642 SamplingProcedure,
6643 Sampler,
6644 PreparationStep,
6645 PreparationProcedure,
6646 ThingRelation,
6647 RelationRole,
6648 FeatureRelation,
6649 DatastreamRelation,
6650 ObservationRelation,
6651 };
6652 Q_ENUM( SensorThingsEntity )
6653
6654
6659 enum class ColorModel : int
6660 {
6661 Rgb,
6662 Cmyk,
6663 };
6664 Q_ENUM( ColorModel )
6665
6666
6671 enum class DocumentationApi : int
6672 {
6673 PyQgis,
6674 PyQgisSearch,
6675 CppQgis,
6676 Qt,
6677 };
6678 Q_ENUM( DocumentationApi )
6679
6680
6685 enum class DocumentationBrowser : int
6686 {
6687 DeveloperToolsPanel,
6688 SystemWebBrowser,
6689 };
6690 Q_ENUM( DocumentationBrowser )
6691
6692
6697 enum class MouseHandlesAction : int
6698 {
6699 MoveItem,
6700 ResizeUp,
6701 ResizeDown,
6702 ResizeLeft,
6703 ResizeRight,
6704 ResizeLeftUp,
6705 ResizeRightUp,
6706 ResizeLeftDown,
6707 ResizeRightDown,
6708 RotateTopLeft,
6709 RotateTopRight,
6710 RotateBottomLeft,
6711 RotateBottomRight,
6712 SelectItem,
6713 NoAction
6714 };
6715 Q_ENUM( MouseHandlesAction )
6716
6717
6721 enum class MeshRangeLimit : int
6722 {
6723 NotSet,
6724 MinimumMaximum,
6725 };
6726 Q_ENUM( MeshRangeLimit )
6727
6728
6733 enum class MeshRangeExtent : int
6734 {
6735 WholeMesh,
6736 FixedCanvas,
6737 UpdatedCanvas,
6738 };
6739 Q_ENUM( MeshRangeExtent )
6740
6741
6747 enum class PointCloudAccessType : int
6748 {
6749 Local,
6750 Remote
6751 };
6752 Q_ENUM( PointCloudAccessType )
6753
6754
6759 {
6760 RenderExtents,
6761 RenderOverview,
6762 RenderOverviewAndExtents
6763 };
6764 Q_ENUM( PointCloudZoomOutRenderBehavior )
6765
6766
6771 {
6772 Standard = 0,
6773 Adaptive,
6774 AreaError,
6775 ConstantDensity
6776 };
6777 Q_ENUM( SegmentCalculationMethod )
6778
6779
6783 enum class StacObjectType : int
6784 {
6785 Unknown,
6786 Catalog,
6787 Collection,
6788 Item,
6789 };
6790 Q_ENUM( StacObjectType )
6791
6792
6797 {
6798 WmsScale = 1 << 0,
6799 WmsDpi = 1 << 1,
6800 };
6801 Q_ENUM( RasterProcessingParameterCapability )
6802
6803
6809
6815 {
6816 Status = Qt::UserRole + 1,
6817 Id,
6818 ElapsedTime,
6819 MaximumTime,
6820 Sort,
6821 };
6822 Q_ENUM( DevToolsNodeRole )
6823
6824
6829 enum class ExtrusionFace : int SIP_ENUM_BASETYPE( IntFlag )
6830 {
6831 NoFace = 0,
6832 Walls = 1 << 0,
6833 Roof = 1 << 1,
6834 Floor = 1 << 2
6835 };
6836 Q_ENUM( ExtrusionFace )
6837
6838
6842 Q_DECLARE_FLAGS( ExtrusionFaces, ExtrusionFace )
6843 Q_FLAG( ExtrusionFaces )
6844
6849 enum class TriangulationAlgorithm : int SIP_ENUM_BASETYPE( IntFlag )
6850 {
6851 ConstrainedDelaunay = 0,
6852 Earcut = 1 << 0
6853 };
6854 Q_ENUM( TriangulationAlgorithm )
6855
6856
6867 enum class WmsGroupRequestMode : int
6868 {
6869 Normal,
6870 Opaque,
6871 };
6872 Q_ENUM( WmsGroupRequestMode )
6873
6874
6880 {
6881 RestorePreviousState,
6882 ForceDocked,
6883 ForceDialog,
6884 };
6885 Q_ENUM( DockableWidgetInitialState )
6886
6887
6890 static const double DEFAULT_SEARCH_RADIUS_MM;
6891
6894
6900 static const QColor DEFAULT_HIGHLIGHT_COLOR;
6901
6905 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
6906
6911
6919 Q_DECL_DEPRECATED static const double SCALE_PRECISION;
6920
6925 static const double DEFAULT_Z_COORDINATE;
6926
6932 static const double DEFAULT_M_COORDINATE;
6933
6938 static const double UI_SCALE_FACTOR;
6939
6943 static const double DEFAULT_SNAP_TOLERANCE;
6944
6949
6953 static const int USER_CRS_START_ID;
6954
6956 static const double DEFAULT_POINT_SIZE;
6957
6959 static const double DEFAULT_LINE_WIDTH;
6960
6962 static const double DEFAULT_SEGMENT_EPSILON;
6963
6966
6969
6975 static QString defaultProjectScales();
6976
6982 static int geosVersionInt();
6983
6989 static int geosVersionMajor();
6990
6996 static int geosVersionMinor();
6997
7003 static int geosVersionPatch();
7004
7010 static QString geosVersion();
7011
7017 static bool hasSfcgal();
7018
7025 static int sfcgalVersionInt();
7026
7032 static bool hasGeographicLib();
7033
7040 static int geographicLibVersion();
7041
7047 Q_DECL_DEPRECATED static bool hasQtWebkit();
7048
7054 static QString geoNone() { return u"NONE"_s; }
7055
7061 static QString geographicCrsAuthId() { return u"EPSG:4326"_s; }
7062
7067 Q_DECL_DEPRECATED static QString geoWkt()
7068 {
7069 return QStringLiteral(
7070 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]] )"""
7071 );
7072 }
7073
7078 Q_DECL_DEPRECATED static QString geoProj4() { return u"+proj=longlat +datum=WGS84 +no_defs"_s; }
7079};
7080
7083
7182Q_DECLARE_METATYPE( QTimeZone )
7183
7184// hack to workaround warnings when casting void pointers
7185// retrieved from QLibrary::resolve to function pointers.
7186// It's assumed that this works on all systems supporting
7187// QLibrary
7188#define cast_to_fptr( f ) f
7189
7190
7198// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
7199template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
7200{
7201 public:
7206 explicit QgsSignalBlocker( Object *object )
7207 : mObject( object )
7208 , mPreviousState( object->blockSignals( true ) )
7209 {}
7210
7211 ~QgsSignalBlocker() { mObject->blockSignals( mPreviousState ); }
7212
7214 Object *operator->() { return mObject; }
7215
7216 private:
7217 Object *mObject = nullptr;
7218 bool mPreviousState;
7219};
7220
7233// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
7234template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
7235{
7236 return QgsSignalBlocker<Object>( object );
7237}
7238
7240CORE_EXPORT size_t qHash( const QVariant &variant );
7241
7247inline QString qgsDoubleToString( double a, int precision = 17 )
7248{
7249 QString str;
7250 if ( precision )
7251 {
7252 if ( precision < 0 )
7253 {
7254 const double roundFactor = std::pow( 10, -precision );
7255 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
7256 }
7257 else
7258 {
7259 str = QString::number( a, 'f', precision );
7260 if ( str.contains( '.'_L1 ) )
7261 {
7262 // remove ending 0s
7263 int idx = str.length() - 1;
7264 while ( str.at( idx ) == '0' && idx > 1 )
7265 {
7266 idx--;
7267 }
7268 if ( idx < str.length() - 1 )
7269 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
7270 }
7271 }
7272 }
7273 else
7274 {
7275 str = QString::number( a, 'f', precision );
7276 }
7277 // avoid printing -0
7278 // see https://bugreports.qt.io/browse/QTBUG-71439
7279 if ( str == "-0"_L1 )
7280 {
7281 return "0"_L1;
7282 }
7283 return str;
7284}
7285
7292inline bool qgsNanCompatibleEquals( double a, double b )
7293{
7294 if ( a == b )
7295 return true;
7296
7297 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7298 return true;
7299
7300 return false;
7301}
7302
7303#ifndef SIP_RUN
7304
7312template<typename T> inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
7313{
7314 static_assert( std::is_floating_point<T>::value, "qgsNumberNear requires floating-point types" );
7315
7316 if ( a == b )
7317 return true;
7318
7319 // if either 'a' or 'b' is NaN, 'diff' becomes NaN.
7320 // comparisons (>= or <=) against NaN evaluate to false, which will fallback
7321 // to the nan related logic at the end of this function
7322 const T diff = a - b;
7323 if ( diff >= -epsilon && diff <= epsilon )
7324 return true;
7325
7326 // defer expensive nan checks to last -- calling std::isnan is NOT cheap!
7327 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7328 return true;
7329
7330 return false;
7331}
7332#endif
7333
7340inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7341{
7342 return qgsNumberNear<double>( a, b, epsilon );
7343}
7344
7353inline bool qgsDoubleLessThanOrNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7354{
7355 // fast check first
7356 if ( a <= b )
7357 return true;
7358
7359 // => a > b
7360 // => a - b > 0
7361 // we only need to check the upper epsilon bound for the fuzzy equality
7362 if ( a - b <= epsilon )
7363 return true;
7364
7365 // defer expensive nan checks to last -- calling std::isnan is NOT cheap!
7366 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7367 return true;
7368
7369 return false;
7370}
7371
7380inline bool qgsDoubleGreaterThanOrNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7381{
7382 // fast check first
7383 if ( a >= b )
7384 return true;
7385
7386 // => a < b
7387 // => b - a > 0
7388 // we only need to check the upper epsilon bound for the fuzzy equality
7389 if ( b - a <= epsilon )
7390 return true;
7391
7392 // defer expensive nan checks to last -- calling std::isnan is NOT cheap!
7393 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7394 return true;
7395
7396 return false;
7397}
7398
7405inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
7406{
7407 return qgsNumberNear<float>( a, b, epsilon );
7408}
7409
7411inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
7412{
7413 const bool aIsNan = std::isnan( a );
7414 const bool bIsNan = std::isnan( b );
7415 if ( aIsNan || bIsNan )
7416 return aIsNan && bIsNan;
7417
7418 // The most simple would be to print numbers as %.xe and compare as strings
7419 // but that is probably too costly
7420 // Then the fastest would be to set some bits directly, but little/big endian
7421 // has to be considered (maybe TODO)
7422 // Is there a better way?
7423 int aexp, bexp;
7424 const double ar = std::frexp( a, &aexp );
7425 const double br = std::frexp( b, &bexp );
7426
7427 return aexp == bexp && std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
7428}
7429
7434inline double qgsRound( double number, int places )
7435{
7436 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
7437 const double scaleFactor = std::pow( 10.0, places );
7438 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
7439}
7440
7441#ifndef SIP_RUN
7442
7449template<class Key, class Value> QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
7450{
7451 QString result;
7452 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7453 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
7454
7455 result.chop( separator.size() );
7456 return result;
7457}
7458
7465template<class Key, class Value> QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
7466{
7467 QString result;
7468 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7469 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
7470
7471 result.chop( separator.size() );
7472 return result;
7473}
7474
7481template<class T> QString qgsSetJoin( const QSet<T> &set, const QString &separator )
7482{
7483 QString result;
7484 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
7485 result += QString( "%1%2" ).arg( *it ).arg( separator );
7486
7487 result.chop( separator.size() );
7488 return result;
7489}
7490
7492
7502namespace qgis
7503{
7504
7517 template<typename To, typename From> inline To down_cast( From *f )
7518 {
7519 static_assert( ( std::is_base_of<From, typename std::remove_pointer<To>::type>::value ), "target type not derived from source type" );
7520 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
7521 return static_cast<To>( f );
7522 }
7523
7524 template<class T> QSet<T> listToSet( const QList<T> &list )
7525 {
7526 return QSet<T>( list.begin(), list.end() );
7527 }
7528
7529 template<class T> QList<T> setToList( const QSet<T> &set )
7530 {
7531 return QList<T>( set.begin(), set.end() );
7532 }
7533} //namespace qgis
7534
7536#endif
7537
7542template<class T> const QList<T> qgsEnumList() SIP_SKIP
7543{
7544 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7545 Q_ASSERT( metaEnum.isValid() );
7546 QList<T> enumList;
7547 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7548 {
7549 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
7550 }
7551 return enumList;
7552}
7553
7559template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
7560{
7561 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7562 Q_ASSERT( metaEnum.isValid() );
7563 QMap<T, QString> enumMap;
7564 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7565 {
7566 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
7567 }
7568 return enumMap;
7569}
7570
7576template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7577{
7578 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7579 Q_ASSERT( metaEnum.isValid() );
7580 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
7581 if ( returnOk )
7582 {
7583 *returnOk = key ? true : false;
7584 }
7585 return QString::fromUtf8( key );
7586}
7587
7595template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7596{
7597 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7598 Q_ASSERT( metaEnum.isValid() );
7599 bool ok = false;
7600 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
7601 if ( returnOk )
7602 {
7603 *returnOk = ok;
7604 }
7605 if ( ok )
7606 {
7607 return v;
7608 }
7609 else
7610 {
7611 // if conversion has failed, try with conversion from int value
7612 if ( tryValueAsKey )
7613 {
7614 bool canConvert = false;
7615 const int intValue = key.toInt( &canConvert );
7616 if ( canConvert && metaEnum.valueToKey( intValue ) )
7617 {
7618 if ( returnOk )
7619 {
7620 *returnOk = true;
7621 }
7622 return static_cast<T>( intValue );
7623 }
7624 }
7625 }
7626 return defaultValue;
7627}
7628
7634template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7635{
7636 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7637 Q_ASSERT( metaEnum.isValid() );
7638 int intValue = static_cast<int>( value );
7639 if ( intValue == 0 )
7640 {
7641 if ( returnOk )
7642 *returnOk = true;
7643 return u"0"_s;
7644 }
7645
7646 const QByteArray ba = metaEnum.valueToKeys( intValue );
7647 // check that the int value does correspond to a flag
7648 // see https://stackoverflow.com/a/68495949/1548052
7649 const int intValueCheck = metaEnum.keysToValue( ba );
7650 bool ok = intValue == intValueCheck;
7651 if ( returnOk )
7652 *returnOk = ok;
7653 return ok ? QString::fromUtf8( ba ) : QString();
7654}
7655
7663template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7664{
7665 if ( keys.isEmpty() )
7666 {
7667 if ( returnOk )
7668 {
7669 *returnOk = false;
7670 }
7671 return defaultValue;
7672 }
7673 else if ( keys == "0"_L1 )
7674 {
7675 if ( returnOk )
7676 {
7677 *returnOk = true;
7678 }
7679 return T();
7680 }
7681 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7682 Q_ASSERT( metaEnum.isValid() );
7683 bool ok = false;
7684 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
7685 if ( returnOk )
7686 {
7687 *returnOk = ok;
7688 }
7689 if ( ok )
7690 {
7691 return v;
7692 }
7693 else
7694 {
7695 // if conversion has failed, try with conversion from int value
7696 if ( tryValueAsKey )
7697 {
7698 bool canConvert = false;
7699 const int intValue = keys.toInt( &canConvert );
7700 if ( canConvert )
7701 {
7702 const QByteArray keyArray = metaEnum.valueToKeys( intValue );
7703 const int intValueCheck = metaEnum.keysToValue( keyArray );
7704 if ( !keyArray.isEmpty() && intValue == intValueCheck )
7705 {
7706 if ( returnOk )
7707 {
7708 *returnOk = true;
7709 }
7710 return T( intValue );
7711 }
7712 }
7713 }
7714 }
7715 return defaultValue;
7716}
7717
7718
7727CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
7728
7737CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
7738
7748CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
7749
7769CORE_EXPORT int qgsVariantCompare( const QVariant &lhs, const QVariant &rhs, bool strictTypeCheck = false );
7770
7781CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
7782
7791CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
7792
7801CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
7802
7814inline bool operator>( const QVariant &v1, const QVariant &v2 )
7815{
7816 return qgsVariantCompare( v1, v2, true ) > 0;
7817}
7818
7830inline bool operator<( const QVariant &v1, const QVariant &v2 )
7831{
7832 return qgsVariantCompare( v1, v2, true ) < 0;
7833}
7834
7841Q_DECL_DEPRECATED CORE_EXPORT QString qgsVsiPrefix( const QString &path ) SIP_DEPRECATED;
7842
7848void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
7849
7854void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
7855
7856#ifndef SIP_RUN
7857
7859class ScopedIntIncrementor
7860{
7861 public:
7862 ScopedIntIncrementor( int *variable )
7863 : mVariable( variable )
7864 {
7865 ( *mVariable )++;
7866 }
7867
7868 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
7869 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
7870
7871 void release()
7872 {
7873 if ( mVariable )
7874 ( *mVariable )--;
7875
7876 mVariable = nullptr;
7877 }
7878
7879 ~ScopedIntIncrementor() { release(); }
7880
7881 private:
7882 int *mVariable = nullptr;
7883};
7885
7886#endif
7887
7893Q_DECL_DEPRECATED const long GEOSRID = 4326;
7894
7900Q_DECL_DEPRECATED const long GEOCRS_ID = 3452;
7901
7907Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID = 4326;
7908
7909typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
7910
7919typedef unsigned long long qgssize;
7920
7921#ifndef SIP_RUN
7922#if ( __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 6 ) ) || defined( __clang__ )
7923
7924#define Q_NOWARN_DEPRECATED_PUSH _Pragma( "GCC diagnostic push" ) _Pragma( "GCC diagnostic ignored \"-Wdeprecated-declarations\"" );
7925#define Q_NOWARN_DEPRECATED_POP _Pragma( "GCC diagnostic pop" );
7926#define Q_NOWARN_UNREACHABLE_PUSH
7927#define Q_NOWARN_UNREACHABLE_POP
7928
7929#elif defined( _MSC_VER )
7930
7931#define Q_NOWARN_DEPRECATED_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4996 ) )
7932#define Q_NOWARN_DEPRECATED_POP __pragma( warning( pop ) )
7933#define Q_NOWARN_UNREACHABLE_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4702 ) )
7934#define Q_NOWARN_UNREACHABLE_POP __pragma( warning( pop ) )
7935#else
7936
7937#define Q_NOWARN_DEPRECATED_PUSH
7938#define Q_NOWARN_DEPRECATED_POP
7939#define Q_NOWARN_UNREACHABLE_PUSH
7940#define Q_NOWARN_UNREACHABLE_POP
7941
7942#endif
7943#endif
7944
7945#ifndef QGISEXTERN
7946#ifdef Q_OS_WIN
7947#define QGISEXTERN extern "C" __declspec( dllexport )
7948#else
7949#if defined( __GNUC__ ) || defined( __clang__ )
7950#define QGISEXTERN extern "C" __attribute__( ( visibility( "default" ) ) )
7951#else
7952#define QGISEXTERN extern "C"
7953#endif
7954#endif
7955#endif
7956#endif
7957
7958#ifndef SIP_RUN
7959#ifdef _MSC_VER
7960#define BUILTIN_UNREACHABLE __assume( false );
7961#elif defined( __GNUC__ ) && !defined( __clang__ )
7962// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
7963// like:
7964// switch( mVariableThatCanOnlyBeXorY )
7965// {
7966// case X:
7967// return "foo";
7968// case Y:
7969// return "foo";
7970// }
7971// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
7972#define BUILTIN_UNREACHABLE __builtin_unreachable();
7973#else
7974#define BUILTIN_UNREACHABLE
7975#endif
7976#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:5927
DistanceUnitType
Types of distance units.
Definition qgis.h:5499
PieChartLabelType
Pie chart label types.
Definition qgis.h:3528
GnssConstellation
GNSS constellation.
Definition qgis.h:2025
SettingsOption
Settings options.
Definition qgis.h:752
EmbeddedScriptType
Type of Python Embedded in projects.
Definition qgis.h:463
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition qgis.h:4585
GeometryBackend
Geometry backend for QgsGeometry.
Definition qgis.h:2269
ProcessingSourceType
Processing data source types.
Definition qgis.h:3713
static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS
Default snapping distance units.
Definition qgis.h:6948
GpsQualityIndicator
GPS signal quality indicator.
Definition qgis.h:2043
QFlags< MapGridFrameSideFlag > MapGridFrameSideFlags
Flags for controlling which side of the map a frame is drawn on.
Definition qgis.h:5957
DataItemProviderCapability
Capabilities for data item providers.
Definition qgis.h:1044
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3973
RasterizedRenderingPolicy
Policies controlling when rasterisation of content during renders is permitted.
Definition qgis.h:2866
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
Definition qgis.h:2961
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:4669
QFlags< DatabaseProviderTableImportCapability > DatabaseProviderTableImportCapabilities
Definition qgis.h:6035
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
Definition qgis.h:2138
CurvedLabelMode
Modes which determine how curved labels are generated and placed.
Definition qgis.h:1293
MapToolUnit
Type of unit of tolerance value from settings.
Definition qgis.h:5405
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:3500
static const double DEFAULT_LINE_WIDTH
The default width (in millimeters) for line symbols.
Definition qgis.h:6959
ProcessingModelChildAlgorithmExecutionStatus
Reflects the status of a child algorithm in a Processing model.
Definition qgis.h:4048
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
Definition qgis.h:2105
ScaleBarDistanceLabelHorizontalPlacement
Scale bar distance label horizontal placement.
Definition qgis.h:5774
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:4613
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
Definition qgis.h:835
static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM
Default highlight line/stroke minimum width in mm.
Definition qgis.h:6910
static QString version()
Version string.
Definition qgis.cpp:682
GeometryValidityFlag
Geometry validity check flags.
Definition qgis.h:2192
QFlags< RasterProviderCapability > RasterProviderCapabilities
Raster data provider capabilities.
Definition qgis.h:5330
ExpressionType
Expression types.
Definition qgis.h:6165
MapLayerActionFlag
Map layer action flags.
Definition qgis.h:5075
ScaleBarDistanceLabelVerticalPlacement
Scale bar distance label vertical placement.
Definition qgis.h:5760
MapLayerProperty
Generic map layer properties.
Definition qgis.h:2414
VectorProviderCapability
Vector data provider capabilities.
Definition qgis.h:525
RasterProcessingParameterCapability
Capabilities of a raster layer processing parameter.
Definition qgis.h:6797
BufferSide
Side of line to buffer.
Definition qgis.h:2218
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1590
WmsGroupRequestMode
Request mode of groups in a WMS context.
Definition qgis.h:6868
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
Definition qgis.h:5064
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
Definition qgis.h:6211
ProjectTrustStatus
Project trust status.
Definition qgis.h:476
MultiPartLabelingBehavior
Behavior modifier for labeling features with multi-part geometries.
Definition qgis.h:1332
AltitudeClamping
Altitude clamping.
Definition qgis.h:4167
static const int PREVIEW_JOB_DELAY_MS
Delay between the scheduling of 2 preview jobs.
Definition qgis.h:6965
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:6193
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:2737
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
Definition qgis.h:1529
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
Definition qgis.h:4713
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1382
QFlags< UriCleaningFlag > UriCleaningFlags
Flags for cleaning layer URIs.
Definition qgis.h:1489
CoordinateDisplayType
Formats for displaying coordinates.
Definition qgis.h:4850
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3921
QFlags< VectorRenderingSimplificationFlag > VectorRenderingSimplificationFlags
Simplification flags for vector feature rendering.
Definition qgis.h:3213
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:3473
static const double DEFAULT_Z_COORDINATE
Default Z coordinate value.
Definition qgis.h:6925
GpsFixStatus
GPS fix status.
Definition qgis.h:2010
AnnotationItemNodeType
Annotation item node types.
Definition qgis.h:2664
static const char * QGIS_DEV_VERSION
The development version.
Definition qgis.h:89
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1141
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
Definition qgis.h:2903
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
Definition qgis.h:2553
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
Definition qgis.h:1633
AngularDirection
Angular directions.
Definition qgis.h:3614
DriveType
Drive types.
Definition qgis.h:1194
UnitType
Unit types.
Definition qgis.h:5420
ContentStatus
Status for fetched or stored content.
Definition qgis.h:1966
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
Definition qgis.h:1928
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition qgis.h:777
Map3DBackgroundType
Background types for 3D map view.
Definition qgis.h:4449
LayoutUnit
Layout measurement units.
Definition qgis.h:5627
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:4803
Q_ENUM(GnssConstellation)
PaintEffectFlag
Flags which control how paint effects behave.
Definition qgis.h:2970
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:3311
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Definition qgis.h:4691
LegendComponent
Component of legends which can be styled.
Definition qgis.h:4986
Point3DShape
3D point shape types.
Definition qgis.h:4353
GeometryOperationResult
Success or failure of a geometry operation.
Definition qgis.h:2163
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
Definition qgis.h:6555
BrowserItemState
Browser item states.
Definition qgis.h:987
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:6093
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
Definition qgis.h:6254
QFlags< SensorThingsExtension > SensorThingsExtensions
OGC SensorThings extensions.
Definition qgis.h:6616
FeatureRequestFilterType
Types of feature request filters.
Definition qgis.h:2357
MarkerClipMode
Marker clipping modes.
Definition qgis.h:3431
GpsNavigationStatus
GPS navigation status.
Definition qgis.h:2063
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:2621
AttributeFormReuseLastValuePolicy
Attribute form policy for reusing last entered values.
Definition qgis.h:6152
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:3222
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Definition qgis.h:4063
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Definition qgis.h:2451
TextureFilterQuality
Texture filtering qualities.
Definition qgis.h:4407
Statistic
Available generic statistics.
Definition qgis.h:6473
TriangulationAlgorithm
Triangulation algorithms.
Definition qgis.h:6850
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:797
AngleUnit
Units of angles.
Definition qgis.h:5562
ToneMappingMethod
Defines the method used to map High Dynamic Range (HDR) scene colors to the Standard Dynamic Range (S...
Definition qgis.h:4524
MapGridAnnotationPosition
Position for map grid annotations.
Definition qgis.h:5837
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:586
BrowserItemCapability
Browser item capabilities.
Definition qgis.h:1000
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition qgis.h:6123
QFlags< AuthConfigurationStorageCapability > AuthConfigurationStorageCapabilities
Authentication configuration storage capabilities.
Definition qgis.h:152
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition qgis.h:4956
LayerTreeInsertionMethod
Layer tree insertion methods.
Definition qgis.h:4920
RasterProviderCapability
Raster data provider capabilities.
Definition qgis.h:5310
DatabaseProviderTableImportCapability
Represents capabilities of a database provider connection when importing table data.
Definition qgis.h:6030
LineClipMode
Line clipping modes.
Definition qgis.h:3445
static const double DEFAULT_SNAP_TOLERANCE
Default snapping distance tolerance.
Definition qgis.h:6943
VectorRenderingSimplificationFlag
Simplification flags for vector feature rendering.
Definition qgis.h:3198
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
Definition qgis.h:2197
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition qgis.h:1093
VsiHandlerType
GDAL VSI handler types.
Definition qgis.h:6367
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:682
TilePixelRatio
DpiMode enum.
Definition qgis.h:3554
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:6013
QFlags< PaintEffectFlag > PaintEffectFlags
Flags which control how paint effects behave.
Definition qgis.h:2980
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition qgis.h:1348
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
Definition qgis.h:4591
QFlags< MapLayerLegendFlag > MapLayerLegendFlags
Map layer legend flags.
Definition qgis.h:4975
MapGridUnit
Units for map grid values.
Definition qgis.h:5789
LabelPrioritization
Label prioritization.
Definition qgis.h:1260
GradientColorSource
Gradient color sources.
Definition qgis.h:3360
FileFilterType
Type of file filters.
Definition qgis.h:1461
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:1274
RasterLayerType
Raster layer types.
Definition qgis.h:5187
static const double DEFAULT_M_COORDINATE
Default M coordinate value.
Definition qgis.h:6932
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
Definition qgis.h:440
ScaleBarAlignment
Scalebar alignment.
Definition qgis.h:5731
LegendLayerDoubleClickAction
Action performed when double-clicking a layer in the legend.
Definition qgis.h:4933
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:5226
ProcessingMode
Types of modes which Processing widgets can be created for.
Definition qgis.h:3854
VectorExportResult
Vector layer export result codes.
Definition qgis.h:1120
ShadowQuality
Shadow texture quality.
Definition qgis.h:4422
DistanceUnit
Units of distance.
Definition qgis.h:5437
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:2812
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition qgis.h:929
MeshRangeLimit
Describes the limits used to compute mesh ranges (min/max values).
Definition qgis.h:6722
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:3404
LegendSyncMode
Legend synchronization mode.
Definition qgis.h:5004
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
Definition qgis.h:2654
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1407
RasterRangeLimit
Describes the limits used to compute raster ranges (min/max values).
Definition qgis.h:1665
ScaleMethod
Scale methods.
Definition qgis.h:652
QFlags< RasterProcessingParameterCapability > RasterProcessingParameterCapabilities
Raster layer processing parameter capabilities.
Definition qgis.h:6807
SldExportOption
SLD export options.
Definition qgis.h:724
VectorSimplificationAlgorithm
Simplification algorithms for vector features.
Definition qgis.h:3182
FilePathType
File path types.
Definition qgis.h:1797
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:4259
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:6138
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:3419
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
Definition qgis.h:739
static const double DEFAULT_HIGHLIGHT_BUFFER_MM
Default highlight buffer in mm.
Definition qgis.h:6905
MapCanvasFlag
Flags controlling behavior of map canvases.
Definition qgis.h:3640
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:4946
ExtrusionFace
Extrusion face types for the QgsTessellator.
Definition qgis.h:6830
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:6108
FeatureRequestFlag
Flags for controlling feature requests.
Definition qgis.h:2328
Map3DDebugFlag
Flags that control debug options for 3D maps.
Definition qgis.h:4320
VertexType
Types of vertex.
Definition qgis.h:3247
ShaderInterpolationMethod
Color ramp shader interpolation methods.
Definition qgis.h:1545
JoinStyle3D
Join styles for 3D buffers.
Definition qgis.h:2256
DataProviderFlag
Generic data provider flags.
Definition qgis.h:2444
Q_ENUM(GpsNavigationStatus)
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg).
Definition qgis.h:6345
RasterResamplingMethod
Resampling method for raster provider-level resampling.
Definition qgis.h:1604
GeometryValidationEngine
Available engines for validating geometries.
Definition qgis.h:2206
static int geosVersionPatch()
GEOS Patch version number linked.
Definition qgis.cpp:766
TransactionMode
Transaction mode.
Definition qgis.h:4154
Q_ENUM(ScaleToTileZoomLevelMethod)
QFlags< FeatureRendererFlag > FeatureRendererFlags
Flags controlling behavior of vector feature renderers.
Definition qgis.h:887
static const QColor DEFAULT_HIGHLIGHT_COLOR
Default highlight color.
Definition qgis.h:6900
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:5339
static Q_DECL_DEPRECATED const double SCALE_PRECISION
Fudge factor used to compare two scales.
Definition qgis.h:6919
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:5203
GeosCreationFlag
Flags which control geos geometry creation behavior.
Definition qgis.h:2281
Q_ENUM(SensorThingsExtension)
static const int MAXIMUM_LAYER_PREVIEW_TIME_MS
Maximum rendering time for a layer of a preview job.
Definition qgis.h:6968
MeshRangeExtent
Describes the extent used to compute mesh ranges (min/max values).
Definition qgis.h:6734
GpsInformationComponent
GPS information component.
Definition qgis.h:2077
Q_ENUM(PointCloudProfileType)
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:3659
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3740
FileOperationFlag
File operation flags.
Definition qgis.h:2399
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
Definition qgis.h:1060
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:4703
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
Definition qgis.h:2123
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Definition qgis.h:936
QFlags< RasterInterfaceCapability > RasterInterfaceCapabilities
Raster interface capabilities.
Definition qgis.h:5297
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
Definition qgis.h:5099
TemporalNavigationMode
Temporal navigation modes.
Definition qgis.h:2691
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:4001
AreaUnit
Units of area.
Definition qgis.h:5514
StringStatistic
Available string statistics.
Definition qgis.h:6535
SelectiveMaskSourceType
Selective masking source types.
Definition qgis.h:3236
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:4108
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:6386
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:5891
SqlKeywordCategory
SqlKeywordCategory enum represents the categories of the SQL keywords used by the SQL query editor.
Definition qgis.h:1176
QFlags< SnappingType > SnappingTypes
Snapping types.
Definition qgis.h:788
static Q_DECL_DEPRECATED QString geoWkt()
WKT string that represents a geographic coord system.
Definition qgis.h:7067
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:5942
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:3488
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1397
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
Definition qgis.h:6263
TextLayoutMode
Text layout modes.
Definition qgis.h:3070
PropertyType
Property types.
Definition qgis.h:710
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2939
LayerFilter
Filter for layers.
Definition qgis.h:225
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
Definition qgis.h:1533
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition qgis.h:1622
QFlags< ExtrusionFace > ExtrusionFaces
Tessellator extrusion face types.
Definition qgis.h:6842
static QString devVersion()
The development version.
Definition qgis.cpp:699
CrsType
Coordinate reference system types.
Definition qgis.h:2463
QFlags< GeosCreationFlag > GeosCreationFlags
Geos geometry creation behavior flags.
Definition qgis.h:2292
MapGridComponentVisibility
Visibility display settings for map grid annotations and frames.
Definition qgis.h:5821
SensorThingsEntity
OGC SensorThings API entity types.
Definition qgis.h:6625
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1780
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:4091
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:4741
UriCleaningFlag
Flags for cleaning layer URIs.
Definition qgis.h:1478
RasterFileWriterResult
Raster file export results.
Definition qgis.h:1763
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition qgis.h:2676
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
Definition qgis.h:3825
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:3672
RasterRangeAccuracy
Describes the accuracy used to compute raster ranges (min/max values).
Definition qgis.h:1696
ActionType
Action types.
Definition qgis.h:5034
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:1211
PlaybackOperation
Media playback operations.
Definition qgis.h:2720
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
Definition qgis.h:959
QFlags< TextRendererFlag > TextRendererFlags
Definition qgis.h:3593
SensorThingsExtension
OGC SensorThings extensions.
Definition qgis.h:6603
QueryStorageBackend
Stored query storage backends.
Definition qgis.h:3699
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:6044
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:4640
MarkerShape
Marker shapes.
Definition qgis.h:3262
StacObjectType
Available types of stac objects.
Definition qgis.h:6784
LegendJsonRenderFlag
Legend JSON export flags.
Definition qgis.h:5019
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:5354
RasterElevationMode
Raster layer elevation modes.
Definition qgis.h:4206
Capitalization
String capitalization options.
Definition qgis.h:3571
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:2797
PictureFormat
Picture formats.
Definition qgis.h:5701
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1419
static QString releaseName()
Release name.
Definition qgis.cpp:694
LabelQuadrantPosition
Label quadrant positions.
Definition qgis.h:1362
QFlags< PlotToolFlag > PlotToolFlags
Definition qgis.h:4309
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:3602
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition qgis.h:1511
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1151
TextOrientation
Text orientations.
Definition qgis.h:3055
TemporalUnit
Temporal units.
Definition qgis.h:5583
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
Definition qgis.h:1654
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
Definition qgis.h:916
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:1223
CrsDefinitionFormat
CRS definition formats.
Definition qgis.h:4076
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:2386
VerticalAnchorPoint
Marker symbol vertical anchor points.
Definition qgis.h:863
QFlags< LayoutRenderFlag > LayoutRenderFlags
Flags for controlling how a layout is rendered.
Definition qgis.h:5690
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:3936
TileAvailability
Possible availability states for a tile within a tile matrix.
Definition qgis.h:6230
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:4288
MapGridStyle
Map grid drawing styles.
Definition qgis.h:5805
SensorThingsVersion
OGC SensorThings API versions.
Definition qgis.h:6591
FeatureRendererFlag
Flags controlling behavior of vector feature renderers.
Definition qgis.h:877
static Q_DECL_DEPRECATED QString geoProj4()
PROJ4 string that represents a geographic coord system.
Definition qgis.h:7078
BrowserItemType
Browser item types.
Definition qgis.h:968
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
Definition qgis.h:2346
static bool hasGeographicLib()
Returns true if the QGIS build contains GeographicLib.
Definition qgis.cpp:727
SettingsType
Types of settings entries.
Definition qgis.h:663
QFlags< SettingsOption > SettingsOptions
Definition qgis.h:757
RasterTemporalMode
Raster layer temporal modes.
Definition qgis.h:2780
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1737
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:3010
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:379
RelationshipType
Relationship types.
Definition qgis.h:4789
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:4899
RasterInterfaceCapability
Raster interface capabilities.
Definition qgis.h:5277
JoinStyle
Join styles for buffers.
Definition qgis.h:2243
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:4625
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
Definition qgis.h:6582
CadMeasurementDisplayType
Advanced digitizing measurement display types.
Definition qgis.h:4275
ProcessingAlgorithmDocumentationFlag
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3801
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:3146
FieldDuplicatePolicy
Duplicate policy for fields.
Definition qgis.h:4128
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:6059
static const float DEFAULT_MAPTOPIXEL_THRESHOLD
Default threshold between map coordinates and device coordinates for map2pixel simplification.
Definition qgis.h:6893
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Definition qgis.h:2404
DpiMode
DpiMode enum.
Definition qgis.h:3540
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition qgis.h:1069
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3792
AltitudeBinding
Altitude binding.
Definition qgis.h:4180
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:6323
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:5049
ShaderClassificationMethod
Color ramp shader classification methods.
Definition qgis.h:1560
MapLayerLegendFlag
Map layer legend flags.
Definition qgis.h:4965
ZonalStatisticResult
Zonal statistics result codes.
Definition qgis.h:6423
ScriptLanguage
Scripting languages.
Definition qgis.h:4876
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
Definition qgis.h:1014
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:4536
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
Definition qgis.h:605
PlotAxisType
Plots axis types.
Definition qgis.h:3516
TiledSceneProviderCapability
Tiled scene data provider capabilities.
Definition qgis.h:6244
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:1445
PointCloudProfileType
Types of elevation profiles to generate for point cloud sources.
Definition qgis.h:4573
RasterBandStatistic
Available raster band statistics.
Definition qgis.h:6564
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
Definition qgis.h:6221
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:6414
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:2767
TextRenderFormat
Options for rendering text.
Definition qgis.h:2991
DocumentationBrowser
Documentation API browser.
Definition qgis.h:6686
DataType
Raster data types.
Definition qgis.h:393
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
Definition qgis.h:3664
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition qgis.h:1519
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:5390
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
Definition qgis.h:1708
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition qgis.h:4502
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
Definition qgis.h:2857
RelationshipCapability
Relationship capabilities.
Definition qgis.h:4829
SkyboxCubeMapping
Skybox texture cube mapping for distinct texture skyboxes.
Definition qgis.h:4462
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:5241
QFlags< VectorProviderCapability > VectorProviderCapabilities
Vector data provider capabilities.
Definition qgis.h:564
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:4477
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:3331
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:6291
PointCloudZoomOutRenderBehavior
Point cloud zoom out options.
Definition qgis.h:6759
QFlags< SymbolConverterCapability > SymbolConverterCapabilities
Symbol converter capabilities.
Definition qgis.h:826
LayerType
Types of layers that can be added to a map.
Definition qgis.h:206
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
Definition qgis.h:2627
FieldOrigin
Field origin.
Definition qgis.h:1825
LinearReferencingLabelSource
Defines what quantity to use for the labels shown in a linear referencing symbol layer.
Definition qgis.h:3345
QFlags< BrowserItemFilterFlag > BrowserItemFilterFlags
Browser item filter flags.
Definition qgis.h:1033
LabelWhitespaceCollisionHandling
Label whitespace collision handling.
Definition qgis.h:1248
RasterRangeExtent
Describes the extent used to compute raster ranges (min/max values).
Definition qgis.h:1681
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
Definition qgis.h:6501
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition qgis.h:4305
RenderUnit
Rendering size units.
Definition qgis.h:5607
QFlags< ArcGisRestServiceCapability > ArcGisRestServiceCapabilities
Available ArcGIS REST service capabilities.
Definition qgis.h:4778
static QString geographicCrsAuthId()
Geographic coordinate system auth:id string for a default geographic CRS (EPSG:4326).
Definition qgis.h:7061
CoordinateOrder
Order of coordinates.
Definition qgis.h:2538
SelectionFlag
Flags which control feature selection behavior.
Definition qgis.h:1918
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
Definition qgis.h:699
EndCapStyle
End cap styles for buffers.
Definition qgis.h:2230
ScaleCalculationMethod
Scale calculation logic.
Definition qgis.h:5714
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
Definition qgis.h:6314
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:5088
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
Definition qgis.h:2421
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:2134
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
Definition qgis.h:3030
QFlags< VerticalAxisInversion > VerticalAxisInversionFlags
Definition qgis.h:4514
FieldDomainType
Types of field domain.
Definition qgis.h:4141
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2949
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2913
RasterPipeInterfaceRole
Raster pipe interface roles.
Definition qgis.h:1573
CoverageValidityResult
Coverage validity results.
Definition qgis.h:2301
DataProviderReadFlag
Flags which control data provider construction.
Definition qgis.h:491
ScaleBarSegmentSizeMode
Modes for setting size for scale bar segments.
Definition qgis.h:5746
Aggregate
Available aggregates to calculate.
Definition qgis.h:6441
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:2594
BrowserItemFilterFlag
Browser item filter flags.
Definition qgis.h:1023
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
Definition qgis.h:911
static const double DEFAULT_SEARCH_RADIUS_MM
Identify search radius in mm.
Definition qgis.h:6890
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
Definition qgis.h:2650
MapBoxGlStyleSourceType
Available MapBox GL style source types.
Definition qgis.h:4722
LayoutUnitType
Types of layout units.
Definition qgis.h:5647
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:618
DashPatternLineEndingRule
Dash pattern line ending rules.
Definition qgis.h:3458
FieldMetadataProperty
Standard field metadata values.
Definition qgis.h:1866
MapGridAnnotationType
Annotation coordinate type.
Definition qgis.h:5968
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:6304
RasterRendererCapability
Raster renderer capabilities.
Definition qgis.h:1644
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition qgis.h:1954
HistoryProviderBackend
History provider backends.
Definition qgis.h:3685
static const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition qgis.h:6962
RasterExportType
Raster file export types.
Definition qgis.h:1750
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition qgis.h:1809
TextVerticalAlignment
Text vertical alignment.
Definition qgis.h:3130
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:4815
GradientType
Gradient types.
Definition qgis.h:3374
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
Definition qgis.h:4911
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:4561
GpsFeatureType
GPS feature types.
Definition qgis.h:2148
SourceHierarchyLevel
Defines the structural levels within a data source hierarchy.
Definition qgis.h:1498
VectorLayerTypeFlag
Vector layer type flags.
Definition qgis.h:435
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition qgis.h:2314
QFlags< Map3DDebugFlag > Map3DDebugFlags
Definition qgis.h:4330
RangeLimits
Describes how the limits of a range are handled.
Definition qgis.h:4192
QFlags< ProjectFlag > ProjectFlags
Definition qgis.h:4296
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:2755
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3962
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
Definition qgis.h:1159
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:1939
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:630
Map3DProjectionType
3D map projection type
Definition qgis.h:4339
Axis
Cartesian axes.
Definition qgis.h:2608
QFlags< ProcessingAlgorithmDocumentationFlag > ProcessingAlgorithmDocumentationFlags
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3813
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
Definition qgis.h:4841
ArcGisRestServiceCapability
Available ArcGIS REST service capabilities.
Definition qgis.h:4762
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:805
VolumeUnit
Units of volume.
Definition qgis.h:5539
CurvedTextFlag
Flags controlling behavior of curved text generation.
Definition qgis.h:3159
AttributeEditorType
Attribute editor types.
Definition qgis.h:6074
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
Definition qgis.h:5023
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
Definition qgis.h:6050
EmbeddedScriptMode
Authorisation to run script embedded in projects.
Definition qgis.h:448
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
Definition qgis.h:949
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:2373
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition qgis.h:902
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3884
MapGridFrameStyle
Style for map grid frames.
Definition qgis.h:5907
PointCloudAccessType
The access type of the data, local is for local files and remote for remote files (over HTTP).
Definition qgis.h:6748
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:4600
MeshElevationMode
Mesh layer elevation modes.
Definition qgis.h:4220
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:4655
SnappingMode
SnappingMode defines on which layer the snapping is performed.
Definition qgis.h:765
SymbolType
Symbol types.
Definition qgis.h:638
RasterColorInterpretation
Raster color interpretation.
Definition qgis.h:5136
static const int USER_CRS_START_ID
Minimum ID number for a user-defined projection.
Definition qgis.h:6953
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:4548
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:3041
Q_ENUM(ProcessingAlgorithmFlag)
static int geosVersionMinor()
GEOS Minor version number linked.
Definition qgis.cpp:761
MaterialRenderingTechnique
Material rendering techniques.
Definition qgis.h:4375
ColorModel
Color model types.
Definition qgis.h:6660
RendererUsage
Usage of the renderer.
Definition qgis.h:3627
SettingsTreeNodeOption
Options for named list nodes.
Definition qgis.h:694
BabelFormatCapability
Babel GPS format capabilities.
Definition qgis.h:2115
PostgresRelKind
Postgres database relkind options.
Definition qgis.h:5992
SegmentCalculationMethod
brief Method used to calculate the number of segments for circle approximation
Definition qgis.h:6771
GpsConnectionType
GPS connection types.
Definition qgis.h:1981
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
Definition qgis.h:6021
MouseHandlesAction
Action to be performed by the mouse handles.
Definition qgis.h:6698
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
Definition qgis.h:3869
QFlags< TextComponent > TextComponents
Text components.
Definition qgis.h:3100
static QString geoNone()
Constant that holds the string representation for "No ellipse/No CRS".
Definition qgis.h:7054
DevToolsNodeRole
Dev tools node custom data roles.
Definition qgis.h:6815
LoadStyleFlag
Flags for loading layer styles.
Definition qgis.h:252
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:4233
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
Definition qgis.h:6203
SymbolConverterCapability
Symbol converter capabilities.
Definition qgis.h:814
MetadataDateType
Date types for metadata.
Definition qgis.h:5117
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
Definition qgis.h:2823
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3895
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:5256
MapGridAnnotationDirection
Direction of grid annotations.
Definition qgis.h:5851
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:3111
SymbolFlag
Flags controlling behavior of symbols.
Definition qgis.h:896
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition qgis.h:4246
HttpMethod
Different methods of HTTP requests.
Definition qgis.h:1105
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:294
QFlags< SldExportOption > SldExportOptions
Definition qgis.h:730
SymbolCoordinateReference
Symbol coordinate reference modes.
Definition qgis.h:3389
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3754
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:6279
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
Definition qgis.h:6526
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1879
InputControllerType
Input controller types.
Definition qgis.h:5980
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:3589
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1906
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:2488
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:4032
static int geosVersionInt()
GEOS version number linked.
Definition qgis.cpp:750
QFlags< MarkerLinePlacement > MarkerLinePlacements
Definition qgis.h:3322
QFlags< MapCanvasFlag > MapCanvasFlags
Flags controlling behavior of map canvases.
Definition qgis.h:3650
CrsWktVariant
Coordinate reference system WKT formatting variants.
Definition qgis.h:2568
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:6336
MapGridAnnotationFormat
Format for displaying map grid annotations.
Definition qgis.h:5870
DocumentationApi
Documentation API.
Definition qgis.h:6672
AutoRefreshMode
Map layer automatic refresh modes.
Definition qgis.h:2431
AnnotationPlacementMode
Annotation item placement modes.
Definition qgis.h:2637
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3765
QFlags< InstancedMaterialFlag > InstancedMaterialFlags
Definition qgis.h:4398
SceneMode
The 3D scene mode used in 3D map views.
Definition qgis.h:4490
InstancedMaterialFlag
Optional per-instance properties of instanced materials.
Definition qgis.h:4393
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1842
SettingsOrigin
The setting origin describes where a setting is stored.
Definition qgis.h:4863
HorizontalAnchorPoint
Marker symbol horizontal anchor points.
Definition qgis.h:849
QFlags< CurvedTextFlag > CurvedTextFlags
Flags controlling behavior of curved text generation.
Definition qgis.h:3172
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3947
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:1235
static const double UI_SCALE_FACTOR
UI scaling factor.
Definition qgis.h:6938
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:6180
QFlags< LayerFilter > LayerFilters
Definition qgis.h:243
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:4019
DockableWidgetInitialState
Dockable widget initial states.
Definition qgis.h:6880
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:2844
TextComponent
Text components.
Definition qgis.h:3087
DateTimeStatistic
Available date/time statistics.
Definition qgis.h:6510
AnimationState
Animation states.
Definition qgis.h:2707
TransformDirection
Indicates the direction (forward or inverse) of a transform.
Definition qgis.h:2832
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:4437
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3907
QFlags< HistoryProviderBackend > HistoryProviderBackends
Definition qgis.h:3690
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition qgis.h:1309
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1857
UpsideDownLabelHandling
Handling techniques for upside down labels.
Definition qgis.h:1430
static const double DEFAULT_POINT_SIZE
The default size (in millimeters) for point marker symbols.
Definition qgis.h:6956
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:1995
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3987
MapSettingsFlag
Flags which adjust the way maps are rendered.
Definition qgis.h:2879
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
Definition qgis.h:1167
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
Definition qgis.h:3839
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1892
LayoutRenderFlag
Flags for controlling how a layout is rendered.
Definition qgis.h:5661
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:7200
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:7214
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:7206
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: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:7900
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:7814
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:7893
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:7595
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:7247
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:7465
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:7576
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:7634
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:7449
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:7663
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:7919
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:7559
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference).
Definition qgis.h:7405
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:7481
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:7542
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:7434
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference).
Definition qgis.h:7340
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:7292
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:7234
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:7909
Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system.
Definition qgis.h:7907
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:7411
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:7312
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:7380
#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:7353
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:7830
#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