QGIS API Documentation 3.39.0-Master (8448cf8e907)
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 <QMetaEnum>
23#include <cfloat>
24#include <memory>
25#include <cmath>
26
27#include "qgis_core.h"
28#include "qgis_sip.h"
29
30#ifdef SIP_RUN
31% ModuleHeaderCode
32#include <qgis.h>
33% End
34
35% ModuleCode
36int QgisEvent = QEvent::User + 1;
37% End
38#endif
39
40#ifndef SIP_RUN
41// qHash implementation for scoped enum type
42// https://gitlab.com/frostasm/programming-knowledge-base/-/snippets/20120
43#define QHASH_FOR_CLASS_ENUM(T) \
44 inline uint qHash(const T &t, uint seed) { \
45 return ::qHash(static_cast<typename std::underlying_type<T>::type>(t), seed); \
46 }
47#endif
48
53class CORE_EXPORT Qgis
54{
55 Q_GADGET
56 Q_CLASSINFO( "RegisterEnumClassesUnscoped", "false" )
57
58 public:
59
65 static QString version();
66
72 static int versionInt();
73
79 static QString releaseName();
80
82 static const char *QGIS_DEV_VERSION;
83
89 static QString devVersion();
90
91 // Enumerations
92 //
93
99 {
100 Info = 0,
101 Warning = 1,
102 Critical = 2,
103 Success = 3,
104 NoLevel = 4,
105 };
106 Q_ENUM( MessageLevel )
107
108
114 {
115 Vector SIP_MONKEYPATCH_COMPAT_NAME( VectorLayer ),
116 Raster SIP_MONKEYPATCH_COMPAT_NAME( RasterLayer ),
117 Plugin SIP_MONKEYPATCH_COMPAT_NAME( PluginLayer ),
118 Mesh SIP_MONKEYPATCH_COMPAT_NAME( MeshLayer ),
119 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( VectorTileLayer ),
120 Annotation SIP_MONKEYPATCH_COMPAT_NAME( AnnotationLayer ),
121 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( PointCloudLayer ),
122 Group SIP_MONKEYPATCH_COMPAT_NAME( GroupLayer ),
123 TiledScene,
124 };
125 Q_ENUM( LayerType )
126
127
133 {
134 RasterLayer = 1,
135 NoGeometry = 2,
136 PointLayer = 4,
137 LineLayer = 8,
138 PolygonLayer = 16,
139 HasGeometry = PointLayer | LineLayer | PolygonLayer,
140 VectorLayer = NoGeometry | HasGeometry,
141 PluginLayer = 32,
142 WritableLayer = 64,
143 MeshLayer = 128,
144 VectorTileLayer = 256,
145 PointCloudLayer = 512,
146 AnnotationLayer = 1024,
147 TiledSceneLayer = 2048,
148 All = RasterLayer | VectorLayer | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer,
149 SpatialLayer = RasterLayer | HasGeometry | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer
150 };
151 Q_DECLARE_FLAGS( LayerFilters, LayerFilter )
152 Q_FLAG( LayerFilters )
153
154
159 enum class LoadStyleFlag : int SIP_ENUM_BASETYPE( IntFlag )
160 {
161 IgnoreMissingStyleErrors = 1 << 0,
162 };
163 Q_ENUM( LoadStyleFlag )
164
165
170 Q_DECLARE_FLAGS( LoadStyleFlags, LoadStyleFlag )
171 Q_FLAG( LoadStyleFlags )
172
201 {
202 Unknown = 0,
203 Point = 1,
204 LineString = 2,
205 Polygon = 3,
206 Triangle = 17,
207 MultiPoint = 4,
208 MultiLineString = 5,
209 MultiPolygon = 6,
210 GeometryCollection = 7,
211 CircularString = 8,
212 CompoundCurve = 9,
213 CurvePolygon = 10,
214 MultiCurve = 11,
215 MultiSurface = 12,
216 PolyhedralSurface = 15,
217 TIN = 16,
218 NoGeometry = 100,
219 PointZ = 1001,
220 LineStringZ = 1002,
221 PolygonZ = 1003,
222 TriangleZ = 1017,
223 MultiPointZ = 1004,
224 MultiLineStringZ = 1005,
225 MultiPolygonZ = 1006,
226 GeometryCollectionZ = 1007,
227 CircularStringZ = 1008,
228 CompoundCurveZ = 1009,
229 CurvePolygonZ = 1010,
230 MultiCurveZ = 1011,
231 MultiSurfaceZ = 1012,
232 PolyhedralSurfaceZ = 1015,
233 TINZ = 1016,
234 PointM = 2001,
235 LineStringM = 2002,
236 PolygonM = 2003,
237 TriangleM = 2017,
238 MultiPointM = 2004,
239 MultiLineStringM = 2005,
240 MultiPolygonM = 2006,
241 GeometryCollectionM = 2007,
242 CircularStringM = 2008,
243 CompoundCurveM = 2009,
244 CurvePolygonM = 2010,
245 MultiCurveM = 2011,
246 MultiSurfaceM = 2012,
247 PolyhedralSurfaceM = 2015,
248 TINM = 2016,
249 PointZM = 3001,
250 LineStringZM = 3002,
251 PolygonZM = 3003,
252 MultiPointZM = 3004,
253 MultiLineStringZM = 3005,
254 MultiPolygonZM = 3006,
255 GeometryCollectionZM = 3007,
256 CircularStringZM = 3008,
257 CompoundCurveZM = 3009,
258 CurvePolygonZM = 3010,
259 MultiCurveZM = 3011,
260 MultiSurfaceZM = 3012,
261 PolyhedralSurfaceZM = 3015,
262 TINZM = 3016,
263 TriangleZM = 3017,
264 Point25D = 0x80000001,
265 LineString25D,
266 Polygon25D,
267 MultiPoint25D,
268 MultiLineString25D,
269 MultiPolygon25D
270 };
271 Q_ENUM( WkbType )
272
273
282 {
283 Point SIP_MONKEYPATCH_COMPAT_NAME( PointGeometry ),
284 Line SIP_MONKEYPATCH_COMPAT_NAME( LineGeometry ),
285 Polygon SIP_MONKEYPATCH_COMPAT_NAME( PolygonGeometry ),
286 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownGeometry ),
287 Null SIP_MONKEYPATCH_COMPAT_NAME( NullGeometry ),
288 };
289 Q_ENUM( GeometryType )
290
291
296 {
297 UnknownDataType = 0,
298 Byte = 1,
299 Int8 = 14,
300 UInt16 = 2,
301 Int16 = 3,
302 UInt32 = 4,
303 Int32 = 5,
304 Float32 = 6,
305 Float64 = 7,
306 CInt16 = 8,
307 CInt32 = 9,
308 CFloat32 = 10,
309 CFloat64 = 11,
310 ARGB32 = 12,
311 ARGB32_Premultiplied = 13
312 };
313 Q_ENUM( DataType )
314
315
320 enum class CaptureTechnique : int
321 {
322 StraightSegments,
323 CircularString,
324 Streaming,
325 Shape,
326 };
327 Q_ENUM( CaptureTechnique )
328
329
334 enum class VectorLayerTypeFlag : int SIP_ENUM_BASETYPE( IntFlag )
335 {
336 SqlQuery = 1 << 0
337 };
338 Q_ENUM( VectorLayerTypeFlag )
341 Q_FLAG( VectorLayerTypeFlags )
342
348 {
349 Never = 0,
350 Ask = 1,
351 SessionOnly = 2,
352 Always = 3,
353 NotForThisSession,
354 };
355 Q_ENUM( PythonMacroMode )
356
357
365 {
366 TrustDataSource SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustDataSource ) = 1 << 0,
367 SkipFeatureCount = 1 << 1,
368 LoadDefaultStyle SIP_MONKEYPATCH_COMPAT_NAME( FlagLoadDefaultStyle ) = 1 << 2,
369 SkipGetExtent = 1 << 3,
370 SkipFullScan = 1 << 4,
371 ForceReadOnly = 1 << 5,
372 SkipCredentialsRequest = 1 << 6,
373 ParallelThreadLoading = 1 << 7,
374 };
375 Q_ENUM( DataProviderReadFlag )
376
377
385 Q_FLAG( DataProviderReadFlags )
386
387 // TODO QGIS 4 -- remove NoCapabilities and rely on VectorProviderCapabilities() instead
388
397 {
398 NoCapabilities = 0,
399 AddFeatures = 1,
400 DeleteFeatures = 1 << 1,
401 ChangeAttributeValues = 1 << 2,
402 AddAttributes = 1 << 3,
403 DeleteAttributes = 1 << 4,
404 CreateSpatialIndex = 1 << 6,
405 SelectAtId = 1 << 7,
406 ChangeGeometries = 1 << 8,
407 SelectEncoding = 1 << 13,
408 CreateAttributeIndex = 1 << 12,
409 SimplifyGeometries = 1 << 14,
410 SimplifyGeometriesWithTopologicalValidation = 1 << 15,
411 TransactionSupport = 1 << 16,
412 CircularGeometries = 1 << 17,
413 ChangeFeatures = 1 << 18,
414 RenameAttributes = 1 << 19,
415 FastTruncate = 1 << 20,
416 ReadLayerMetadata = 1 << 21,
417 WriteLayerMetadata = 1 << 22,
418 CancelSupport = 1 << 23,
419 CreateRenderer = 1 << 24,
420 CreateLabeling = 1 << 25,
421 ReloadData = 1 << 26,
422 FeatureSymbology = 1 << 27,
423 EditingCapabilities = AddFeatures | DeleteFeatures | ChangeAttributeValues | ChangeGeometries | AddAttributes | DeleteAttributes | RenameAttributes,
424 };
425 Q_ENUM( VectorProviderCapability )
426
427
436
443 {
444 Uncounted = -2,
445 UnknownCount = -1,
446 };
447 Q_ENUM( FeatureCountState )
448
449
456 {
457 Unknown SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexUnknown ) = 0,
458 NotPresent SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexNotPresent ) = 1,
459 Present SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexPresent ) = 2,
460 };
461 Q_ENUM( SpatialIndexPresence )
462
463
475 {
476 NoFeaturesAvailable = 0,
477 FeaturesAvailable,
478 FeaturesMaybeAvailable
479 };
480 Q_ENUM( FeatureAvailability )
481
482
488 {
489 EditAlias = 1 << 0,
490 EditComment = 1 << 1,
491 };
492
493 Q_ENUM( VectorDataProviderAttributeEditCapability )
494
495
502
508 {
509 Marker,
510 Line,
511 Fill,
512 Hybrid
513 };
514 Q_ENUM( SymbolType )
515
516
522 {
523 ScaleArea,
524 ScaleDiameter
525 };
526 Q_ENUM( ScaleMethod )
527
528
533 {
534 Custom,
535 Variant,
536 String,
537 StringList,
538 VariantMap,
539 Bool,
540 Integer,
541 Double,
542 EnumFlag,
543 Color
544 };
545 Q_ENUM( SettingsType )
546
547
552 {
553 Root,
554 Standard,
555 NamedList,
556 };
557 Q_ENUM( SettingsTreeNodeType )
558
559
563 enum class SettingsTreeNodeOption : int SIP_ENUM_BASETYPE( IntFlag )
564 {
565 NamedListSelectedItemSetting = 1 << 0,
566 };
567
568 Q_ENUM( SettingsTreeNodeOption )
571
580 {
581 Invalid SIP_MONKEYPATCH_COMPAT_NAME( InvalidProperty ),
582 Static SIP_MONKEYPATCH_COMPAT_NAME( StaticProperty ),
583 Field SIP_MONKEYPATCH_COMPAT_NAME( FieldBasedProperty ),
584 Expression SIP_MONKEYPATCH_COMPAT_NAME( ExpressionBasedProperty ),
585 };
586 Q_ENUM( PropertyType )
587
588
593 enum class SldExportOption : int SIP_ENUM_BASETYPE( IntFlag )
594 {
595 NoOptions = 0,
596 Svg = 1 << 0,
597 Png = 1 << 1,
598 };
599 Q_ENUM( SldExportOption )
601 Q_FLAG( SldExportOptions )
602
608 enum class SldExportVendorExtension : int SIP_ENUM_BASETYPE( IntFlag )
609 {
610 NoVendorExtension = 0,
611 GeoServerVendorExtension = 1 << 1,
612 DeegreeVendorExtension = 1 << 2,
613 };
614 Q_ENUM( SldExportVendorExtension )
615
616
617
621 enum class SettingsOption : int SIP_ENUM_BASETYPE( IntFlag )
622 {
623 SaveFormerValue = 1 << 1,
624 SaveEnumFlagAsInt = 1 << 2,
625 };
626 Q_ENUM( SettingsOption )
627 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
628 Q_FLAG( SettingsOptions )
629
635 {
636 ActiveLayer = 1,
637 AllLayers = 2,
638 AdvancedConfiguration = 3,
639 };
640 Q_ENUM( SnappingMode )
641
642
647 {
648 NoSnap SIP_MONKEYPATCH_COMPAT_NAME( NoSnapFlag ) = 0,
649 Vertex SIP_MONKEYPATCH_COMPAT_NAME( VertexFlag ) = 1 << 0,
650 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentFlag ) = 1 << 1,
651 Area SIP_MONKEYPATCH_COMPAT_NAME( AreaFlag ) = 1 << 2,
652 Centroid SIP_MONKEYPATCH_COMPAT_NAME( CentroidFlag ) = 1 << 3,
653 MiddleOfSegment SIP_MONKEYPATCH_COMPAT_NAME( MiddleOfSegmentFlag ) = 1 << 4,
654 LineEndpoint SIP_MONKEYPATCH_COMPAT_NAME( LineEndpointFlag ) = 1 << 5,
655 };
656 Q_ENUM( SnappingType )
659 Q_FLAG( SnappingTypes )
660
667 {
668 DynamicRotation = 1 << 1,
669 IsSymbolLayerSubSymbol = 1 << 2,
670 ForceVectorRendering = 1 << 3,
671 ExcludeSymbolBuffers = 1 << 4,
672 };
673 Q_ENUM( SymbolRenderHint )
676 Q_FLAG( SymbolRenderHints )
677
683 enum class SymbolRotationMode : int
684 {
685 RespectMapRotation,
686 IgnoreMapRotation,
687 };
688 Q_ENUM( SymbolRotationMode )
689
690
695 enum class SymbolFlag : int SIP_ENUM_BASETYPE( IntFlag )
696 {
697 RendererShouldUseSymbolLevels = 1 << 0,
698 };
699 Q_ENUM( SymbolFlag )
701 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
702 Q_FLAG( SymbolFlags )
703
710 {
711 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
712 };
713 Q_ENUM( SymbolPreviewFlag )
716 Q_FLAG( SymbolPreviewFlags )
717
727 enum class SymbolLayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
728 {
729 DisableFeatureClipping = 1 << 0,
730 CanCalculateMaskGeometryPerFeature = 1 << 1,
731 };
732 Q_ENUM( SymbolLayerFlag )
735 Q_FLAG( SymbolLayerFlags )
736
746 enum class SymbolLayerUserFlag : int SIP_ENUM_BASETYPE( IntFlag )
747 {
748 DisableSelectionRecoloring = 1 << 0,
749 };
750 Q_ENUM( SymbolLayerUserFlag )
751
752
758 Q_FLAG( SymbolLayerUserFlags )
759
766 {
767 Collection,
768 Directory,
769 Layer,
770 Error,
771 Favorites,
772 Project,
773 Custom,
774 Fields,
775 Field,
776 };
777 Q_ENUM( BrowserItemType )
778
779
785 {
786 NotPopulated,
787 Populating,
788 Populated,
789 };
790 Q_ENUM( BrowserItemState )
791
792
798 {
799 NoCapabilities = 0,
800 SetCrs = 1 << 0,
801 Fertile = 1 << 1,
802 Fast = 1 << 2,
803 Collapse = 1 << 3,
804 Rename = 1 << 4,
805 Delete = 1 << 5,
806 ItemRepresentsFile = 1 << 6,
807 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
808 ReadOnly = 1 << 8,
809 };
810 Q_ENUM( BrowserItemCapability )
814
823 {
824 NoCapabilities SIP_MONKEYPATCH_COMPAT_NAME( NoDataCapabilities ) = 0,
825 Files SIP_MONKEYPATCH_COMPAT_NAME( File ) = 1,
826 Directories SIP_MONKEYPATCH_COMPAT_NAME( Dir ) = 1 << 1,
827 Databases SIP_MONKEYPATCH_COMPAT_NAME( Database ) = 1 << 2,
828 NetworkSources SIP_MONKEYPATCH_COMPAT_NAME( Net ) = 1 << 3,
829 };
830 Q_ENUM( DataItemProviderCapability )
831
832
841
848 {
849 NoType,
850 Vector,
851 Raster,
852 Point,
853 Line,
854 Polygon,
855 TableLayer,
856 Database,
857 Table,
858 Plugin,
859 Mesh,
860 VectorTile,
861 PointCloud,
862 TiledScene,
863 };
864 Q_ENUM( BrowserLayerType )
865
866
872 {
873 Default,
874 NeverMonitor,
875 AlwaysMonitor,
876 };
877 Q_ENUM( BrowserDirectoryMonitoring )
878
879
883 enum class HttpMethod : int
884 {
885 Get = 0,
886 Post = 1
887 };
888 Q_ENUM( HttpMethod )
889
890
896 {
897 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
898 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
899 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
900 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
901 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
902 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
903 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
904 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
905 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
906 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
907 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
908 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
909 };
910 Q_ENUM( VectorExportResult )
911
912
917 {
918 FieldAliases = 1 << 0,
919 FieldComments = 1 << 2,
920 };
921 Q_ENUM( VectorFileWriterCapability )
922
923
929
935 {
936 SubsetStringFilter = 1 << 1,
937 GeometryColumn = 1 << 2,
938 PrimaryKeys = 1 << 3,
939 UnstableFeatureIds = 1 << 4
940 };
941 Q_ENUM( SqlLayerDefinitionCapability )
945
951 enum class SqlKeywordCategory : int
952 {
953 Keyword,
954 Constant,
955 Function,
956 Geospatial,
957 Operator,
958 Math,
959 Aggregate,
960 String,
961 Identifier
962 };
963 Q_ENUM( SqlKeywordCategory )
964
965
969 enum class DriveType : int
970 {
971 Unknown,
972 Invalid,
973 Removable,
974 Fixed,
975 Remote,
976 CdRom,
977 RamDisk,
978 Cloud,
979 };
980 Q_ENUM( DriveType )
981
982
987 {
988 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
989 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
990 };
991 Q_ENUM( ActionStart )
992
993
998 enum class UnplacedLabelVisibility : int
999 {
1000 FollowEngineSetting,
1001 NeverShow,
1002 };
1003 Q_ENUM( UnplacedLabelVisibility )
1004
1005
1010 enum class LabelOverlapHandling : int
1011 {
1012 PreventOverlap,
1013 AllowOverlapIfRequired,
1014 AllowOverlapAtNoCost,
1015 };
1016 Q_ENUM( LabelOverlapHandling )
1017
1018
1023 enum class LabelPrioritization : int
1024 {
1025 PreferCloser,
1026 PreferPositionOrdering,
1027 };
1028 Q_ENUM( LabelPrioritization )
1029
1030
1038 {
1039 AroundPoint,
1040 OverPoint,
1041 Line,
1042 Curved,
1043 Horizontal,
1044 Free,
1045 OrderedPositionsAroundPoint,
1046 PerimeterCurved,
1047 OutsidePolygons,
1048 };
1049 Q_ENUM( LabelPlacement )
1050
1051
1059 {
1060 TopLeft,
1061 TopSlightlyLeft,
1062 TopMiddle,
1063 TopSlightlyRight,
1064 TopRight,
1065 MiddleLeft,
1066 MiddleRight,
1067 BottomLeft,
1068 BottomSlightlyLeft,
1069 BottomMiddle,
1070 BottomSlightlyRight,
1071 BottomRight,
1072 OverPoint,
1073 };
1074 Q_ENUM( LabelPredefinedPointPosition )
1075
1076
1085 {
1086 FromPoint,
1087 FromSymbolBounds,
1088 };
1089 Q_ENUM( LabelOffsetType )
1090
1091
1099 {
1100 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
1101 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
1102 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
1103 Left SIP_MONKEYPATCH_COMPAT_NAME( QuadrantLeft ),
1104 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
1105 Right SIP_MONKEYPATCH_COMPAT_NAME( QuadrantRight ),
1106 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
1107 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
1108 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
1109 };
1110 Q_ENUM( LabelQuadrantPosition )
1111
1112
1119 {
1120 OnLine = 1,
1121 AboveLine = 2,
1122 BelowLine = 4,
1123 MapOrientation = 8,
1124 };
1125 Q_ENUM( LabelLinePlacementFlag )
1126
1127
1135 Q_FLAG( LabelLinePlacementFlags )
1136
1144 {
1145 AllowPlacementOutsideOfPolygon = 1 << 0,
1146 AllowPlacementInsideOfPolygon = 1 << 1,
1147 };
1148 Q_ENUM( LabelPolygonPlacementFlag )
1149
1150
1158
1167 {
1168 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
1169 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
1170 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
1171 };
1172 Q_ENUM( UpsideDownLabelHandling )
1173
1174
1182 {
1183 Left SIP_MONKEYPATCH_COMPAT_NAME( MultiLeft ) = 0,
1184 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
1185 Right SIP_MONKEYPATCH_COMPAT_NAME( MultiRight ),
1186 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
1187 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
1188 };
1189 Q_ENUM( LabelMultiLineAlignment )
1190
1191
1198 {
1199 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
1200 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1201 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1202 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1203 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1204 VectorTile,
1205 TiledScene,
1206 };
1207 Q_ENUM( FileFilterType )
1208
1209
1214 enum class SublayerQueryFlag : int SIP_ENUM_BASETYPE( IntFlag )
1215 {
1216 FastScan = 1 << 0,
1217 ResolveGeometryType = 1 << 1,
1218 CountFeatures = 1 << 2,
1219 IncludeSystemTables = 1 << 3,
1220 };
1223 Q_ENUM( SublayerQueryFlag )
1224 Q_FLAG( SublayerQueryFlags )
1225
1226
1231 enum class SublayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
1232 {
1233 SystemTable = 1 << 0,
1234 };
1236 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1237 Q_ENUM( SublayerFlag )
1238 Q_FLAG( SublayerFlags )
1239
1240
1248 {
1249 Linear SIP_MONKEYPATCH_COMPAT_NAME( Interpolated ) = 0,
1250 Discrete = 1,
1251 Exact = 2,
1252 };
1253 Q_ENUM( ShaderInterpolationMethod )
1254
1255
1263 {
1264 Continuous = 1,
1265 EqualInterval = 2,
1266 Quantile = 3,
1267 };
1268 Q_ENUM( ShaderClassificationMethod )
1269
1270
1276 {
1277 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1278 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1279 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1280 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1281 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1282 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1283 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1284 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1285 };
1286 Q_ENUM( RasterPipeInterfaceRole )
1287
1288
1293 {
1295 ResampleFilter,
1297 Provider
1298 };
1299 Q_ENUM( RasterResamplingStage )
1300
1301
1306 enum class RasterRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
1307 {
1308 InternalLayerOpacityHandling = 1 << 0,
1309 UseNoDataForOutOfRangePixels = 1 << 1,
1310 };
1311
1318
1319 Q_ENUM( RasterRendererFlag )
1320 Q_FLAG( RasterRendererFlags )
1321
1322
1328 {
1329 UsesMultipleBands = 1 << 0,
1330 };
1331 Q_ENUM( RasterRendererCapability )
1332
1333
1340
1347 {
1348 Generic = 0,
1349 PixelCount = 1,
1350 Name = 2,
1351 Min = 3,
1352 Max = 4,
1353 MinMax = 5,
1354 Red = 6,
1355 Green = 7,
1356 Blue = 8,
1357 Alpha = 9,
1358 RedMin = 10,
1359 GreenMin = 11,
1360 BlueMin = 12,
1361 AlphaMin = 13,
1362 RedMax = 14,
1363 GreenMax = 15,
1364 BlueMax = 16,
1365 AlphaMax = 17,
1366 MaxCount
1367 };
1368 Q_ENUM( RasterAttributeTableFieldUsage )
1369
1370
1376 {
1377 Thematic = 0,
1378 Athematic = 1
1379 };
1380 Q_ENUM( RasterAttributeTableType )
1381
1382
1389 {
1390 Raw = 0,
1391 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1392 };
1393 Q_ENUM( RasterExportType )
1394
1395
1402 {
1403 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
1404 SourceProviderError = 1,
1405 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1406 CreateDatasourceError = 3,
1407 WriteError = 4,
1408 NoDataConflict = 5,
1409 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1410 };
1411 Q_ENUM( RasterFileWriterResult )
1412
1413
1418 enum class MeshEditingErrorType : int
1419 {
1420 NoError,
1421 InvalidFace,
1422 TooManyVerticesInFace,
1423 FlatFace,
1424 UniqueSharedVertex,
1425 InvalidVertex,
1426 ManifoldFace,
1427 };
1428 Q_ENUM( MeshEditingErrorType )
1429
1430
1435 enum class FilePathType : int
1436 {
1437 Absolute,
1438 Relative,
1439 };
1440 Q_ENUM( FilePathType )
1441
1442
1447 enum class SublayerPromptMode : int
1448 {
1449 AlwaysAsk,
1450 AskExcludingRasterBands,
1451 NeverAskSkip,
1452 NeverAskLoadAll,
1453 };
1454 Q_ENUM( SublayerPromptMode )
1455
1456
1464 {
1465 Unknown SIP_MONKEYPATCH_COMPAT_NAME( OriginUnknown ),
1466 Provider SIP_MONKEYPATCH_COMPAT_NAME( OriginProvider ),
1467 Join SIP_MONKEYPATCH_COMPAT_NAME( OriginJoin ),
1468 Edit SIP_MONKEYPATCH_COMPAT_NAME( OriginEdit ),
1469 Expression SIP_MONKEYPATCH_COMPAT_NAME( OriginExpression )
1470 };
1471 Q_ENUM( FieldOrigin )
1472
1473
1480 enum class FieldConfigurationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1481 {
1482 NoFlag = 0,
1483 NotSearchable = 1 << 1,
1484 HideFromWms = 1 << 2,
1485 HideFromWfs = 1 << 3,
1486 };
1487 Q_ENUM( FieldConfigurationFlag )
1488
1489
1497 Q_FLAG( FieldConfigurationFlags )
1498
1504 enum class FieldMetadataProperty : int
1505 {
1506 GeometryCrs = 0x1000,
1507 GeometryWkbType = 0x1001,
1508 CustomProperty = 0x100000,
1509 };
1510 Q_ENUM( FieldMetadataProperty )
1511
1512
1517 enum class SelectionRenderingMode : int
1518 {
1519 Default,
1520 CustomColor,
1521 CustomSymbol,
1522 };
1523 Q_ENUM( SelectionRenderingMode )
1524
1525
1531 {
1532 SetSelection,
1533 AddToSelection,
1534 IntersectSelection,
1535 RemoveFromSelection,
1536 };
1537 Q_ENUM( SelectBehavior )
1538
1539
1545 {
1546 Intersect,
1547 Within,
1548 };
1549 Q_ENUM( SelectGeometryRelationship )
1550
1551
1556 enum class SelectionFlag : int SIP_ENUM_BASETYPE( IntFlag )
1557 {
1558 SingleFeatureSelection = 1 << 0,
1559 ToggleSelection = 1 << 1,
1560 };
1561
1567 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1568
1569 Q_ENUM( SelectionFlag )
1570 Q_FLAG( SelectionFlags )
1571
1572
1578 {
1579 Success = 0,
1580 EmptyGeometry = 1,
1581 EditFailed = 2,
1582 FetchFeatureFailed = 3,
1583 InvalidLayer = 4,
1584 };
1585 Q_ENUM( VectorEditResult )
1586
1587
1593 {
1594 SemiTransparentCircle,
1595 Cross,
1596 NoMarker,
1597 };
1598 Q_ENUM( VertexMarkerType )
1599
1600
1604 enum class ContentStatus : int
1605 {
1606 NotStarted,
1607 Running,
1608 Finished,
1609 Failed,
1610 Canceled,
1611 };
1612 Q_ENUM( ContentStatus )
1613
1614
1619 enum class GpsConnectionType : int
1620 {
1621 Automatic,
1622 Internal,
1623 Serial,
1624 Gpsd,
1625 };
1626 Q_ENUM( GpsConnectionType )
1627
1628
1633 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
1634 {
1635 Disconnected,
1636 Connecting,
1637 Connected,
1638 };
1639 Q_ENUM( DeviceConnectionStatus )
1640
1641
1649 {
1650 NoData,
1651 NoFix,
1652 Fix2D,
1653 Fix3D
1654 };
1656
1657
1664 {
1665 Unknown,
1666 Gps,
1667 Glonass,
1668 Galileo,
1669 BeiDou,
1670 Qzss,
1671 Navic,
1672 Sbas,
1673 };
1675
1682 {
1683 Unknown = -1,
1684 Invalid,
1685 GPS,
1686 DGPS,
1687 PPS,
1688 RTK,
1689 FloatRTK,
1690 Estimated,
1691 Manual,
1692 Simulation,
1693 };
1694 Q_ENUM( GpsQualityIndicator )
1695
1696
1701 enum class GpsNavigationStatus : int
1702 {
1703 NotValid,
1704 Safe,
1705 Caution,
1706 Unsafe,
1707 };
1709
1715 enum class GpsInformationComponent : int SIP_ENUM_BASETYPE( IntFlag )
1716 {
1717 Location = 1 << 0,
1718 Altitude = 1 << 1,
1719 GroundSpeed = 1 << 2,
1720 Bearing = 1 << 3,
1721 TotalTrackLength = 1 << 4,
1722 TrackDistanceFromStart = 1 << 5,
1723 Pdop = 1 << 6,
1724 Hdop = 1 << 7,
1725 Vdop = 1 << 8,
1726 HorizontalAccuracy = 1 << 9,
1727 VerticalAccuracy = 1 << 10,
1728 HvAccuracy = 1 << 11,
1729 SatellitesUsed = 1 << 12,
1730 Timestamp = 1 << 13,
1731 TrackStartTime = 1 << 14,
1732 TrackEndTime = 1 << 15,
1733 TrackDistanceSinceLastPoint = 1 << 16,
1734 TrackTimeSinceLastPoint = 1 << 17,
1735 GeoidalSeparation = 1 << 18,
1736 EllipsoidAltitude = 1 << 19,
1737 };
1738
1745 Q_ENUM( GpsInformationComponent )
1746 Q_FLAG( GpsInformationComponents )
1747
1748
1753 enum class BabelFormatCapability : int SIP_ENUM_BASETYPE( IntFlag )
1754 {
1755 Import = 1 << 0,
1756 Export = 1 << 1,
1757 Waypoints = 1 << 2,
1758 Routes = 1 << 3,
1759 Tracks = 1 << 4,
1760 };
1763 Q_ENUM( BabelFormatCapability )
1764 Q_FLAG( BabelFormatCapabilities )
1765
1766
1772 enum class BabelCommandFlag : int SIP_ENUM_BASETYPE( IntFlag )
1773 {
1774 QuoteFilePaths = 1 << 0,
1775 };
1778 Q_ENUM( BabelCommandFlag )
1779 Q_FLAG( BabelCommandFlags )
1780
1781
1786 enum class GpsFeatureType : int
1787 {
1788 Waypoint,
1789 Route,
1790 Track,
1791 };
1792 Q_ENUM( GpsFeatureType )
1793
1794
1802 {
1803 Success = 0,
1804 NothingHappened = 1000,
1805 InvalidBaseGeometry,
1806 InvalidInputGeometryType,
1807 SelectionIsEmpty,
1808 SelectionIsGreaterThanOne,
1809 GeometryEngineError,
1810 LayerNotEditable,
1811 // Add part issues
1812 AddPartSelectedGeometryNotFound,
1813 AddPartNotMultiGeometry,
1814 // Add ring issues
1815 AddRingNotClosed,
1816 AddRingNotValid,
1817 AddRingCrossesExistingRings,
1818 AddRingNotInExistingFeature,
1819 // Split features
1820 SplitCannotSplitPoint,
1821 GeometryTypeHasChanged,
1822 };
1823 Q_ENUM( GeometryOperationResult )
1824
1825
1831 {
1832 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles ) = 1 << 0,
1833 };
1836 Q_ENUM( GeometryValidityFlag )
1837 Q_FLAG( GeometryValidityFlags )
1838
1839
1844 {
1845 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
1846 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
1847 };
1848 Q_ENUM( GeometryValidationEngine )
1849
1850
1860 Q_ENUM( BufferSide )
1861
1862
1868 {
1869 Round SIP_MONKEYPATCH_COMPAT_NAME( CapRound ) = 1,
1870 Flat SIP_MONKEYPATCH_COMPAT_NAME( CapFlat ),
1871 Square SIP_MONKEYPATCH_COMPAT_NAME( CapSquare ),
1872 };
1873 Q_ENUM( EndCapStyle )
1874
1875
1881 {
1882 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
1883 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
1884 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
1885 };
1886 Q_ENUM( JoinStyle )
1887
1888
1893 enum class GeosCreationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1894 {
1895 RejectOnInvalidSubGeometry = 1 << 0,
1896 SkipEmptyInteriorRings = 1 << 1,
1897 };
1898 Q_ENUM( GeosCreationFlag )
1899
1900
1906 Q_FLAG( GeosCreationFlags )
1907
1913 enum class CoverageValidityResult : int
1914 {
1915 Invalid = 0,
1916 Valid = 1,
1917 Error = 2,
1918 };
1919 Q_ENUM( CoverageValidityResult )
1920
1921
1926 enum class MakeValidMethod : int
1927 {
1928 Linework = 0,
1929 Structure = 1,
1930 };
1931 Q_ENUM( MakeValidMethod )
1932
1933
1941 {
1942 NoFlags = 0,
1943 NoGeometry = 1,
1944 SubsetOfAttributes = 2,
1945 ExactIntersect = 4,
1946 IgnoreStaticNodesDuringExpressionCompilation = 8,
1947 EmbeddedSymbols = 16,
1948 };
1949 Q_ENUM( FeatureRequestFlag )
1950
1951
1959 Q_FLAG( FeatureRequestFlags )
1960
1969 {
1970 NoFilter SIP_MONKEYPATCH_COMPAT_NAME( FilterNone ),
1971 Fid SIP_MONKEYPATCH_COMPAT_NAME( FilterFid ),
1972 Expression SIP_MONKEYPATCH_COMPAT_NAME( FilterExpression ),
1973 Fids SIP_MONKEYPATCH_COMPAT_NAME( FilterFids )
1974 };
1975 Q_ENUM( FeatureRequestFilterType )
1976
1977
1985 {
1986 NoCheck SIP_MONKEYPATCH_COMPAT_NAME( GeometryNoCheck ) = 0,
1987 SkipInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometrySkipInvalid ) = 1,
1988 AbortOnInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometryAbortOnInvalid ) = 2,
1989 };
1990 Q_ENUM( InvalidGeometryCheck )
1991
1992
1997 enum class SpatialFilterType : int
1998 {
1999 NoFilter,
2000 BoundingBox,
2001 DistanceWithin,
2002 };
2003 Q_ENUM( SpatialFilterType )
2004
2005
2010 enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2011 {
2012 IncludeMetadataFile = 1 << 0,
2013 IncludeStyleFile = 1 << 1,
2014 };
2017 Q_ENUM( FileOperationFlag )
2018 Q_FLAG( FileOperationFlags )
2019
2020
2025 enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
2026 {
2027 UsersCannotToggleEditing = 1 << 0,
2028 IsBasemapLayer = 1 << 1,
2029 };
2032 Q_ENUM( MapLayerProperty )
2033 Q_FLAG( MapLayerProperties )
2034
2035
2040 enum class AutoRefreshMode : int
2041 {
2042 Disabled = 0,
2043 ReloadData = 1,
2044 RedrawOnly = 2,
2045 };
2046 Q_ENUM( AutoRefreshMode )
2047
2048
2053 enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
2054 {
2055 IsBasemapSource = 1 << 1,
2056 FastExtent2D = 1 << 2,
2057 FastExtent3D = 1 << 3,
2058 };
2061 Q_ENUM( DataProviderFlag )
2062 Q_FLAG( DataProviderFlags )
2063
2064
2071 enum class CrsType : int
2072 {
2073 Unknown,
2074 Geodetic,
2075 Geocentric,
2076 Geographic2d,
2077 Geographic3d,
2078 Vertical,
2079 Projected,
2080 Compound,
2081 Temporal,
2082 Engineering,
2083 Bound,
2084 Other,
2085 DerivedProjected,
2086 };
2087 Q_ENUM( CrsType )
2088
2089
2096 enum class CrsAxisDirection : int
2097 {
2098 North,
2099 NorthNorthEast,
2100 NorthEast,
2101 EastNorthEast,
2102 East,
2103 EastSouthEast,
2104 SouthEast,
2105 SouthSouthEast,
2106 South,
2107 SouthSouthWest,
2108 SouthWest,
2109 WestSouthWest,
2110 West,
2111 WestNorthWest,
2112 NorthWest,
2113 NorthNorthWest,
2114 GeocentricX,
2115 GeocentricY,
2116 GeocentricZ,
2117 Up,
2118 Down,
2119 Forward,
2120 Aft,
2121 Port,
2122 Starboard,
2123 Clockwise,
2124 CounterClockwise,
2125 ColumnPositive,
2126 ColumnNegative,
2127 RowPositive,
2128 RowNegative,
2129 DisplayRight,
2130 DisplayLeft,
2131 DisplayUp,
2132 DisplayDown,
2133 Future,
2134 Past,
2135 Towards,
2136 AwayFrom,
2137 Unspecified,
2138 };
2139 Q_ENUM( CrsAxisDirection )
2140
2141
2146 enum class CoordinateOrder : int
2147 {
2148 Default,
2149 XY,
2150 YX,
2151 };
2152 Q_ENUM( CoordinateOrder )
2153
2154
2162 {
2163 ShortString,
2164 MediumString,
2165 FullString,
2166 };
2167 Q_ENUM( CrsIdentifierType )
2168
2169
2177 {
2178 Wkt1Gdal SIP_MONKEYPATCH_COMPAT_NAME( WKT1_GDAL ),
2179 Wkt1Esri SIP_MONKEYPATCH_COMPAT_NAME( WKT1_ESRI ),
2180 Wkt2_2015 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015 ),
2181 Wkt2_2015Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015_SIMPLIFIED ),
2182 Wkt2_2019 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019 ),
2183 Wkt2_2019Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019_SIMPLIFIED ),
2184 Preferred SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED ) = Wkt2_2019,
2185 PreferredSimplified SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_SIMPLIFIED ) = Wkt2_2019Simplified,
2186 PreferredGdal SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_GDAL ) = Wkt2_2019,
2187 };
2188 Q_ENUM( CrsWktVariant )
2189
2190
2195 enum class Axis : int
2196 {
2197 X,
2198 Y,
2199 Z
2200 };
2201 Q_ENUM( Axis )
2202
2203
2208 enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
2209 {
2210 ScaleDependentBoundingBox = 1 << 0,
2211 SupportsReferenceScale = 1 << 1,
2212 SupportsCallouts = 1 << 2,
2213 };
2216 Q_ENUM( AnnotationItemFlag )
2217 Q_FLAG( AnnotationItemFlags )
2218
2219
2225 {
2226 SpatialBounds = 0,
2227 FixedSize,
2228 RelativeToMapFrame,
2229 };
2230 Q_ENUM( AnnotationPlacementMode )
2231
2232
2237 enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
2238 {
2239 FlagNoCreationTools = 1 << 0,
2240 };
2243 Q_ENUM( AnnotationItemGuiFlag )
2244 Q_FLAG( AnnotationItemGuiFlags )
2245
2246
2251 enum class AnnotationItemNodeType : int
2252 {
2253 VertexHandle,
2254 CalloutHandle,
2255 };
2256 Q_ENUM( AnnotationItemNodeType )
2257
2258
2264 {
2265 Success,
2266 Invalid,
2267 ItemCleared,
2268 };
2269 Q_ENUM( AnnotationItemEditOperationResult )
2270
2271
2279 {
2280 Disabled SIP_MONKEYPATCH_COMPAT_NAME( NavigationOff ),
2281 Animated,
2282 FixedRange,
2283 Movie,
2284 };
2285 Q_ENUM( TemporalNavigationMode )
2286
2287
2295 {
2296 Forward,
2297 Reverse,
2298 Idle,
2299 };
2300 Q_ENUM( AnimationState )
2301
2302
2307 enum class PlaybackOperation : int
2308 {
2309 SkipToStart,
2310 PreviousFrame,
2311 PlayReverse,
2312 Pause,
2313 PlayForward,
2314 NextFrame,
2315 SkipToEnd,
2316 };
2317 Q_ENUM( PlaybackOperation )
2318
2319
2325 {
2326 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2327 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
2328 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
2329 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
2330 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
2331 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ),
2332 };
2333 Q_ENUM( VectorTemporalMode )
2334
2335
2341 {
2342 IncludeBeginExcludeEnd = 0,
2343 IncludeBeginIncludeEnd,
2344 };
2345 Q_ENUM( VectorTemporalLimitMode )
2346
2347
2353 {
2354 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
2355 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
2356 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2357 };
2358 Q_ENUM( VectorDataProviderTemporalMode )
2359
2360
2366 {
2367 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2368 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
2369 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ) = 2,
2370 FixedRangePerBand = 3,
2371 RepresentsTemporalValues = 4,
2372 };
2373 Q_ENUM( RasterTemporalMode )
2374
2375
2381 {
2382 MatchUsingWholeRange,
2383 MatchExactUsingStartOfRange,
2384 MatchExactUsingEndOfRange,
2385 FindClosestMatchToStartOfRange,
2386 FindClosestMatchToEndOfRange
2387 };
2388 Q_ENUM( TemporalIntervalMatchMethod )
2389
2390
2396 {
2397 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
2398 };
2399 Q_ENUM( RasterTemporalCapabilityFlag )
2400
2401
2408
2415 {
2416 Forward SIP_MONKEYPATCH_COMPAT_NAME( ForwardTransform ),
2417 Reverse SIP_MONKEYPATCH_COMPAT_NAME( ReverseTransform )
2418 };
2419 Q_ENUM( TransformDirection )
2420
2421
2427 {
2428 BallparkTransformsAreAppropriate = 1 << 0,
2429 IgnoreImpossibleTransformations = 1 << 1,
2430 };
2431 Q_ENUM( CoordinateTransformationFlag )
2432
2433
2440
2447 {
2448 Antialiasing = 0x01,
2449 DrawEditingInfo = 0x02,
2450 ForceVectorOutput = 0x04,
2451 UseAdvancedEffects = 0x08,
2452 DrawLabeling = 0x10,
2453 UseRenderingOptimization = 0x20,
2454 DrawSelection = 0x40,
2455 DrawSymbolBounds = 0x80,
2456 RenderMapTile = 0x100,
2457 RenderPartialOutput = 0x200,
2458 RenderPreviewJob = 0x400,
2459 RenderBlocking = 0x800,
2460 LosslessImageRendering = 0x1000,
2461 Render3DMap = 0x2000,
2462 HighQualityImageTransforms = 0x4000,
2463 SkipSymbolRendering = 0x8000,
2464 ForceRasterMasks = 0x10000,
2465 RecordProfile = 0x20000,
2466 AlwaysUseGlobalMasks = 0x40000,
2467 };
2470 Q_ENUM( MapSettingsFlag )
2471 Q_FLAG( MapSettingsFlags )
2472
2473
2479 {
2480 DrawEditingInfo = 0x01,
2481 ForceVectorOutput = 0x02,
2482 UseAdvancedEffects = 0x04,
2483 UseRenderingOptimization = 0x08,
2484 DrawSelection = 0x10,
2485 DrawSymbolBounds = 0x20,
2486 RenderMapTile = 0x40,
2487 Antialiasing = 0x80,
2488 RenderPartialOutput = 0x100,
2489 RenderPreviewJob = 0x200,
2490 RenderBlocking = 0x400,
2491 RenderSymbolPreview = 0x800,
2492 LosslessImageRendering = 0x1000,
2493 ApplyScalingWorkaroundForTextRendering = 0x2000,
2494 Render3DMap = 0x4000,
2495 ApplyClipAfterReprojection = 0x8000,
2496 RenderingSubSymbol = 0x10000,
2497 HighQualityImageTransforms = 0x20000,
2498 SkipSymbolRendering = 0x40000,
2499 RecordProfile = 0x80000,
2500 AlwaysUseGlobalMasks = 0x100000,
2501 };
2504 Q_ENUM( RenderContextFlag )
2505 Q_FLAG( RenderContextFlags )
2506
2507
2512 enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2513 {
2514 RenderPartialOutputs = 1 << 0,
2515 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2516 };
2517 Q_ENUM( MapLayerRendererFlag )
2518
2519
2525 Q_FLAG( MapLayerRendererFlags )
2526
2527 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
2528 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
2529
2535 {
2536 AlwaysOutlines SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysOutlines ),
2537 AlwaysText SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysText ),
2538 };
2539 Q_ENUM( TextRenderFormat )
2540
2541
2549 {
2550 UseAllLabels = 1 << 1,
2551 UsePartialCandidates = 1 << 2,
2552 // TODO QGIS 4.0: remove
2553 RenderOutlineLabels = 1 << 3,
2554 DrawLabelRectOnly = 1 << 4,
2555 DrawCandidates = 1 << 5,
2556 DrawUnplacedLabels = 1 << 6,
2557 CollectUnplacedLabels = 1 << 7,
2558 DrawLabelMetrics = 1 << 8,
2559 };
2560 Q_ENUM( LabelingFlag )
2561
2562
2570 Q_FLAG( LabelingFlags )
2571
2580 {
2581 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
2582 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
2583 };
2584 Q_ENUM( LabelPlacementEngineVersion )
2585
2586
2594 {
2595 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
2596 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
2597 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
2598 };
2599 Q_ENUM( TextOrientation )
2600
2601
2609 {
2610 Rectangle SIP_MONKEYPATCH_COMPAT_NAME( Rect ),
2611 Point,
2612 Labeling SIP_MONKEYPATCH_COMPAT_NAME( Label ),
2613 RectangleCapHeightBased,
2614 RectangleAscentBased,
2615 };
2616 Q_ENUM( TextLayoutMode )
2617
2618
2626 {
2627 Text,
2628 Buffer,
2629 Background,
2630 Shadow,
2631 };
2632 Q_ENUM( TextComponent )
2633
2634
2642 {
2643 Left SIP_MONKEYPATCH_COMPAT_NAME( AlignLeft ),
2644 Center SIP_MONKEYPATCH_COMPAT_NAME( AlignCenter ),
2645 Right SIP_MONKEYPATCH_COMPAT_NAME( AlignRight ),
2646 Justify SIP_MONKEYPATCH_COMPAT_NAME( AlignJustify ),
2647 };
2648 Q_ENUM( TextHorizontalAlignment )
2649
2650
2661 {
2662 Top SIP_MONKEYPATCH_COMPAT_NAME( AlignTop ),
2663 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
2664 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
2665 };
2666 Q_ENUM( TextVerticalAlignment )
2667
2668
2677 {
2678 Normal,
2679 SuperScript,
2680 SubScript,
2681 };
2682 Q_ENUM( TextCharacterVerticalAlignment )
2683
2684
2692 {
2693 Distance = 0,
2694 SnapToGrid = 1,
2695 Visvalingam = 2,
2696 SnappedToGridGlobal = 3,
2697 };
2698 Q_ENUM( VectorSimplificationAlgorithm )
2699
2700
2708 {
2709 NoSimplification = 0,
2710 GeometrySimplification = 1,
2711 AntialiasingSimplification = 2,
2712 FullSimplification = 3,
2713 };
2714 Q_ENUM( VectorRenderingSimplificationFlag )
2715
2716
2725
2732 {
2733 Generic,
2734 ShadowOffset,
2735 BlurSize,
2736 GlowSpread,
2737 };
2738 Q_ENUM( RenderSubcomponentProperty )
2739
2740
2745 {
2746 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
2747 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
2748 };
2749 Q_ENUM( VertexType )
2750
2751
2759 {
2760 Square,
2761 Diamond,
2762 Pentagon,
2763 Hexagon,
2764 Triangle,
2765 EquilateralTriangle,
2766 Star,
2767 Arrow,
2768 Circle,
2769 Cross,
2770 CrossFill,
2771 Cross2,
2772 Line,
2773 ArrowHead,
2774 ArrowHeadFilled,
2775 SemiCircle,
2776 ThirdCircle,
2777 QuarterCircle,
2778 QuarterSquare,
2779 HalfSquare,
2780 DiagonalHalfSquare,
2781 RightHalfTriangle,
2782 LeftHalfTriangle,
2783 Octagon,
2784 SquareWithCorners,
2785 AsteriskFill,
2786 HalfArc,
2787 ThirdArc,
2788 QuarterArc,
2789 ParallelogramRight,
2790 ParallelogramLeft,
2791 Trapezoid,
2792 Shield,
2793 DiamondStar,
2794 Heart,
2795 Decagon,
2796 RoundedSquare,
2797 };
2798 Q_ENUM( MarkerShape )
2799
2800
2808 {
2809 Interval = 1 << 0,
2810 Vertex = 1 << 1,
2811 LastVertex = 1 << 2,
2812 FirstVertex = 1 << 3,
2813 CentralPoint = 1 << 4,
2814 CurvePoint = 1 << 5,
2815 SegmentCenter = 1 << 6,
2816 InnerVertices = 1 << 7,
2817 };
2818 Q_ENUM( MarkerLinePlacement )
2820 Q_FLAG( MarkerLinePlacements )
2821
2828 {
2829 IntervalCartesian2D = 1 << 0,
2830 IntervalZ = 1 << 1,
2831 IntervalM = 1 << 2,
2832 Vertex = 1 << 3,
2833 };
2834 Q_ENUM( LinearReferencingPlacement )
2835
2836
2842 {
2843 CartesianDistance2D,
2844 Z,
2845 M,
2846 };
2847 Q_ENUM( LinearReferencingLabelSource )
2848
2849
2857 {
2858 SimpleTwoColor,
2859 ColorRamp,
2860 };
2861 Q_ENUM( GradientColorSource )
2862
2863
2871 {
2872 Linear,
2873 Radial,
2874 Conical,
2875 };
2876 Q_ENUM( GradientType )
2877
2878
2886 {
2887 Feature,
2888 Viewport,
2889 };
2890 Q_ENUM( SymbolCoordinateReference )
2891
2892
2901 {
2902 Pad,
2903 Reflect,
2904 Repeat,
2905 };
2906 Q_ENUM( GradientSpread )
2907
2908
2916 {
2917 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
2918 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
2919 };
2920 Q_ENUM( PointCountMethod )
2921
2922
2927 enum class MarkerClipMode : int
2928 {
2929 NoClipping,
2930 Shape,
2931 CentroidWithin,
2932 CompletelyWithin,
2933 };
2934 Q_ENUM( MarkerClipMode )
2935
2936
2941 enum class LineClipMode : int
2942 {
2943 ClipPainterOnly,
2944 ClipToIntersection,
2945 NoClipping,
2946 };
2947 Q_ENUM( LineClipMode )
2948
2949
2955 {
2956 NoRule,
2957 FullDash,
2958 HalfDash,
2959 FullGap,
2960 HalfGap,
2961 };
2962 Q_ENUM( DashPatternLineEndingRule )
2963
2964
2970 {
2971 ScaleBothDashAndGap,
2972 ScaleDashOnly,
2973 ScaleGapOnly,
2974 };
2975 Q_ENUM( DashPatternSizeAdjustment )
2976
2977
2985 {
2986 Color SIP_MONKEYPATCH_COMPAT_NAME( GraduatedColor ),
2987 Size SIP_MONKEYPATCH_COMPAT_NAME( GraduatedSize ),
2988 };
2989 Q_ENUM( GraduatedMethod )
2990
2991
2997 {
2998 NoLabels,
2999 EveryLabel,
3000 FirstLabel,
3001 LastLabel,
3002 FirstAndLastLabels,
3003 };
3004 Q_ENUM( PlotAxisSuffixPlacement )
3005
3006
3010 enum class DpiMode
3011 {
3012 All = 7,
3013 Off = 0,
3014 QGIS = 1,
3015 UMN = 2,
3016 GeoServer = 4,
3017 };
3018 Q_ENUM( DpiMode )
3019
3020
3025 {
3026 Undefined = 0,
3027 StandardDpi = 1,
3028 HighDpi = 2,
3029 };
3030 Q_ENUM( TilePixelRatio )
3031
3032 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
3033
3034
3042 {
3043 MixedCase = 0,
3044 AllUppercase = 1,
3045 AllLowercase = 2,
3046 ForceFirstLetterToCapital = 4,
3047 SmallCaps = 5,
3048 TitleCase = 1004,
3049 UpperCamelCase = 1005,
3050 AllSmallCaps = 1006,
3051 };
3052 Q_ENUM( Capitalization )
3053
3054
3059 enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
3060 {
3061 WrapLines = 1 << 0,
3062 };
3063 Q_ENUM( TextRendererFlag )
3065 Q_FLAG( TextRendererFlags )
3066
3073 {
3074 MapBox,
3075 Esri,
3076 };
3078
3085 {
3086 Clockwise,
3087 CounterClockwise,
3088 NoOrientation,
3089 };
3090 Q_ENUM( AngularDirection )
3091
3092
3097 enum class RendererUsage : int
3098 {
3099 View,
3100 Export,
3101 Unknown,
3102 };
3103 Q_ENUM( RendererUsage )
3104
3105
3110 enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
3111 {
3112 Sync3DTo2D = 1 << 0,
3113 Sync2DTo3D = 1 << 1,
3114 };
3115 Q_ENUM( ViewSyncModeFlag )
3117
3124 {
3125 Always,
3126 WhenOutsideVisibleExtent,
3127 Never,
3128 };
3129 Q_ENUM( MapRecenteringMode )
3130
3131
3136 enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
3137 {
3138 LocalProfile = 1 << 0,
3139// Project = 1 << 1, //!< QGIS Project (not yet implemented)
3140 };
3141 Q_ENUM( HistoryProviderBackend )
3143 Q_FLAG( HistoryProviderBackends )
3144
3153 {
3154 MapLayer SIP_MONKEYPATCH_COMPAT_NAME( TypeMapLayer ) = -2,
3155 VectorAnyGeometry SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorAnyGeometry ) = -1,
3156 VectorPoint SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPoint ) = 0,
3157 VectorLine SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorLine ) = 1,
3158 VectorPolygon SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPolygon ) = 2,
3159 Raster SIP_MONKEYPATCH_COMPAT_NAME( TypeRaster ) = 3,
3160 File SIP_MONKEYPATCH_COMPAT_NAME( TypeFile ) = 4,
3161 Vector SIP_MONKEYPATCH_COMPAT_NAME( TypeVector ) = 5,
3162 Mesh SIP_MONKEYPATCH_COMPAT_NAME( TypeMesh ) = 6,
3163 Plugin SIP_MONKEYPATCH_COMPAT_NAME( TypePlugin ) = 7,
3164 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( TypePointCloud ) = 8,
3165 Annotation SIP_MONKEYPATCH_COMPAT_NAME( TypeAnnotation ) = 9,
3166 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorTile ) = 10
3167 };
3168 Q_ENUM( ProcessingSourceType )
3169
3170
3171
3179 {
3180 DeemphasiseSearchResults SIP_MONKEYPATCH_COMPAT_NAME( FlagDeemphasiseSearchResults ) = 1 << 1,
3181 CompatibleWithVirtualRaster SIP_MONKEYPATCH_COMPAT_NAME( FlagCompatibleWithVirtualRaster ) = 1 << 2,
3182 };
3184
3193 Q_FLAG( ProcessingProviderFlags )
3194
3195
3203 {
3204 HideFromToolbox SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromToolbox ) = 1 << 1,
3205 HideFromModeler SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromModeler ) = 1 << 2,
3206 SupportsBatch SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsBatch ) = 1 << 3,
3207 CanCancel SIP_MONKEYPATCH_COMPAT_NAME( FlagCanCancel ) = 1 << 4,
3208 RequiresMatchingCrs SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresMatchingCrs ) = 1 << 5,
3209 NoThreading SIP_MONKEYPATCH_COMPAT_NAME( FlagNoThreading ) = 1 << 6,
3210 DisplayNameIsLiteral SIP_MONKEYPATCH_COMPAT_NAME( FlagDisplayNameIsLiteral ) = 1 << 7,
3211 SupportsInPlaceEdits SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsInPlaceEdits ) = 1 << 8,
3212 KnownIssues SIP_MONKEYPATCH_COMPAT_NAME( FlagKnownIssues ) = 1 << 9,
3213 CustomException SIP_MONKEYPATCH_COMPAT_NAME( FlagCustomException ) = 1 << 10,
3214 PruneModelBranchesBasedOnAlgorithmResults SIP_MONKEYPATCH_COMPAT_NAME( FlagPruneModelBranchesBasedOnAlgorithmResults ) = 1 << 11,
3215 SkipGenericModelLogging SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGenericModelLogging ) = 1 << 12,
3216 NotAvailableInStandaloneTool SIP_MONKEYPATCH_COMPAT_NAME( FlagNotAvailableInStandaloneTool ) = 1 << 13,
3217 RequiresProject SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresProject ) = 1 << 14,
3218 Deprecated SIP_MONKEYPATCH_COMPAT_NAME( FlagDeprecated ) = HideFromToolbox | HideFromModeler,
3219 };
3221
3230 Q_FLAG( ProcessingAlgorithmFlags )
3231
3232
3238 {
3239 RegeneratesPrimaryKey = 1 << 0,
3240 RegeneratesPrimaryKeyInSomeScenarios = 1 << 1,
3241 };
3242 Q_ENUM( ProcessingAlgorithmDocumentationFlag )
3243
3244
3251
3261 {
3262 NotAvailable,
3263 Available,
3264 };
3265 Q_ENUM( ProcessingPropertyAvailability )
3266
3267
3275 {
3276 DefaultLevel = 0,
3277 Verbose,
3278 ModelDebug,
3279 };
3280 Q_ENUM( ProcessingLogLevel )
3281
3282
3290 {
3291 OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck ) = 1 << 0,
3292 CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature ) = 1 << 1,
3293 };
3294 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3295
3296
3305
3314 {
3315 SkipGeometryValidityChecks SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGeometryValidityChecks ) = 1 << 1,
3316 };
3317 Q_ENUM( ProcessingFeatureSourceFlag )
3318
3319
3328
3340 {
3341 ExposeToModeler = 1
3342 };
3343 Q_ENUM( ProcessingParameterTypeFlag )
3344
3345
3357
3366 {
3367 Advanced SIP_MONKEYPATCH_COMPAT_NAME( FlagAdvanced ) = 1 << 1,
3368 Hidden SIP_MONKEYPATCH_COMPAT_NAME( FlagHidden ) = 1 << 2,
3369 Optional SIP_MONKEYPATCH_COMPAT_NAME( FlagOptional ) = 1 << 3,
3370 IsModelOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagIsModelOutput ) = 1 << 4,
3371 };
3372 Q_ENUM( ProcessingParameterFlag )
3373
3374
3382 Q_FLAG( ProcessingParameterFlags )
3383
3392 {
3393 File = 0,
3394 Folder,
3395 };
3396 Q_ENUM( ProcessingFileParameterBehavior )
3397
3398
3406 {
3407 Integer,
3408 Double,
3409 };
3410 Q_ENUM( ProcessingNumberParameterType )
3411
3412
3420 {
3421 Any = -1,
3422 Numeric = 0,
3423 String = 1,
3424 DateTime = 2,
3425 Binary = 3,
3426 Boolean = 4,
3427 };
3428 Q_ENUM( ProcessingFieldParameterDataType )
3429
3430
3438 {
3439 DateTime,
3440 Date,
3441 Time,
3442 };
3443 Q_ENUM( ProcessingDateTimeParameterDataType )
3444
3445
3451 {
3452 ModelParameter,
3453 ChildOutput,
3454 StaticValue,
3455 Expression,
3456 ExpressionText,
3457 ModelOutput,
3458 };
3459 Q_ENUM( ProcessingModelChildParameterSource )
3460
3461
3467 {
3468 NotExecuted,
3469 Success,
3470 Failed,
3471 };
3472 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
3473
3474
3482 {
3483 Vertices,
3484 StructureLines,
3485 BreakLines
3486 };
3487 Q_ENUM( ProcessingTinInputLayerType )
3488
3489
3495 {
3496 Wkt SIP_MONKEYPATCH_COMPAT_NAME( FormatWkt ),
3497 Proj SIP_MONKEYPATCH_COMPAT_NAME( FormatProj ),
3498 };
3499 Q_ENUM( CrsDefinitionFormat )
3500
3501
3509 enum class FieldDomainSplitPolicy : int
3510 {
3511 DefaultValue,
3512 Duplicate,
3513 GeometryRatio,
3514 UnsetField,
3515 };
3516 Q_ENUM( FieldDomainSplitPolicy )
3517
3518
3526 enum class FieldDomainMergePolicy : int
3527 {
3528 DefaultValue,
3529 Sum,
3530 GeometryWeighted,
3531 };
3532 Q_ENUM( FieldDomainMergePolicy )
3533
3534
3541 enum class FieldDuplicatePolicy : int
3542 {
3543 DefaultValue,
3544 Duplicate,
3545 UnsetField,
3546 };
3547 Q_ENUM( FieldDuplicatePolicy )
3548
3549
3554 enum class FieldDomainType : int
3555 {
3556 Coded,
3557 Range,
3558 Glob,
3559 };
3560 Q_ENUM( FieldDomainType )
3561
3562
3567 enum class TransactionMode : int
3568 {
3569 Disabled = 0,
3570 AutomaticGroups = 1,
3571 BufferedGroups = 2,
3572 };
3573 Q_ENUM( TransactionMode )
3574
3575
3580 enum class AltitudeClamping : int
3581 {
3582 Absolute,
3583 Relative,
3584 Terrain,
3585 };
3586 Q_ENUM( AltitudeClamping )
3587
3588
3593 enum class AltitudeBinding : int
3594 {
3595 Vertex,
3596 Centroid,
3597 };
3598 Q_ENUM( AltitudeBinding )
3599
3600
3605 enum class RangeLimits : int
3606 {
3607 IncludeBoth = 0,
3608 IncludeLowerExcludeUpper,
3609 ExcludeLowerIncludeUpper,
3610 ExcludeBoth,
3611 };
3612 Q_ENUM( RangeLimits )
3613
3614
3619 enum class RasterElevationMode : int
3620 {
3621 FixedElevationRange = 0,
3622 RepresentsElevationSurface = 1,
3623 FixedRangePerBand = 2,
3624 DynamicRangePerBand = 3,
3625 };
3626 Q_ENUM( RasterElevationMode )
3627
3628
3633 enum class MeshElevationMode : int
3634 {
3635 FixedElevationRange = 0,
3636 FromVertices = 1,
3637 FixedRangePerGroup = 2,
3638 };
3639 Q_ENUM( MeshElevationMode )
3640
3641
3647 {
3648 NoConstraint,
3649 Perpendicular,
3650 Parallel
3651 };
3652 Q_ENUM( BetweenLineConstraint )
3653
3654
3659 enum class LineExtensionSide : int
3660 {
3661 BeforeVertex,
3662 AfterVertex,
3663 NoVertex,
3664 };
3665 Q_ENUM( LineExtensionSide )
3666
3667
3668
3672 enum class CadConstraintType : int
3673 {
3674 Generic,
3675 Angle,
3676 Distance,
3677 XCoordinate,
3678 YCoordinate,
3679 ZValue,
3680 MValue,
3681 };
3682 Q_ENUM( CadConstraintType )
3683
3684
3685
3690 enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
3691 {
3692 EvaluateDefaultValuesOnProviderSide = 1 << 0,
3693 TrustStoredLayerStatistics = 1 << 1,
3694 RememberLayerEditStatusBetweenSessions = 1 << 2,
3695 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
3696 };
3697 Q_ENUM( ProjectFlag )
3698 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
3699 Q_FLAG( ProjectFlags )
3700
3706 enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
3707 {
3708 ShowContextMenu = 1 << 0,
3709 };
3710 Q_ENUM( PlotToolFlag )
3711 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
3712 Q_FLAG( PlotToolFlags )
3713
3714
3722 enum class Point3DShape : int
3723 {
3724 Cylinder,
3725 Sphere,
3726 Cone,
3727 Cube,
3728 Torus,
3729 Plane,
3730 ExtrudedText,
3731 Model,
3732 Billboard,
3733 };
3734 Q_ENUM( Point3DShape )
3735
3736
3741 enum class LightSourceType : int
3742 {
3743 Point,
3744 Directional,
3745 };
3746 Q_ENUM( LightSourceType )
3747
3748
3753 enum class NavigationMode : int
3754 {
3755 TerrainBased,
3756 Walk
3757 };
3758 Q_ENUM( NavigationMode )
3759
3760
3765 enum class VerticalAxisInversion : int
3766 {
3767 Never,
3768 WhenDragging,
3769 Always,
3770 };
3771 Q_ENUM( VerticalAxisInversion )
3772
3773
3779 {
3780 Line,
3781 FillBelow,
3782 FillAbove,
3783 };
3785
3791 enum class VectorProfileType : int
3792 {
3793 IndividualFeatures,
3794 ContinuousSurface,
3795 };
3797
3803 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
3804 {
3805 RespectsMaximumErrorMapUnit = 1 << 0,
3806 RespectsDistanceRange = 1 << 1,
3807 RespectsElevationRange = 1 << 2,
3808 };
3809 Q_ENUM( ProfileGeneratorFlag )
3811 Q_FLAG( ProfileGeneratorFlags )
3812
3818 enum class ProfileExportType : int
3819 {
3820 Features3D,
3821 Profile2D,
3822 DistanceVsElevationTable,
3823 };
3825
3832 {
3833 Square,
3834 Circle,
3835 };
3836 Q_ENUM( PointCloudSymbol )
3837
3838
3844 {
3845 Default,
3846 BottomToTop,
3847 TopToBottom,
3848 };
3849 Q_ENUM( PointCloudDrawOrder )
3850
3851
3859 {
3860 AllowIntersections,
3861 AvoidIntersectionsCurrentLayer,
3862 AvoidIntersectionsLayers,
3863 };
3864 Q_ENUM( AvoidIntersectionsMode )
3865
3866
3874 {
3875 Qgz,
3876 Qgs,
3877 };
3878 Q_ENUM( ProjectFileFormat )
3879
3880
3888 {
3889 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers ) = 1 << 0,
3890 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts ) = 1 << 1,
3891 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata ) = 1 << 2,
3892 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
3893 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
3894 DontLoadProjectStyles = 1 << 5,
3895 ForceReadOnlyLayers = 1 << 6,
3896 DontUpgradeAnnotations = 1 << 7,
3897 };
3898 Q_ENUM( ProjectReadFlag )
3899
3900
3908 Q_FLAG( ProjectReadFlags )
3909
3918 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
3919 {
3920 ProjectStyles = 1 << 0,
3921 };
3922 Q_ENUM( ProjectCapability )
3923
3924
3930 Q_FLAG( ProjectCapabilities )
3931
3938 {
3939 Vector,
3940 Raster,
3941 RasterDem,
3942 GeoJson,
3943 Image,
3944 Video,
3945 Unknown,
3946 };
3947 Q_ENUM( MapBoxGlStyleSourceType )
3948
3949
3957 {
3958 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
3959 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
3960 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
3961 GlobeServer,
3962 GPServer,
3963 GeocodeServer,
3964 Unknown,
3965 };
3966 Q_ENUM( ArcGisRestServiceType )
3967
3968
3976 {
3977 Normal,
3978 Generated,
3979 };
3980 Q_ENUM( RelationshipType )
3981
3982
3990 {
3991 Association,
3992 Composition,
3993 };
3994 Q_ENUM( RelationshipStrength )
3995
3996
4002 {
4003 OneToOne,
4004 OneToMany,
4005 ManyToOne,
4006 ManyToMany,
4007 };
4008 Q_ENUM( RelationshipCardinality )
4009
4010
4015 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
4016 {
4017 MultipleFieldKeys = 1 << 0,
4018 ForwardPathLabel = 1 << 1,
4019 BackwardPathLabel = 1 << 2,
4020 };
4021 Q_ENUM( RelationshipCapability )
4022
4023
4029 Q_FLAG( RelationshipCapabilities )
4030
4036 enum class CoordinateDisplayType : int
4037 {
4038 MapCrs,
4039 MapGeographic,
4040 CustomCrs,
4041 };
4042 Q_ENUM( CoordinateDisplayType )
4043
4044
4049 enum class SettingsOrigin : int
4050 {
4051 Any,
4052 Global,
4053 Local,
4054 };
4055 Q_ENUM( SettingsOrigin )
4056
4057
4062 enum class ScriptLanguage : int
4063 {
4064 Css,
4065 QgisExpression,
4066 Html,
4067 JavaScript,
4068 Json,
4069 Python,
4070 R,
4071 Sql,
4072 Batch,
4073 Bash,
4074 Unknown,
4075 };
4076 Q_ENUM( ScriptLanguage )
4077
4078
4086 {
4087 Reformat = 1 << 0,
4088 CheckSyntax = 1 << 1,
4089 ToggleComment = 1 << 2,
4090 };
4091 Q_ENUM( ScriptLanguageCapability )
4092
4093
4100
4107 {
4108 AboveInsertionPoint,
4109 TopOfTree,
4110 OptimalInInsertionGroup,
4111 };
4112 Q_ENUM( LayerTreeInsertionMethod )
4113
4114
4119 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
4120 {
4121 SkipVisibilityCheck = 1 << 0,
4122 };
4123 Q_ENUM( LayerTreeFilterFlag )
4124
4125
4131 Q_FLAG( LayerTreeFilterFlags )
4132
4133
4141 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
4142 {
4143 ShowRuleDetails = 1 << 0,
4144 };
4145 Q_ENUM( LegendJsonRenderFlag )
4147 Q_FLAG( LegendJsonRenderFlags )
4148
4156 enum class ActionType : int
4157 {
4158 Invalid,
4159 MapLayerAction,
4160 AttributeAction
4161 };
4162 Q_ENUM( ActionType )
4163
4164
4171 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
4172 {
4173 Layer = 1 << 0,
4174 SingleFeature = 1 << 1,
4175 MultipleFeatures = 1 << 2,
4176 AllActions = Layer | SingleFeature | MultipleFeatures
4177 };
4178 Q_ENUM( MapLayerActionTarget )
4179
4180
4188 Q_FLAG( MapLayerActionTargets )
4189
4197 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
4198 {
4199 EnabledOnlyWhenEditable = 1 << 1,
4200 };
4201 Q_ENUM( MapLayerActionFlag )
4202
4203
4211 Q_FLAG( MapLayerActionFlags )
4212
4221 {
4222 Generic,
4223 GenericPython,
4224 Mac,
4225 Windows,
4226 Unix,
4227 OpenUrl,
4228 SubmitUrlEncoded,
4229 SubmitUrlMultipart,
4230 };
4231 Q_ENUM( AttributeActionType )
4232
4233
4239 {
4240 Created,
4241 Published,
4242 Revised,
4243 Superseded,
4244 };
4245 Q_ENUM( MetadataDateType )
4246
4247
4257 {
4258 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
4259 GrayIndex = 1,
4260 PaletteIndex = 2,
4261 RedBand = 3,
4262 GreenBand = 4,
4263 BlueBand = 5,
4264 AlphaBand = 6,
4265 HueBand = 7,
4266 SaturationBand = 8,
4267 LightnessBand = 9,
4268 CyanBand = 10,
4269 MagentaBand = 11,
4270 YellowBand = 12,
4271 BlackBand = 13,
4272 YCbCr_YBand = 14,
4273 YCbCr_CbBand = 15,
4274 YCbCr_CrBand = 16,
4275 ContinuousPalette = 17
4276 };
4277 Q_ENUM( RasterColorInterpretation )
4278
4279
4287 {
4288 GrayOrUndefined,
4289 Palette,
4290 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
4291 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
4292 };
4293 Q_ENUM( RasterLayerType )
4294
4295
4303 {
4304 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
4305 SingleBandGray,
4306 SingleBandPseudoColor,
4307 PalettedColor,
4308 PalettedSingleBandGray,
4309 PalettedSingleBandPseudoColor,
4310 PalettedMultiBandColor,
4311 MultiBandSingleBandGray,
4312 MultiBandSingleBandPseudoColor,
4313 MultiBandColor,
4314 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
4315 };
4316 Q_ENUM( RasterDrawingStyle )
4317
4318
4325 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
4326 {
4327 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
4328 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
4329 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
4330 };
4331 Q_ENUM( RasterPyramidFormat )
4332
4333
4341 {
4342 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
4343 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
4344 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
4345 };
4346 Q_ENUM( RasterBuildPyramidOption )
4347
4348
4356 {
4357 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
4358 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
4359 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
4360 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
4361 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
4362 };
4363 Q_ENUM( RasterIdentifyFormat )
4364
4365 // TODO QGIS 4 -- remove NoCapabilities and rely on RasterInterfaceCapabilities() instead
4366 // remove deprecated members
4367 // Remove "Identify" member, and replace with combinations of IdentifyValue/IdentifyText/etc
4368
4369
4377 {
4378 NoCapabilities = 0,
4379 Size = 1 << 1,
4380 Create = 1 << 2,
4381 Remove = 1 << 3,
4382 BuildPyramids = 1 << 4,
4383 Identify = 1 << 5,
4384 IdentifyValue = 1 << 6,
4385 IdentifyText = 1 << 7,
4386 IdentifyHtml = 1 << 8,
4387 IdentifyFeature = 1 << 9,
4388 Prefetch = 1 << 10,
4389 };
4390 Q_ENUM( RasterInterfaceCapability )
4391
4392
4399
4400 // TODO QGIS 4 -- remove NoProviderCapabilities and rely on RasterProviderCapabilities() instead
4401
4410 {
4411 NoProviderCapabilities = 0,
4412 ReadLayerMetadata = 1 << 1,
4413 WriteLayerMetadata = 1 << 2,
4414 ProviderHintBenefitsFromResampling = 1 << 3,
4415 ProviderHintCanPerformProviderResampling = 1 << 4,
4416 ReloadData = 1 << 5,
4417 DpiDependentData = 1 << 6,
4418 NativeRasterAttributeTable = 1 << 7,
4419 BuildPyramids = 1 << 8,
4420 };
4421 Q_ENUM( RasterProviderCapability )
4422
4423
4432
4439 {
4440 HighestElevation,
4441 NewerElevation,
4442 };
4443 Q_ENUM( ElevationMapCombineMethod )
4444
4445
4454 {
4455 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
4456 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
4457 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
4458 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
4459 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
4460 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
4461 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
4462 Burn SIP_MONKEYPATCH_COMPAT_NAME( BlendBurn ),
4463 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
4464 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
4465 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
4466 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
4467 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
4468 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
4469 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
4470 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
4471 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
4472 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
4473 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
4474 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
4475 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
4476 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
4477 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
4478 Xor SIP_MONKEYPATCH_COMPAT_NAME( BlendXor ),
4479 };
4480 Q_ENUM( BlendMode )
4481
4482
4490 {
4491 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
4492 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
4493 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
4494 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
4495 };
4496 Q_ENUM( SystemOfMeasurement )
4497
4498
4505 {
4506 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
4507 Pixels,
4508 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
4509 };
4510 Q_ENUM( MapToolUnit )
4511
4512
4520 {
4521 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
4522 Area SIP_MONKEYPATCH_COMPAT_NAME( TypeArea ),
4523 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
4524 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
4525 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
4526 };
4527 Q_ENUM( UnitType )
4528
4529
4537 {
4538 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
4539 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
4540 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
4541 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
4542 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
4543 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
4544 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
4545 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
4546 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
4547 Inches,
4548 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
4549 };
4550 Q_ENUM( DistanceUnit )
4551
4552
4560 {
4561 Standard,
4562 Geographic,
4563 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
4564 };
4565 Q_ENUM( DistanceUnitType )
4566
4567
4575 {
4576 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
4577 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
4578 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
4579 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
4580 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
4581 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
4582 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
4583 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
4584 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
4585 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
4586 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
4587 SquareInches,
4588 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
4589 };
4590 Q_ENUM( AreaUnit )
4591
4592
4600 {
4601 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
4602 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
4603 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
4604 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
4605 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
4606 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
4607 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
4608 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
4609 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
4610 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
4611 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
4612 };
4613 Q_ENUM( VolumeUnit )
4614
4615
4623 {
4624 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
4625 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
4626 Gon SIP_MONKEYPATCH_COMPAT_NAME( AngleGon ),
4627 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
4628 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
4629 Turn SIP_MONKEYPATCH_COMPAT_NAME( AngleTurn ),
4630 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
4631 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
4632 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
4633 };
4634 Q_ENUM( AngleUnit )
4635
4636
4644 {
4645 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
4646 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
4647 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
4648 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
4649 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
4650 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
4651 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
4652 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
4653 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
4654 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
4655 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
4656 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
4657 };
4658 Q_ENUM( TemporalUnit )
4659
4660
4668 {
4669 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
4670 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
4671 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
4672 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
4673 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
4674 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
4675 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
4676 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
4677 };
4678 Q_ENUM( RenderUnit )
4679
4680
4688 {
4689 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
4690 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
4691 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
4692 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
4693 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
4694 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
4695 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
4696 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
4697 };
4698 Q_ENUM( LayoutUnit )
4699
4700
4708 {
4709 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
4710 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
4711 };
4712 Q_ENUM( LayoutUnitType )
4713
4714
4722 {
4723 SVG SIP_MONKEYPATCH_COMPAT_NAME( FormatSVG ) = 0,
4724 Raster SIP_MONKEYPATCH_COMPAT_NAME( FormatRaster ),
4725 Unknown SIP_MONKEYPATCH_COMPAT_NAME( FormatUnknown ),
4726 };
4727 Q_ENUM( PictureFormat )
4728
4729
4730
4738 {
4739 Left SIP_MONKEYPATCH_COMPAT_NAME( AlignLeft ) = 0,
4740 Middle SIP_MONKEYPATCH_COMPAT_NAME( AlignMiddle ),
4741 Right SIP_MONKEYPATCH_COMPAT_NAME( AlignRight ),
4742 };
4743 Q_ENUM( ScaleBarAlignment )
4744
4745
4753 {
4754 Fixed SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFixed ) = 0,
4755 FitWidth SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFitWidth ) = 1
4756 };
4757 Q_ENUM( ScaleBarSegmentSizeMode )
4758
4759
4767 {
4768 AboveSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelAboveSegment ) = 0,
4769 BelowSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelBelowSegment ),
4770 };
4771 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
4772
4773
4781 {
4782 CenteredEdge SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredEdge ) = 0,
4783 CenteredSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredSegment ),
4784 };
4785 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
4786
4787
4792 enum class InputControllerType : int
4793 {
4794 Map2D,
4795 Map3D
4796 };
4798
4805 {
4806 NotSet,
4807 Unknown,
4808 OrdinaryTable,
4809 Index,
4810 Sequence,
4811 View,
4812 MaterializedView,
4813 CompositeType,
4814 ToastTable,
4815 ForeignTable,
4816 PartitionedTable,
4817 };
4818 Q_ENUM( PostgresRelKind )
4819
4820
4826 {
4827 SetFieldComment = 1 << 0,
4828 SetFieldAlias = 1 << 1,
4829 };
4830 Q_ENUM( DatabaseProviderConnectionCapability2 )
4833
4840 {
4841 SaveToDatabase = 1 << 1,
4842 LoadFromDatabase = 1 << 2,
4843 DeleteFromDatabase = 1 << 3
4844 };
4848
4849
4855 {
4856 LastProfile,
4857 DefaultProfile,
4858 AskUser,
4859 };
4860 Q_ENUM( UserProfileSelectionPolicy )
4861
4862
4870 {
4871 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
4872 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
4873 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
4874 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
4875 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
4876 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
4877 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
4878 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
4879 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
4880 };
4881 Q_ENUM( AttributeEditorType )
4882
4883
4889 {
4890 GroupBox,
4891 Tab,
4892 Row,
4893 };
4894 Q_ENUM( AttributeEditorContainerType )
4895
4896
4904 {
4905 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
4906 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
4907 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
4908 };
4909 Q_ENUM( AttributeFormLayout )
4910
4911
4919 {
4920 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
4921 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
4922 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
4923 };
4924 Q_ENUM( AttributeFormSuppression )
4925
4926
4934 {
4935 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
4936 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
4937 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
4938 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
4939 };
4940 Q_ENUM( AttributeFormPythonInitCodeSource )
4941
4942
4948 {
4949 Qgis,
4950 PointCloud,
4951 RasterCalculator,
4952 };
4953 Q_ENUM( ExpressionType )
4954
4955
4963 {
4964 NoSymbology = 0,
4965 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
4966 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
4967 };
4968 Q_ENUM( FeatureSymbologyExport )
4969
4970
4975 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
4976 {
4977 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
4978 };
4979 Q_ENUM( VectorTileProviderFlag )
4980
4981
4987 Q_FLAG( VectorTileProviderFlags )
4988
4994 {
4995 ReadLayerMetadata = 1 << 1,
4996 };
4997 Q_ENUM( VectorTileProviderCapability )
4998
4999
5006
5013 {
5014 Available,
5015 NotAvailable,
5016 AvailableNoChildren,
5017 UseLowerZoomLevelTile,
5018 };
5019 Q_ENUM( TileAvailability )
5020
5021
5027 {
5028 ReadLayerMetadata = 1 << 1,
5029 };
5030 Q_ENUM( TiledSceneProviderCapability )
5031
5032
5039
5046 {
5047 Region,
5048 OrientedBox,
5049 Sphere,
5050 };
5051 Q_ENUM( TiledSceneBoundingVolumeType )
5052
5053
5062 {
5063 Replacement,
5064 Additive,
5065 };
5066 Q_ENUM( TileRefinementProcess )
5067
5068
5074 {
5075 NoChildren,
5076 Available,
5077 NeedFetching,
5078 };
5079 Q_ENUM( TileChildrenAvailability )
5080
5081
5086 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
5087 {
5088 NoHierarchyFetch = 1 << 0,
5089 };
5090 Q_ENUM( TiledSceneRequestFlag )
5091
5092
5098 Q_FLAG( TiledSceneRequestFlags )
5099
5105 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
5106 {
5107 RequiresTextures = 1 << 0,
5108 ForceRasterRender = 1 << 1,
5109 RendersTriangles = 1 << 2,
5110 RendersLines = 1 << 3,
5111 };
5112 Q_ENUM( TiledSceneRendererFlag )
5113
5114
5120 Q_FLAG( TiledSceneRendererFlags )
5121
5127 enum class GdalResampleAlgorithm : int
5128 {
5129 RA_NearestNeighbour = 0,
5130 RA_Bilinear = 1,
5131 RA_Cubic = 2,
5132 RA_CubicSpline = 3,
5133 RA_Lanczos = 4,
5134 RA_Average = 5,
5135 RA_Mode = 6,
5136 RA_Max = 8,
5137 RA_Min = 9,
5138 RA_Median = 10,
5139 RA_Q1 = 11,
5140 RA_Q3 = 12,
5141 };
5142 Q_ENUM( GdalResampleAlgorithm )
5143
5144
5149 enum class VsiHandlerType : int
5150 {
5151 Invalid,
5152 Archive,
5153 Network,
5154 Cloud,
5155 Memory,
5156 Other,
5157 };
5158 Q_ENUM( VsiHandlerType )
5159
5160
5165 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
5166 {
5167 Count = 1,
5168 Sum = 2,
5169 Mean = 4,
5170 Median = 8,
5171 StDev = 16,
5172 Min = 32,
5173 Max = 64,
5174 Range = 128,
5175 Minority = 256,
5176 Majority = 512,
5177 Variety = 1024,
5178 Variance = 2048,
5179 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
5180 Default = Count | Sum | Mean,
5181 };
5182 Q_ENUM( ZonalStatistic )
5183
5184
5190 Q_FLAG( ZonalStatistics )
5191
5197 enum class ZonalStatisticResult : int
5198 {
5199 Success = 0,
5200 LayerTypeWrong = 1,
5201 LayerInvalid,
5202 RasterInvalid,
5203 RasterBandInvalid,
5204 FailedToCreateField = 8,
5205 Canceled = 9
5206 };
5207 Q_ENUM( ZonalStatisticResult )
5208
5209
5216 {
5217 Count,
5218 CountDistinct,
5219 CountMissing,
5220 Min,
5221 Max,
5222 Sum,
5223 Mean,
5224 Median,
5225 StDev,
5226 StDevSample,
5227 Range,
5228 Minority,
5229 Majority,
5230 FirstQuartile,
5231 ThirdQuartile,
5232 InterQuartileRange,
5233 StringMinimumLength,
5234 StringMaximumLength,
5235 StringConcatenate,
5236 GeometryCollect,
5237 ArrayAggregate,
5238 StringConcatenateUnique
5239 };
5240 Q_ENUM( Aggregate )
5241
5242
5248 {
5249 Count = 1 << 0,
5250 CountMissing = 1 << 15,
5251 Sum = 1 << 1,
5252 Mean = 1 << 2,
5253 Median = 1 << 3,
5254 StDev = 1 << 4,
5255 StDevSample = 1 << 5,
5256 Min = 1 << 6,
5257 Max = 1 << 7,
5258 Range = 1 << 8,
5259 Minority = 1 << 9,
5260 Majority = 1 << 10,
5261 Variety = 1 << 11,
5262 FirstQuartile = 1 << 12,
5263 ThirdQuartile = 1 << 13,
5264 InterQuartileRange = 1 << 14,
5265 First = 1 << 16,
5266 Last = 1 << 17,
5267 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
5268 };
5269 Q_ENUM( Statistic )
5270
5271
5277 Q_FLAG( Statistics )
5278
5285 {
5286 Count = 1,
5287 CountDistinct = 2,
5288 CountMissing = 4,
5289 Min = 8,
5290 Max = 16,
5291 Range = 32,
5292 All = Count | CountDistinct | CountMissing | Min | Max | Range,
5293 };
5294 Q_ENUM( DateTimeStatistic )
5295
5296
5302 Q_FLAG( DateTimeStatistics )
5303
5310 {
5311 Count = 1,
5312 CountDistinct = 2,
5313 CountMissing = 4,
5314 Min = 8,
5315 Max = 16,
5316 MinimumLength = 32,
5317 MaximumLength = 64,
5318 MeanLength = 128,
5319 Minority = 256,
5320 Majority = 512,
5321 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
5322 };
5323 Q_ENUM( StringStatistic )
5324
5325
5331 Q_FLAG( StringStatistics )
5332
5339 {
5340 NoStatistic = 0,
5341 Min = 1,
5342 Max = 1 << 1,
5343 Range = 1 << 2,
5344 Sum = 1 << 3,
5345 Mean = 1 << 4,
5346 StdDev = 1 << 5,
5347 SumOfSquares = 1 << 6,
5348 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
5349 };
5350 Q_ENUM( RasterBandStatistic )
5351
5352
5358 Q_FLAG( RasterBandStatistics )
5359
5365 enum class SensorThingsEntity : int
5366 {
5367 Invalid,
5368 Thing,
5369 Location,
5370 HistoricalLocation,
5371 Datastream,
5372 Sensor,
5373 ObservedProperty,
5374 Observation,
5375 FeatureOfInterest,
5376 MultiDatastream,
5377 };
5378 Q_ENUM( SensorThingsEntity )
5379
5380
5385 enum class ColorModel : int
5386 {
5387 Rgb,
5388 Cmyk,
5389 };
5390 Q_ENUM( ColorModel )
5391
5392
5395 static const double DEFAULT_SEARCH_RADIUS_MM;
5396
5398 static const float DEFAULT_MAPTOPIXEL_THRESHOLD;
5399
5405 static const QColor DEFAULT_HIGHLIGHT_COLOR;
5406
5410 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
5411
5415 static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
5416
5422 static const double SCALE_PRECISION;
5423
5428 static const double DEFAULT_Z_COORDINATE;
5429
5435 static const double DEFAULT_M_COORDINATE;
5436
5441 static const double UI_SCALE_FACTOR;
5442
5446 static const double DEFAULT_SNAP_TOLERANCE;
5447
5451 static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS;
5452
5458 static QString defaultProjectScales();
5459
5465 static int geosVersionInt();
5466
5472 static int geosVersionMajor();
5473
5479 static int geosVersionMinor();
5480
5486 static int geosVersionPatch();
5487
5493 static QString geosVersion();
5494};
5495
5498
5575
5576// hack to workaround warnings when casting void pointers
5577// retrieved from QLibrary::resolve to function pointers.
5578// It's assumed that this works on all systems supporting
5579// QLibrary
5580#define cast_to_fptr(f) f
5581
5582
5590// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
5591template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
5592{
5593 public:
5594
5599 explicit QgsSignalBlocker( Object *object )
5600 : mObject( object )
5601 , mPreviousState( object->blockSignals( true ) )
5602 {}
5603
5605 {
5606 mObject->blockSignals( mPreviousState );
5607 }
5608
5610 Object *operator->() { return mObject; }
5611
5612 private:
5613
5614 Object *mObject = nullptr;
5615 bool mPreviousState;
5616
5617};
5618
5631// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
5632template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
5633{
5634 return QgsSignalBlocker<Object>( object );
5635}
5636
5638CORE_EXPORT uint qHash( const QVariant &variant );
5639
5645inline QString qgsDoubleToString( double a, int precision = 17 )
5646{
5647 QString str;
5648 if ( precision )
5649 {
5650 if ( precision < 0 )
5651 {
5652 const double roundFactor = std::pow( 10, -precision );
5653 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
5654 }
5655 else
5656 {
5657 str = QString::number( a, 'f', precision );
5658 if ( str.contains( QLatin1Char( '.' ) ) )
5659 {
5660 // remove ending 0s
5661 int idx = str.length() - 1;
5662 while ( str.at( idx ) == '0' && idx > 1 )
5663 {
5664 idx--;
5665 }
5666 if ( idx < str.length() - 1 )
5667 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
5668 }
5669 }
5670 }
5671 else
5672 {
5673 str = QString::number( a, 'f', precision );
5674 }
5675 // avoid printing -0
5676 // see https://bugreports.qt.io/browse/QTBUG-71439
5677 if ( str == QLatin1String( "-0" ) )
5678 {
5679 return QLatin1String( "0" );
5680 }
5681 return str;
5682}
5683
5690inline bool qgsNanCompatibleEquals( double a, double b )
5691{
5692 const bool aIsNan = std::isnan( a );
5693 const bool bIsNan = std::isnan( b );
5694 if ( aIsNan || bIsNan )
5695 return aIsNan && bIsNan;
5696
5697 return a == b;
5698}
5699
5700#ifndef SIP_RUN
5701
5709template<typename T>
5710inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
5711{
5712 const bool aIsNan = std::isnan( a );
5713 const bool bIsNan = std::isnan( b );
5714 if ( aIsNan || bIsNan )
5715 return aIsNan && bIsNan;
5716
5717 const T diff = a - b;
5718 return diff >= -epsilon && diff <= epsilon;
5719}
5720#endif
5721
5728inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
5729{
5730 return qgsNumberNear<double>( a, b, epsilon );
5731}
5732
5739inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
5740{
5741 return qgsNumberNear<float>( a, b, epsilon );
5742}
5743
5745inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
5746{
5747 const bool aIsNan = std::isnan( a );
5748 const bool bIsNan = std::isnan( b );
5749 if ( aIsNan || bIsNan )
5750 return aIsNan && bIsNan;
5751
5752 // The most simple would be to print numbers as %.xe and compare as strings
5753 // but that is probably too costly
5754 // Then the fastest would be to set some bits directly, but little/big endian
5755 // has to be considered (maybe TODO)
5756 // Is there a better way?
5757 int aexp, bexp;
5758 const double ar = std::frexp( a, &aexp );
5759 const double br = std::frexp( b, &bexp );
5760
5761 return aexp == bexp &&
5762 std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
5763}
5764
5769inline double qgsRound( double number, int places )
5770{
5771 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
5772 const double scaleFactor = std::pow( 10.0, places );
5773 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
5774}
5775
5776#ifndef SIP_RUN
5777
5784template<class Key, class Value>
5785QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
5786{
5787 QString result;
5788 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
5789 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
5790
5791 result.chop( separator.size() );
5792 return result;
5793}
5794
5801template<class Key, class Value>
5802QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
5803{
5804 QString result;
5805 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
5806 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
5807
5808 result.chop( separator.size() );
5809 return result;
5810}
5811
5818template<class T>
5819QString qgsSetJoin( const QSet<T> &set, const QString &separator )
5820{
5821 QString result;
5822 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
5823 result += QString( "%1%2" ).arg( *it ).arg( separator );
5824
5825 result.chop( separator.size() );
5826 return result;
5827}
5828
5830
5840namespace qgis
5841{
5842
5855 template<typename To, typename From> inline To down_cast( From *f )
5856 {
5857 static_assert(
5858 ( std::is_base_of<From,
5859 typename std::remove_pointer<To>::type>::value ),
5860 "target type not derived from source type" );
5861 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
5862 return static_cast<To>( f );
5863 }
5864
5865 template<class T>
5866 QSet<T> listToSet( const QList<T> &list )
5867 {
5868 return QSet<T>( list.begin(), list.end() );
5869 }
5870
5871 template<class T>
5872 QList<T> setToList( const QSet<T> &set )
5873 {
5874 return QList<T>( set.begin(), set.end() );
5875 }
5876}
5877
5879#endif
5880
5885template<class T> const QList<T> qgsEnumList() SIP_SKIP
5886{
5887 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5888 Q_ASSERT( metaEnum.isValid() );
5889 QList<T> enumList;
5890 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
5891 {
5892 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
5893 }
5894 return enumList;
5895}
5896
5902template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
5903{
5904 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5905 Q_ASSERT( metaEnum.isValid() );
5906 QMap<T, QString> enumMap;
5907 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
5908 {
5909 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
5910 }
5911 return enumMap;
5912}
5913
5919template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
5920{
5921 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5922 Q_ASSERT( metaEnum.isValid() );
5923 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
5924 if ( returnOk )
5925 {
5926 *returnOk = key ? true : false;
5927 }
5928 return QString::fromUtf8( key );
5929}
5930
5938template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
5939{
5940 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5941 Q_ASSERT( metaEnum.isValid() );
5942 bool ok = false;
5943 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
5944 if ( returnOk )
5945 {
5946 *returnOk = ok;
5947 }
5948 if ( ok )
5949 {
5950 return v;
5951 }
5952 else
5953 {
5954 // if conversion has failed, try with conversion from int value
5955 if ( tryValueAsKey )
5956 {
5957 bool canConvert = false;
5958 const int intValue = key.toInt( &canConvert );
5959 if ( canConvert && metaEnum.valueToKey( intValue ) )
5960 {
5961 if ( returnOk )
5962 {
5963 *returnOk = true;
5964 }
5965 return static_cast<T>( intValue );
5966 }
5967 }
5968 }
5969 return defaultValue;
5970}
5971
5977template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
5978{
5979 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5980 Q_ASSERT( metaEnum.isValid() );
5981 int intValue = static_cast<int>( value );
5982 const QByteArray ba = metaEnum.valueToKeys( intValue );
5983 // check that the int value does correspond to a flag
5984 // see https://stackoverflow.com/a/68495949/1548052
5985 const int intValueCheck = metaEnum.keysToValue( ba );
5986 bool ok = intValue == intValueCheck;
5987 if ( returnOk )
5988 *returnOk = ok;
5989 return ok ? QString::fromUtf8( ba ) : QString();
5990}
5991
5999template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
6000{
6001 if ( keys.isEmpty() )
6002 {
6003 if ( returnOk )
6004 {
6005 *returnOk = false;
6006 }
6007 return defaultValue;
6008 }
6009 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
6010 Q_ASSERT( metaEnum.isValid() );
6011 bool ok = false;
6012 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
6013 if ( returnOk )
6014 {
6015 *returnOk = ok;
6016 }
6017 if ( ok )
6018 {
6019 return v;
6020 }
6021 else
6022 {
6023 // if conversion has failed, try with conversion from int value
6024 if ( tryValueAsKey )
6025 {
6026 bool canConvert = false;
6027 const int intValue = keys.toInt( &canConvert );
6028 if ( canConvert )
6029 {
6030 const QByteArray keys = metaEnum.valueToKeys( intValue );
6031 const int intValueCheck = metaEnum.keysToValue( keys );
6032 if ( intValue == intValueCheck )
6033 {
6034 if ( returnOk )
6035 {
6036 *returnOk = true;
6037 }
6038 return T( intValue );
6039 }
6040 }
6041 }
6042 }
6043 return defaultValue;
6044}
6045
6046
6055CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
6056
6065CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
6066
6076CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
6077
6087CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
6088
6097CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
6098
6105CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
6106
6107#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
6108
6115inline bool operator> ( const QVariant &v1, const QVariant &v2 )
6116{
6117 return qgsVariantGreaterThan( v1, v2 );
6118}
6119
6129inline bool operator< ( const QVariant &v1, const QVariant &v2 )
6130{
6131 return qgsVariantLessThan( v1, v2 );
6132}
6133#endif
6134
6135
6136#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
6137
6141template<> CORE_EXPORT bool qMapLessThanKey<QVariantList>( const QVariantList &key1, const QVariantList &key2 ) SIP_SKIP;
6142#endif
6143
6144CORE_EXPORT QString qgsVsiPrefix( const QString &path );
6145
6151void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
6152
6157void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
6158
6159#ifndef SIP_RUN
6160
6161#ifdef _MSC_VER
6162#define CONSTLATIN1STRING inline const QLatin1String
6163#else
6164#define CONSTLATIN1STRING constexpr QLatin1String
6165#endif
6166
6168class ScopedIntIncrementor
6169{
6170 public:
6171
6172 ScopedIntIncrementor( int *variable )
6173 : mVariable( variable )
6174 {
6175 ( *mVariable )++;
6176 }
6177
6178 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
6179 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
6180
6181 void release()
6182 {
6183 if ( mVariable )
6184 ( *mVariable )--;
6185
6186 mVariable = nullptr;
6187 }
6188
6189 ~ScopedIntIncrementor()
6190 {
6191 release();
6192 }
6193
6194 private:
6195 int *mVariable = nullptr;
6196};
6198
6204{
6205 return QLatin1String(
6206 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]] )"""
6207 );
6208}
6209
6212{
6213 return QLatin1String( "+proj=longlat +datum=WGS84 +no_defs" );
6214}
6215
6218{
6219 return QLatin1String( "EPSG:4326" );
6220}
6221
6224{
6225 return QLatin1String( "NONE" );
6226}
6227
6229
6231const int PREVIEW_JOB_DELAY_MS = 250;
6232
6234const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
6235
6237
6238#endif
6239
6241const long GEOSRID = 4326;
6242
6244const long GEOCRS_ID = 3452;
6245
6247const long GEO_EPSG_CRS_ID = 4326;
6248
6253const int USER_CRS_START_ID = 100000;
6254
6255//
6256// Constants for point symbols
6257//
6258
6260const double DEFAULT_POINT_SIZE = 2.0;
6261const double DEFAULT_LINE_WIDTH = 0.26;
6262
6264const double DEFAULT_SEGMENT_EPSILON = 1e-8;
6265
6266typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
6267
6276typedef unsigned long long qgssize;
6277
6278#ifndef SIP_RUN
6279#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
6280
6281#define Q_NOWARN_DEPRECATED_PUSH \
6282 _Pragma("GCC diagnostic push") \
6283 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
6284#define Q_NOWARN_DEPRECATED_POP \
6285 _Pragma("GCC diagnostic pop");
6286#define Q_NOWARN_UNREACHABLE_PUSH
6287#define Q_NOWARN_UNREACHABLE_POP
6288
6289#elif defined(_MSC_VER)
6290
6291#define Q_NOWARN_DEPRECATED_PUSH \
6292 __pragma(warning(push)) \
6293 __pragma(warning(disable:4996))
6294#define Q_NOWARN_DEPRECATED_POP \
6295 __pragma(warning(pop))
6296#define Q_NOWARN_UNREACHABLE_PUSH \
6297 __pragma(warning(push)) \
6298 __pragma(warning(disable:4702))
6299#define Q_NOWARN_UNREACHABLE_POP \
6300 __pragma(warning(pop))
6301
6302#else
6303
6304#define Q_NOWARN_DEPRECATED_PUSH
6305#define Q_NOWARN_DEPRECATED_POP
6306#define Q_NOWARN_UNREACHABLE_PUSH
6307#define Q_NOWARN_UNREACHABLE_POP
6308
6309#endif
6310#endif
6311
6312#ifndef QGISEXTERN
6313#ifdef Q_OS_WIN
6314# define QGISEXTERN extern "C" __declspec( dllexport )
6315#else
6316# if defined(__GNUC__) || defined(__clang__)
6317# define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
6318# else
6319# define QGISEXTERN extern "C"
6320# endif
6321#endif
6322#endif
6323#endif
6324
6325// see https://infektor.net/posts/2017-01-19-using-cpp17-attributes-today.html#using-the-nodiscard-attribute
6326#if __cplusplus >= 201703L
6327#define NODISCARD [[nodiscard]]
6328#elif defined(__clang__)
6329#define NODISCARD [[nodiscard]]
6330#elif defined(_MSC_VER)
6331#define NODISCARD // no support
6332#elif defined(__has_cpp_attribute)
6333#if __has_cpp_attribute(nodiscard)
6334#define NODISCARD [[nodiscard]]
6335#elif __has_cpp_attribute(gnu::warn_unused_result)
6336#define NODISCARD [[gnu::warn_unused_result]]
6337#else
6338#define NODISCARD Q_REQUIRED_RESULT
6339#endif
6340#else
6341#define NODISCARD Q_REQUIRED_RESULT
6342#endif
6343
6344#if __cplusplus >= 201703L
6345#define MAYBE_UNUSED [[maybe_unused]]
6346#elif defined(__clang__)
6347#define MAYBE_UNUSED [[maybe_unused]]
6348#elif defined(_MSC_VER)
6349#define MAYBE_UNUSED // no support
6350#elif defined(__has_cpp_attribute)
6351#if __has_cpp_attribute(gnu::unused)
6352#define MAYBE_UNUSED [[gnu::unused]]
6353#else
6354#define MAYBE_UNUSED
6355#endif
6356#else
6357#define MAYBE_UNUSED
6358#endif
6359
6360#ifndef FINAL
6361#define FINAL final
6362#endif
6363
6364#ifndef SIP_RUN
6365#ifdef _MSC_VER
6366#define BUILTIN_UNREACHABLE \
6367 __assume(false);
6368#elif defined(__GNUC__) && !defined(__clang__)
6369// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
6370// like:
6371// switch( mVariableThatCanOnlyBeXorY )
6372// {
6373// case X:
6374// return "foo";
6375// case Y:
6376// return "foo";
6377// }
6378// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
6379#define BUILTIN_UNREACHABLE \
6380 __builtin_unreachable();
6381#else
6382#define BUILTIN_UNREACHABLE
6383#endif
6384#endif // SIP_RUN
6385
6386#ifdef SIP_RUN
6387
6392QString CORE_EXPORT geoWkt();
6393
6395QString CORE_EXPORT geoProj4();
6396
6398QString CORE_EXPORT geoEpsgCrsAuthId();
6399
6401QString CORE_EXPORT geoNone();
6402
6403#endif
The Qgis class provides global constants for use throughout the application.
Definition qgis.h:54
DistanceUnitType
Types of distance units.
Definition qgis.h:4560
GnssConstellation
GNSS constellation.
Definition qgis.h:1664
SettingsOption
Settings options.
Definition qgis.h:622
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition qgis.h:3804
ProcessingSourceType
Processing data source types.
Definition qgis.h:3153
GpsQualityIndicator
GPS signal quality indicator.
Definition qgis.h:1682
DataItemProviderCapability
Capabilities for data item providers.
Definition qgis.h:823
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3392
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
Definition qgis.h:2524
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:3888
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
Definition qgis.h:1777
MapToolUnit
Type of unit of tolerance value from settings.
Definition qgis.h:4505
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:2997
ProcessingModelChildAlgorithmExecutionStatus
Reflects the status of a child algorithm in a Processing model.
Definition qgis.h:3467
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
Definition qgis.h:1744
ScaleBarDistanceLabelHorizontalPlacement
Scale bar distance label horizontal placement.
Definition qgis.h:4781
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:3832
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
Definition qgis.h:684
GeometryValidityFlag
Geometry validity check flags.
Definition qgis.h:1831
QFlags< RasterProviderCapability > RasterProviderCapabilities
Raster data provider capabilities.
Definition qgis.h:4430
ExpressionType
Expression types.
Definition qgis.h:4948
MapLayerActionFlag
Map layer action flags.
Definition qgis.h:4198
ScaleBarDistanceLabelVerticalPlacement
Scale bar distance label vertical placement.
Definition qgis.h:4767
MapLayerProperty
Generic map layer properties.
Definition qgis.h:2026
VectorProviderCapability
Vector data provider capabilities.
Definition qgis.h:397
BufferSide
Side of line to buffer.
Definition qgis.h:1856
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1293
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
Definition qgis.h:4187
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
Definition qgis.h:4994
AltitudeClamping
Altitude clamping.
Definition qgis.h:3581
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:4976
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:2325
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
Definition qgis.h:1232
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
Definition qgis.h:3929
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1119
CoordinateDisplayType
Formats for displaying coordinates.
Definition qgis.h:4037
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3340
QFlags< VectorRenderingSimplificationFlag > VectorRenderingSimplificationFlags
Simplification flags for vector feature rendering.
Definition qgis.h:2723
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:2970
GpsFixStatus
GPS fix status.
Definition qgis.h:1649
AnnotationItemNodeType
Annotation item node types.
Definition qgis.h:2252
static const char * QGIS_DEV_VERSION
The development version.
Definition qgis.h:82
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:917
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
Definition qgis.h:2469
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
Definition qgis.h:2162
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
Definition qgis.h:1317
AngularDirection
Angular directions.
Definition qgis.h:3085
DriveType
Drive types.
Definition qgis.h:970
UnitType
Unit types.
Definition qgis.h:4520
ContentStatus
Status for fetched or stored content.
Definition qgis.h:1605
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
Definition qgis.h:1567
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition qgis.h:647
LayoutUnit
Layout measurement units.
Definition qgis.h:4688
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:3990
Q_ENUM(GnssConstellation)
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:2808
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Definition qgis.h:3907
Point3DShape
3D point shape types.
Definition qgis.h:3723
GeometryOperationResult
Success or failure of a geometry operation.
Definition qgis.h:1802
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
Definition qgis.h:5330
BrowserItemState
Browser item states.
Definition qgis.h:785
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:4889
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
Definition qgis.h:5037
FeatureRequestFilterType
Types of feature request filters.
Definition qgis.h:1969
MarkerClipMode
Marker clipping modes.
Definition qgis.h:2928
GpsNavigationStatus
GPS navigation status.
Definition qgis.h:1702
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:2209
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:2732
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Definition qgis.h:3482
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Definition qgis.h:2060
Statistic
Available generic statistics.
Definition qgis.h:5248
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:667
AngleUnit
Units of angles.
Definition qgis.h:4623
CaptureTechnique
Capture technique.
Definition qgis.h:321
SpatialIndexPresence
Enumeration of spatial index presence states.
Definition qgis.h:456
BrowserItemCapability
Browser item capabilities.
Definition qgis.h:798
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition qgis.h:4919
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition qgis.h:4130
LayerTreeInsertionMethod
Layer tree insertion methods.
Definition qgis.h:4107
RasterProviderCapability
Raster data provider capabilities.
Definition qgis.h:4410
LineClipMode
Line clipping modes.
Definition qgis.h:2942
VectorRenderingSimplificationFlag
Simplification flags for vector feature rendering.
Definition qgis.h:2708
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
Definition qgis.h:1835
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition qgis.h:872
VsiHandlerType
GDAL VSI handler types.
Definition qgis.h:5150
SettingsTreeNodeType
Type of tree node.
Definition qgis.h:552
TilePixelRatio
DpiMode enum.
Definition qgis.h:3025
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:4826
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition qgis.h:1085
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
Definition qgis.h:3810
LabelPrioritization
Label prioritization.
Definition qgis.h:1024
GradientColorSource
Gradient color sources.
Definition qgis.h:2857
FileFilterType
Type of file filters.
Definition qgis.h:1198
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:1038
RasterLayerType
Raster layer types.
Definition qgis.h:4287
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
Definition qgis.h:340
ScaleBarAlignment
Scalebar alignment.
Definition qgis.h:4738
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:4326
VectorExportResult
Vector layer export result codes.
Definition qgis.h:896
DistanceUnit
Units of distance.
Definition qgis.h:4537
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:2396
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition qgis.h:728
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:2901
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
Definition qgis.h:2242
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1144
ScaleMethod
Scale methods.
Definition qgis.h:522
SldExportOption
SLD export options.
Definition qgis.h:594
VectorSimplificationAlgorithm
Simplification algorithms for vector features.
Definition qgis.h:2692
FilePathType
File path types.
Definition qgis.h:1436
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:3673
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:4934
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:2916
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
Definition qgis.h:609
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:4120
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:4904
FeatureRequestFlag
Flags for controlling feature requests.
Definition qgis.h:1941
VertexType
Types of vertex.
Definition qgis.h:2745
ShaderInterpolationMethod
Color ramp shader interpolation methods.
Definition qgis.h:1248
DataProviderFlag
Generic data provider flags.
Definition qgis.h:2054
Q_ENUM(GpsNavigationStatus)
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg)
Definition qgis.h:5128
GeometryValidationEngine
Available engines for validating geometries.
Definition qgis.h:1844
TransactionMode
Transaction mode.
Definition qgis.h:3568
Q_ENUM(ScaleToTileZoomLevelMethod)
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:4439
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:4303
GeosCreationFlag
Flags which control geos geometry creation behavior.
Definition qgis.h:1894
GpsInformationComponent
GPS information component.
Definition qgis.h:1716
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:3111
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3179
FileOperationFlag
File operation flags.
Definition qgis.h:2011
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
Definition qgis.h:839
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:3919
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
Definition qgis.h:1762
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Definition qgis.h:734
QFlags< RasterInterfaceCapability > RasterInterfaceCapabilities
Raster interface capabilities.
Definition qgis.h:4397
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
Definition qgis.h:4221
TemporalNavigationMode
Temporal navigation modes.
Definition qgis.h:2279
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:3420
AreaUnit
Units of area.
Definition qgis.h:4575
StringStatistic
Available string statistics.
Definition qgis.h:5310
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:3527
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:5166
MessageLevel
Level for messages This will be used both for message log and message bar in application.
Definition qgis.h:99
SqlKeywordCategory
SqlKeywordCategory enum represents the categories of the SQL keywords used by the SQL query editor.
Definition qgis.h:952
QFlags< SnappingType > SnappingTypes
Snapping types.
Definition qgis.h:658
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:2985
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1134
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
Definition qgis.h:5046
TextLayoutMode
Text layout modes.
Definition qgis.h:2609
PropertyType
Property types.
Definition qgis.h:580
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2503
LayerFilter
Filter for layers.
Definition qgis.h:133
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
Definition qgis.h:1236
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition qgis.h:1307
CrsType
Coordinate reference system types.
Definition qgis.h:2072
QFlags< GeosCreationFlag > GeosCreationFlags
Geos geometry creation behavior flags.
Definition qgis.h:1905
SensorThingsEntity
OGC SensorThings API entity types.
Definition qgis.h:5366
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1419
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:3510
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:3957
RasterFileWriterResult
Raster file export results.
Definition qgis.h:1402
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition qgis.h:2264
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
Definition qgis.h:3261
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:3124
ActionType
Action types.
Definition qgis.h:4157
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:987
PlaybackOperation
Media playback operations.
Definition qgis.h:2308
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
Definition qgis.h:757
QFlags< TextRendererFlag > TextRendererFlags
Definition qgis.h:3064
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:4840
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:3859
MarkerShape
Marker shapes.
Definition qgis.h:2759
LegendJsonRenderFlag
Legend JSON export flags.
Definition qgis.h:4142
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:4454
RasterElevationMode
Raster layer elevation modes.
Definition qgis.h:3620
Capitalization
String capitalization options.
Definition qgis.h:3042
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:2381
PictureFormat
Picture formats.
Definition qgis.h:4722
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1156
LabelQuadrantPosition
Label quadrant positions.
Definition qgis.h:1099
QFlags< PlotToolFlag > PlotToolFlags
Definition qgis.h:3711
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:3073
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition qgis.h:1215
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:927
TextOrientation
Text orientations.
Definition qgis.h:2594
PythonMacroMode
Authorisation to run Python Macros.
Definition qgis.h:348
TemporalUnit
Temporal units.
Definition qgis.h:4644
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
Definition qgis.h:1338
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
Definition qgis.h:715
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:999
CrsDefinitionFormat
CRS definition formats.
Definition qgis.h:3495
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:1998
QFlags< ProcessingParameterTypeFlag > ProcessingParameterTypeFlags
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3355
TileAvailability
Possible availability states for a tile within a tile matrix.
Definition qgis.h:5013
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:3691
BrowserItemType
Browser item types.
Definition qgis.h:766
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
Definition qgis.h:1958
SettingsType
Types of settings entries.
Definition qgis.h:533
QFlags< SettingsOption > SettingsOptions
Definition qgis.h:627
RasterTemporalMode
Raster layer temporal modes.
Definition qgis.h:2366
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1376
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:2549
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:282
RelationshipType
Relationship types.
Definition qgis.h:3976
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:4086
RasterInterfaceCapability
Raster interface capabilities.
Definition qgis.h:4377
JoinStyle
Join styles for buffers.
Definition qgis.h:1881
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:3844
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
Definition qgis.h:5357
ProcessingAlgorithmDocumentationFlag
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3238
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:2677
FieldDuplicatePolicy
Duplicate policy for fields.
Definition qgis.h:3542
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:4855
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Definition qgis.h:2016
DpiMode
DpiMode enum.
Definition qgis.h:3011
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition qgis.h:848
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3229
AltitudeBinding
Altitude binding.
Definition qgis.h:3594
QFlags< DataProviderReadFlag > DataProviderReadFlags
Flags which control data provider construction.
Definition qgis.h:384
Q_ENUM(ProcessingProviderFlag)
TiledSceneRendererFlag
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:5106
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:4172
ShaderClassificationMethod
Color ramp shader classification methods.
Definition qgis.h:1263
ZonalStatisticResult
Zonal statistics result codes.
Definition qgis.h:5198
ScriptLanguage
Scripting languages.
Definition qgis.h:4063
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
Definition qgis.h:812
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
Definition qgis.h:475
TiledSceneProviderCapability
Tiled scene data provider capabilities.
Definition qgis.h:5027
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:1182
RasterBandStatistic
Available raster band statistics.
Definition qgis.h:5339
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
Definition qgis.h:5004
QFlags< ZonalStatistic > ZonalStatistics
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:5189
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:2353
TextRenderFormat
Options for rendering text.
Definition qgis.h:2535
DataType
Raster data types.
Definition qgis.h:296
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
Definition qgis.h:3116
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition qgis.h:1222
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:4490
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
Definition qgis.h:1347
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition qgis.h:3766
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
Definition qgis.h:2438
RelationshipCapability
Relationship capabilities.
Definition qgis.h:4016
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:4341
QFlags< VectorProviderCapability > VectorProviderCapabilities
Vector data provider capabilities.
Definition qgis.h:434
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:3754
LinearReferencingPlacement
Defines how/where the labels should be placed in a linear referencing symbol layer.
Definition qgis.h:2828
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:5074
LayerType
Types of layers that can be added to a map.
Definition qgis.h:114
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
Definition qgis.h:2215
FieldOrigin
Field origin.
Definition qgis.h:1464
LinearReferencingLabelSource
Defines what quantity to use for the labels shown in a linear referencing symbol layer.
Definition qgis.h:2842
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
Definition qgis.h:5276
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition qgis.h:3707
RenderUnit
Rendering size units.
Definition qgis.h:4668
CoordinateOrder
Order of coordinates.
Definition qgis.h:2147
SelectionFlag
Flags which control feature selection behavior.
Definition qgis.h:1557
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
Definition qgis.h:569
EndCapStyle
End cap styles for buffers.
Definition qgis.h:1868
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
Definition qgis.h:5097
QFlags< MapLayerActionFlag > MapLayerActionFlags
Map layer action flags.
Definition qgis.h:4210
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
Definition qgis.h:2031
QFlags< LoadStyleFlag > LoadStyleFlags
Flags for loading layer styles.
Definition qgis.h:170
BabelCommandFlag
Babel command flags, which control how commands and arguments are generated for executing GPSBabel pr...
Definition qgis.h:1773
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
Definition qgis.h:2569
FieldDomainType
Types of field domain.
Definition qgis.h:3555
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2513
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2479
RasterPipeInterfaceRole
Raster pipe interface roles.
Definition qgis.h:1276
CoverageValidityResult
Coverage validity results.
Definition qgis.h:1914
DataProviderReadFlag
Flags which control data provider construction.
Definition qgis.h:365
ScaleBarSegmentSizeMode
Modes for setting size for scale bar segments.
Definition qgis.h:4753
Aggregate
Available aggregates to calculate.
Definition qgis.h:5216
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
Definition qgis.h:710
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
Definition qgis.h:2238
MapBoxGlStyleSourceType
Available MapBox GL style source types.
Definition qgis.h:3938
LayoutUnitType
Types of layout units.
Definition qgis.h:4708
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:488
DashPatternLineEndingRule
Dash pattern line ending rules.
Definition qgis.h:2955
FieldMetadataProperty
Standard field metadata values.
Definition qgis.h:1505
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:5087
RasterRendererCapability
Raster renderer capabilities.
Definition qgis.h:1328
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition qgis.h:1593
HistoryProviderBackend
History provider backends.
Definition qgis.h:3137
RasterExportType
Raster file export types.
Definition qgis.h:1389
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition qgis.h:1448
TextVerticalAlignment
Text vertical alignment.
Definition qgis.h:2661
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:4002
GradientType
Gradient types.
Definition qgis.h:2871
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
Definition qgis.h:4098
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:3792
GpsFeatureType
GPS feature types.
Definition qgis.h:1787
VectorLayerTypeFlag
Vector layer type flags.
Definition qgis.h:335
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition qgis.h:1927
RangeLimits
Describes how the limits of a range are handled.
Definition qgis.h:3606
QFlags< ProjectFlag > ProjectFlags
Definition qgis.h:3698
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:2341
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3381
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
Definition qgis.h:935
VectorEditResult
Specifies the result of a vector layer edit operation.
Definition qgis.h:1578
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:500
Axis
Cartesian axes.
Definition qgis.h:2196
QFlags< ProcessingAlgorithmDocumentationFlag > ProcessingAlgorithmDocumentationFlags
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3249
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
Definition qgis.h:4028
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:675
VolumeUnit
Units of volume.
Definition qgis.h:4600
AttributeEditorType
Attribute editor types.
Definition qgis.h:4870
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
Definition qgis.h:4146
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
Definition qgis.h:4846
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
Definition qgis.h:747
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:1985
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition qgis.h:701
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3303
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:3819
MeshElevationMode
Mesh layer elevation modes.
Definition qgis.h:3634
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:3874
SnappingMode
SnappingMode defines on which layer the snapping is performed.
Definition qgis.h:635
SymbolType
Symbol types.
Definition qgis.h:508
RasterColorInterpretation
Raster color interpretation.
Definition qgis.h:4257
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:3779
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:2580
Q_ENUM(ProcessingAlgorithmFlag)
ColorModel
Color model types.
Definition qgis.h:5386
RendererUsage
Usage of the renderer.
Definition qgis.h:3098
SettingsTreeNodeOption
Options for named list nodes.
Definition qgis.h:564
BabelFormatCapability
Babel GPS format capabilities.
Definition qgis.h:1754
PostgresRelKind
Postgres database relkind options.
Definition qgis.h:4805
GpsConnectionType
GPS connection types.
Definition qgis.h:1620
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
Definition qgis.h:4831
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
Definition qgis.h:3290
LoadStyleFlag
Flags for loading layer styles.
Definition qgis.h:160
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:3647
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
Definition qgis.h:4986
MetadataDateType
Date types for metadata.
Definition qgis.h:4239
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
Definition qgis.h:2406
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3314
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:4356
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:2642
SymbolFlag
Flags controlling behavior of symbols.
Definition qgis.h:696
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition qgis.h:3660
HttpMethod
Different methods of HTTP requests.
Definition qgis.h:884
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:201
QFlags< SldExportOption > SldExportOptions
Definition qgis.h:600
SymbolCoordinateReference
Symbol coordinate reference modes.
Definition qgis.h:2886
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3192
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:5062
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
Definition qgis.h:5301
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1518
InputControllerType
Input controller types.
Definition qgis.h:4793
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:3060
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1545
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:2097
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:3451
QFlags< MarkerLinePlacement > MarkerLinePlacements
Definition qgis.h:2819
CrsWktVariant
Coordinate reference system WKT formatting variants.
Definition qgis.h:2177
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:5119
AutoRefreshMode
Map layer automatic refresh modes.
Definition qgis.h:2041
AnnotationPlacementMode
Annotation item placement modes.
Definition qgis.h:2225
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3203
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1481
SettingsOrigin
The setting origin describes where a setting is stored.
Definition qgis.h:4050
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3366
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:1011
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:4963
QFlags< LayerFilter > LayerFilters
Definition qgis.h:151
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:3438
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:2427
TextComponent
Text components.
Definition qgis.h:2626
DateTimeStatistic
Available date/time statistics.
Definition qgis.h:5285
AnimationState
Animation states.
Definition qgis.h:2295
TransformDirection
Indicates the direction (forward or inverse) of a transform.
Definition qgis.h:2415
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:3742
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3326
QFlags< HistoryProviderBackend > HistoryProviderBackends
Definition qgis.h:3142
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition qgis.h:1059
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1496
UpsideDownLabelHandling
Handling techniques for upside down labels.
Definition qgis.h:1167
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:1634
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3406
MapSettingsFlag
Flags which adjust the way maps are rendered.
Definition qgis.h:2447
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
Definition qgis.h:943
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
Definition qgis.h:3275
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1531
Utility class that encapsulates an action based on vector attributes.
Definition qgsaction.h:37
Utility class for calculating aggregates for a field (or expression) over the features from a vector ...
Utility functions for working with ArcGIS REST services.
This is 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.
This class represents a coordinate reference system (CRS).
Class for doing transforms between two map coordinate systems.
Abstract base class for curved geometry type.
Definition qgscurve.h:35
Base class for all items in the model.
Definition qgsdataitem.h:46
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.
This class 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:32
Item that represents a layer that can be opened with one of the providers.
A layout item subclass that displays SVG files or raster format images (jpg, png, ....
The QgsMapLayerProxyModel class provides an easy to use model to display the list of layers in widget...
Base class for all map layer types.
Definition qgsmaplayer.h:76
The QgsMapSettings class contains configuration for rendering of the map.
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:107
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.
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:44
Contains information about the context of a rendering operation.
The QgsScaleBarSettings class stores the appearance and layout settings for scalebar drawing with Qgs...
Represent settings entry and provides methods for reading and writing settings values.
RAII signal blocking class.
Definition qgis.h:5592
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:5610
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:5599
Abstract base class for simple marker symbol layers.
This is a container for configuration of the snapping of 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:231
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.
Handles rendering text using rich formatting options, including drop shadows, buffers and background ...
This is the class is providing tolerance value in map unit values.
Helper functions for various unit types.
Implementation of data provider temporal properties for QgsVectorDataProviders.
This is the 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 data sets.
This class contains information how to simplify 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:443
@ Points
Point based rendering, requires point data.
As part of the API refactoring and improvements which landed in QGIS
void * qgsMalloc(size_t size)
Allocates size bytes and returns a pointer to the allocated memory.
Definition qgis.cpp:93
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:86
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:247
uint qHash(const QVariant &variant)
Hash for QVariant.
Definition qgis.cpp:198
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:72
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:79
void qgsFree(void *ptr)
Frees the memory space pointed to by ptr.
Definition qgis.cpp:115
#define str(x)
Definition qgis.cpp:38
QString qgsVsiPrefix(const QString &path)
Definition qgis.cpp:193
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:120
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:188
CONSTLATIN1STRING geoNone()
Constant that holds the string representation for "No ellips/No CRS".
Definition qgis.h:6223
const double DEFAULT_LINE_WIDTH
Definition qgis.h:6261
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:6115
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:5938
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:5645
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:5802
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:5919
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:5977
const long GEO_EPSG_CRS_ID
Magic number for a geographic coord sys in EpsgCrsId ID format.
Definition qgis.h:6247
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:5785
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:5999
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:6276
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:5902
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference)
Definition qgis.h:5739
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:5819
const QList< T > qgsEnumList()
Returns a list all enum entries.
Definition qgis.h:5885
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:5769
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
Definition qgis.h:5728
CONSTLATIN1STRING geoProj4()
PROJ4 string that represents a geographic coord sys.
Definition qgis.h:6211
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:5690
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:5632
const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition qgis.h:6264
QMap< QString, QString > QgsStringMap
Definition qgis.h:6266
#define CONSTLATIN1STRING
Definition qgis.h:6164
CONSTLATIN1STRING geoWkt()
Wkt string that represents a geographic coord sys.
Definition qgis.h:6203
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:5745
const int USER_CRS_START_ID
Magick number that determines whether a projection crsid is a system (srs.db) or user (~/....
Definition qgis.h:6253
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:5710
const long GEOSRID
Magic number for a geographic coord sys in POSTGIS SRID.
Definition qgis.h:6241
#define QHASH_FOR_CLASS_ENUM(T)
Definition qgis.h:43
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:6129
CONSTLATIN1STRING geoEpsgCrsAuthId()
Geographic coord sys from EPSG authority.
Definition qgis.h:6217
const long GEOCRS_ID
Magic number for a geographic coord sys in QGIS srs.db tbl_srs.srs_id.
Definition qgis.h:6244
const double DEFAULT_POINT_SIZE
Magic number that determines the default point size for point symbols.
Definition qgis.h:6260
#define SIP_ENUM_BASETYPE(type)
Definition qgis_sip.h:278
#define SIP_SKIP
Definition qgis_sip.h:126
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
Definition qgis_sip.h:271
#define SIP_MONKEYPATCH_FLAGS_UNNEST(OUTSIDE_CLASS, FORMERNAME)
Definition qgis_sip.h:272
#define SIP_MONKEYPATCH_SCOPEENUM
Definition qgis_sip.h:270
#define SIP_MONKEYPATCH_COMPAT_NAME(FORMERNAME)
Definition qgis_sip.h:273
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)
int precision
Utility class for identifying a unique vertex within a geometry.
Definition qgsvertexid.h:30