QGIS API Documentation 3.39.0-Master (3aed037ce22)
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 NoGeometry = 100,
217 PointZ = 1001,
218 LineStringZ = 1002,
219 PolygonZ = 1003,
220 TriangleZ = 1017,
221 MultiPointZ = 1004,
222 MultiLineStringZ = 1005,
223 MultiPolygonZ = 1006,
224 GeometryCollectionZ = 1007,
225 CircularStringZ = 1008,
226 CompoundCurveZ = 1009,
227 CurvePolygonZ = 1010,
228 MultiCurveZ = 1011,
229 MultiSurfaceZ = 1012,
230 PointM = 2001,
231 LineStringM = 2002,
232 PolygonM = 2003,
233 TriangleM = 2017,
234 MultiPointM = 2004,
235 MultiLineStringM = 2005,
236 MultiPolygonM = 2006,
237 GeometryCollectionM = 2007,
238 CircularStringM = 2008,
239 CompoundCurveM = 2009,
240 CurvePolygonM = 2010,
241 MultiCurveM = 2011,
242 MultiSurfaceM = 2012,
243 PointZM = 3001,
244 LineStringZM = 3002,
245 PolygonZM = 3003,
246 MultiPointZM = 3004,
247 MultiLineStringZM = 3005,
248 MultiPolygonZM = 3006,
249 GeometryCollectionZM = 3007,
250 CircularStringZM = 3008,
251 CompoundCurveZM = 3009,
252 CurvePolygonZM = 3010,
253 MultiCurveZM = 3011,
254 MultiSurfaceZM = 3012,
255 TriangleZM = 3017,
256 Point25D = 0x80000001,
257 LineString25D,
258 Polygon25D,
259 MultiPoint25D,
260 MultiLineString25D,
261 MultiPolygon25D
262 };
263 Q_ENUM( WkbType )
264
265
274 {
275 Point SIP_MONKEYPATCH_COMPAT_NAME( PointGeometry ),
276 Line SIP_MONKEYPATCH_COMPAT_NAME( LineGeometry ),
277 Polygon SIP_MONKEYPATCH_COMPAT_NAME( PolygonGeometry ),
278 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownGeometry ),
279 Null SIP_MONKEYPATCH_COMPAT_NAME( NullGeometry ),
280 };
281 Q_ENUM( GeometryType )
282
283
288 {
289 UnknownDataType = 0,
290 Byte = 1,
291 Int8 = 14,
292 UInt16 = 2,
293 Int16 = 3,
294 UInt32 = 4,
295 Int32 = 5,
296 Float32 = 6,
297 Float64 = 7,
298 CInt16 = 8,
299 CInt32 = 9,
300 CFloat32 = 10,
301 CFloat64 = 11,
302 ARGB32 = 12,
303 ARGB32_Premultiplied = 13
304 };
305 Q_ENUM( DataType )
306
307
312 enum class CaptureTechnique : int
313 {
314 StraightSegments,
315 CircularString,
316 Streaming,
317 Shape,
318 };
319 Q_ENUM( CaptureTechnique )
320
321
326 enum class VectorLayerTypeFlag : int SIP_ENUM_BASETYPE( IntFlag )
327 {
328 SqlQuery = 1 << 0
329 };
330 Q_ENUM( VectorLayerTypeFlag )
333 Q_FLAG( VectorLayerTypeFlags )
334
340 {
341 Never = 0,
342 Ask = 1,
343 SessionOnly = 2,
344 Always = 3,
345 NotForThisSession,
346 };
347 Q_ENUM( PythonMacroMode )
348
349
357 {
358 TrustDataSource SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustDataSource ) = 1 << 0,
359 SkipFeatureCount = 1 << 1,
360 LoadDefaultStyle SIP_MONKEYPATCH_COMPAT_NAME( FlagLoadDefaultStyle ) = 1 << 2,
361 SkipGetExtent = 1 << 3,
362 SkipFullScan = 1 << 4,
363 ForceReadOnly = 1 << 5,
364 SkipCredentialsRequest = 1 << 6,
365 ParallelThreadLoading = 1 << 7,
366 };
367 Q_ENUM( DataProviderReadFlag )
368
369
377 Q_FLAG( DataProviderReadFlags )
378
379 // TODO QGIS 4 -- remove NoCapabilities and rely on VectorProviderCapabilities() instead
380
389 {
390 NoCapabilities = 0,
391 AddFeatures = 1,
392 DeleteFeatures = 1 << 1,
393 ChangeAttributeValues = 1 << 2,
394 AddAttributes = 1 << 3,
395 DeleteAttributes = 1 << 4,
396 CreateSpatialIndex = 1 << 6,
397 SelectAtId = 1 << 7,
398 ChangeGeometries = 1 << 8,
399 SelectEncoding = 1 << 13,
400 CreateAttributeIndex = 1 << 12,
401 SimplifyGeometries = 1 << 14,
402 SimplifyGeometriesWithTopologicalValidation = 1 << 15,
403 TransactionSupport = 1 << 16,
404 CircularGeometries = 1 << 17,
405 ChangeFeatures = 1 << 18,
406 RenameAttributes = 1 << 19,
407 FastTruncate = 1 << 20,
408 ReadLayerMetadata = 1 << 21,
409 WriteLayerMetadata = 1 << 22,
410 CancelSupport = 1 << 23,
411 CreateRenderer = 1 << 24,
412 CreateLabeling = 1 << 25,
413 ReloadData = 1 << 26,
414 FeatureSymbology = 1 << 27,
415 EditingCapabilities = AddFeatures | DeleteFeatures | ChangeAttributeValues | ChangeGeometries | AddAttributes | DeleteAttributes | RenameAttributes,
416 };
417 Q_ENUM( VectorProviderCapability )
418
419
428
435 {
436 Uncounted = -2,
437 UnknownCount = -1,
438 };
439 Q_ENUM( FeatureCountState )
440
441
448 {
449 Unknown SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexUnknown ) = 0,
450 NotPresent SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexNotPresent ) = 1,
451 Present SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexPresent ) = 2,
452 };
453 Q_ENUM( SpatialIndexPresence )
454
455
467 {
468 NoFeaturesAvailable = 0,
469 FeaturesAvailable,
470 FeaturesMaybeAvailable
471 };
472 Q_ENUM( FeatureAvailability )
473
474
480 {
481 EditAlias = 1 << 0,
482 EditComment = 1 << 1,
483 };
484
485 Q_ENUM( VectorDataProviderAttributeEditCapability )
486
487
494
500 {
501 Marker,
502 Line,
503 Fill,
504 Hybrid
505 };
506 Q_ENUM( SymbolType )
507
508
514 {
515 ScaleArea,
516 ScaleDiameter
517 };
518 Q_ENUM( ScaleMethod )
519
520
525 {
526 Custom,
527 Variant,
528 String,
529 StringList,
530 VariantMap,
531 Bool,
532 Integer,
533 Double,
534 EnumFlag,
535 Color
536 };
537 Q_ENUM( SettingsType )
538
539
544 {
545 Root,
546 Standard,
547 NamedList,
548 };
549 Q_ENUM( SettingsTreeNodeType )
550
551
555 enum class SettingsTreeNodeOption : int SIP_ENUM_BASETYPE( IntFlag )
556 {
557 NamedListSelectedItemSetting = 1 << 0,
558 };
559
560 Q_ENUM( SettingsTreeNodeOption )
563
572 {
573 Invalid SIP_MONKEYPATCH_COMPAT_NAME( InvalidProperty ),
574 Static SIP_MONKEYPATCH_COMPAT_NAME( StaticProperty ),
575 Field SIP_MONKEYPATCH_COMPAT_NAME( FieldBasedProperty ),
576 Expression SIP_MONKEYPATCH_COMPAT_NAME( ExpressionBasedProperty ),
577 };
578 Q_ENUM( PropertyType )
579
580
585 enum class SldExportOption : int SIP_ENUM_BASETYPE( IntFlag )
586 {
587 NoOptions = 0,
588 Svg = 1 << 0,
589 Png = 1 << 1,
590 };
591 Q_ENUM( SldExportOption )
593 Q_FLAG( SldExportOptions )
594
600 enum class SldExportVendorExtension : int SIP_ENUM_BASETYPE( IntFlag )
601 {
602 NoVendorExtension = 0,
603 GeoServerVendorExtension = 1 << 1,
604 DeegreeVendorExtension = 1 << 2,
605 };
606 Q_ENUM( SldExportVendorExtension )
607
608
609
613 enum class SettingsOption : int SIP_ENUM_BASETYPE( IntFlag )
614 {
615 SaveFormerValue = 1 << 1, //<! Save the former value of the settings
616 SaveEnumFlagAsInt = 1 << 2,
617 };
618 Q_ENUM( SettingsOption )
619 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
620 Q_FLAG( SettingsOptions )
621
627 {
628 ActiveLayer = 1,
629 AllLayers = 2,
630 AdvancedConfiguration = 3,
631 };
632 Q_ENUM( SnappingMode )
633
634
639 {
640 NoSnap SIP_MONKEYPATCH_COMPAT_NAME( NoSnapFlag ) = 0,
641 Vertex SIP_MONKEYPATCH_COMPAT_NAME( VertexFlag ) = 1 << 0,
642 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentFlag ) = 1 << 1,
643 Area SIP_MONKEYPATCH_COMPAT_NAME( AreaFlag ) = 1 << 2,
644 Centroid SIP_MONKEYPATCH_COMPAT_NAME( CentroidFlag ) = 1 << 3,
645 MiddleOfSegment SIP_MONKEYPATCH_COMPAT_NAME( MiddleOfSegmentFlag ) = 1 << 4,
646 LineEndpoint SIP_MONKEYPATCH_COMPAT_NAME( LineEndpointFlag ) = 1 << 5,
647 };
648 Q_ENUM( SnappingType )
651 Q_FLAG( SnappingTypes )
652
659 {
660 DynamicRotation = 1 << 1,
661 IsSymbolLayerSubSymbol = 1 << 2,
662 };
663 Q_ENUM( SymbolRenderHint )
666 Q_FLAG( SymbolRenderHints )
667
673 enum class SymbolRotationMode : int
674 {
675 RespectMapRotation,
676 IgnoreMapRotation,
677 };
678 Q_ENUM( SymbolRotationMode )
679
680
685 enum class SymbolFlag : int SIP_ENUM_BASETYPE( IntFlag )
686 {
687 RendererShouldUseSymbolLevels = 1 << 0,
688 };
689 Q_ENUM( SymbolFlag )
691 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
692 Q_FLAG( SymbolFlags )
693
700 {
701 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
702 };
703 Q_ENUM( SymbolPreviewFlag )
706 Q_FLAG( SymbolPreviewFlags )
707
717 enum class SymbolLayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
718 {
719 DisableFeatureClipping = 1 << 0,
720 CanCalculateMaskGeometryPerFeature = 1 << 1,
721 };
722 Q_ENUM( SymbolLayerFlag )
725 Q_FLAG( SymbolLayerFlags )
726
736 enum class SymbolLayerUserFlag : int SIP_ENUM_BASETYPE( IntFlag )
737 {
738 DisableSelectionRecoloring = 1 << 0,
739 };
740 Q_ENUM( SymbolLayerUserFlag )
741
742
748 Q_FLAG( SymbolLayerUserFlags )
749
756 {
757 Collection,
758 Directory,
759 Layer,
760 Error,
761 Favorites,
762 Project,
763 Custom,
764 Fields,
765 Field,
766 };
767 Q_ENUM( BrowserItemType )
768
769
775 {
776 NotPopulated,
777 Populating,
778 Populated,
779 };
780 Q_ENUM( BrowserItemState )
781
782
788 {
789 NoCapabilities = 0,
790 SetCrs = 1 << 0,
791 Fertile = 1 << 1,
792 Fast = 1 << 2,
793 Collapse = 1 << 3,
794 Rename = 1 << 4,
795 Delete = 1 << 5,
796 ItemRepresentsFile = 1 << 6,
797 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
798 ReadOnly = 1 << 8,
799 };
800 Q_ENUM( BrowserItemCapability )
804
813 {
814 NoCapabilities SIP_MONKEYPATCH_COMPAT_NAME( NoDataCapabilities ) = 0,
815 Files SIP_MONKEYPATCH_COMPAT_NAME( File ) = 1,
816 Directories SIP_MONKEYPATCH_COMPAT_NAME( Dir ) = 1 << 1,
817 Databases SIP_MONKEYPATCH_COMPAT_NAME( Database ) = 1 << 2,
818 NetworkSources SIP_MONKEYPATCH_COMPAT_NAME( Net ) = 1 << 3,
819 };
820 Q_ENUM( DataItemProviderCapability )
821
822
831
838 {
839 NoType,
840 Vector,
841 Raster,
842 Point,
843 Line,
844 Polygon,
845 TableLayer,
846 Database,
847 Table,
848 Plugin,
849 Mesh,
850 VectorTile,
851 PointCloud,
852 TiledScene,
853 };
854 Q_ENUM( BrowserLayerType )
855
856
862 {
863 Default,
864 NeverMonitor,
865 AlwaysMonitor,
866 };
867 Q_ENUM( BrowserDirectoryMonitoring )
868
869
873 enum class HttpMethod : int
874 {
875 Get = 0,
876 Post = 1
877 };
878 Q_ENUM( HttpMethod )
879
880
886 {
887 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
888 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
889 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
890 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
891 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
892 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
893 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
894 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
895 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
896 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
897 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
898 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
899 };
900 Q_ENUM( VectorExportResult )
901
902
907 {
908 FieldAliases = 1 << 0,
909 FieldComments = 1 << 2,
910 };
911 Q_ENUM( VectorFileWriterCapability )
912
913
919
925 {
926 SubsetStringFilter = 1 << 1,
927 GeometryColumn = 1 << 2,
928 PrimaryKeys = 1 << 3,
929 UnstableFeatureIds = 1 << 4
930 };
931 Q_ENUM( SqlLayerDefinitionCapability )
935
941 enum class SqlKeywordCategory : int
942 {
943 Keyword,
944 Constant,
945 Function,
946 Geospatial,
947 Operator,
948 Math,
949 Aggregate,
950 String,
951 Identifier
952 };
953 Q_ENUM( SqlKeywordCategory )
954
955
959 enum class DriveType : int
960 {
961 Unknown,
962 Invalid,
963 Removable,
964 Fixed,
965 Remote,
966 CdRom,
967 RamDisk,
968 Cloud,
969 };
970 Q_ENUM( DriveType )
971
972
977 {
978 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
979 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
980 };
981 Q_ENUM( ActionStart )
982
983
988 enum class UnplacedLabelVisibility : int
989 {
990 FollowEngineSetting,
991 NeverShow,
992 };
993 Q_ENUM( UnplacedLabelVisibility )
994
995
1000 enum class LabelOverlapHandling : int
1001 {
1002 PreventOverlap,
1003 AllowOverlapIfRequired,
1004 AllowOverlapAtNoCost,
1005 };
1006 Q_ENUM( LabelOverlapHandling )
1007
1008
1013 enum class LabelPrioritization : int
1014 {
1015 PreferCloser,
1016 PreferPositionOrdering,
1017 };
1018 Q_ENUM( LabelPrioritization )
1019
1020
1028 {
1029 AroundPoint,
1030 OverPoint,
1031 Line,
1032 Curved,
1033 Horizontal,
1034 Free,
1035 OrderedPositionsAroundPoint,
1036 PerimeterCurved,
1037 OutsidePolygons,
1038 };
1039 Q_ENUM( LabelPlacement )
1040
1041
1049 {
1050 TopLeft,
1051 TopSlightlyLeft,
1052 TopMiddle,
1053 TopSlightlyRight,
1054 TopRight,
1055 MiddleLeft,
1056 MiddleRight,
1057 BottomLeft,
1058 BottomSlightlyLeft,
1059 BottomMiddle,
1060 BottomSlightlyRight,
1061 BottomRight,
1062 OverPoint,
1063 };
1064 Q_ENUM( LabelPredefinedPointPosition )
1065
1066
1075 {
1076 FromPoint,
1077 FromSymbolBounds,
1078 };
1079 Q_ENUM( LabelOffsetType )
1080
1081
1089 {
1090 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
1091 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
1092 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
1093 Left SIP_MONKEYPATCH_COMPAT_NAME( QuadrantLeft ),
1094 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
1095 Right SIP_MONKEYPATCH_COMPAT_NAME( QuadrantRight ),
1096 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
1097 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
1098 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
1099 };
1100 Q_ENUM( LabelQuadrantPosition )
1101
1102
1109 {
1110 OnLine = 1,
1111 AboveLine = 2,
1112 BelowLine = 4,
1113 MapOrientation = 8,
1114 };
1115 Q_ENUM( LabelLinePlacementFlag )
1116
1117
1125 Q_FLAG( LabelLinePlacementFlags )
1126
1134 {
1135 AllowPlacementOutsideOfPolygon = 1 << 0,
1136 AllowPlacementInsideOfPolygon = 1 << 1,
1137 };
1138 Q_ENUM( LabelPolygonPlacementFlag )
1139
1140
1148
1157 {
1158 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
1159 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
1160 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
1161 };
1162 Q_ENUM( UpsideDownLabelHandling )
1163
1164
1172 {
1173 Left SIP_MONKEYPATCH_COMPAT_NAME( MultiLeft ) = 0,
1174 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
1175 Right SIP_MONKEYPATCH_COMPAT_NAME( MultiRight ),
1176 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
1177 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
1178 };
1179 Q_ENUM( LabelMultiLineAlignment )
1180
1181
1188 {
1189 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
1190 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1191 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1192 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1193 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1194 VectorTile,
1195 TiledScene,
1196 };
1197 Q_ENUM( FileFilterType )
1198
1199
1204 enum class SublayerQueryFlag : int SIP_ENUM_BASETYPE( IntFlag )
1205 {
1206 FastScan = 1 << 0,
1207 ResolveGeometryType = 1 << 1,
1208 CountFeatures = 1 << 2,
1209 IncludeSystemTables = 1 << 3,
1210 };
1213 Q_ENUM( SublayerQueryFlag )
1214 Q_FLAG( SublayerQueryFlags )
1215
1216
1221 enum class SublayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
1222 {
1223 SystemTable = 1 << 0,
1224 };
1226 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1227 Q_ENUM( SublayerFlag )
1228 Q_FLAG( SublayerFlags )
1229
1230
1238 {
1239 Linear SIP_MONKEYPATCH_COMPAT_NAME( Interpolated ) = 0,
1240 Discrete = 1,
1241 Exact = 2,
1242 };
1243 Q_ENUM( ShaderInterpolationMethod )
1244
1245
1253 {
1254 Continuous = 1,
1255 EqualInterval = 2,
1256 Quantile = 3,
1257 };
1258 Q_ENUM( ShaderClassificationMethod )
1259
1260
1266 {
1267 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1268 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1269 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1270 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1271 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1272 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1273 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1274 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1275 };
1276 Q_ENUM( RasterPipeInterfaceRole )
1277
1278
1283 {
1285 ResampleFilter,
1287 Provider
1288 };
1289 Q_ENUM( RasterResamplingStage )
1290
1291
1296 enum class RasterRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
1297 {
1298 InternalLayerOpacityHandling = 1 << 0,
1299 UseNoDataForOutOfRangePixels = 1 << 1,
1300 };
1301
1308
1309 Q_ENUM( RasterRendererFlag )
1310 Q_FLAG( RasterRendererFlags )
1311
1312
1318 {
1319 UsesMultipleBands = 1 << 0,
1320 };
1321 Q_ENUM( RasterRendererCapability )
1322
1323
1330
1337 {
1338 Generic = 0,
1339 PixelCount = 1,
1340 Name = 2,
1341 Min = 3,
1342 Max = 4,
1343 MinMax = 5,
1344 Red = 6,
1345 Green = 7,
1346 Blue = 8,
1347 Alpha = 9,
1348 RedMin = 10,
1349 GreenMin = 11,
1350 BlueMin = 12,
1351 AlphaMin = 13,
1352 RedMax = 14,
1353 GreenMax = 15,
1354 BlueMax = 16,
1355 AlphaMax = 17,
1356 MaxCount
1357 };
1358 Q_ENUM( RasterAttributeTableFieldUsage )
1359
1360
1366 {
1367 Thematic = 0,
1368 Athematic = 1
1369 };
1370 Q_ENUM( RasterAttributeTableType )
1371
1372
1379 {
1380 Raw = 0,
1381 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1382 };
1383 Q_ENUM( RasterExportType )
1384
1385
1392 {
1393 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
1394 SourceProviderError = 1,
1395 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1396 CreateDatasourceError = 3,
1397 WriteError = 4,
1398 NoDataConflict = 5,
1399 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1400 };
1401 Q_ENUM( RasterFileWriterResult )
1402
1403
1408 enum class MeshEditingErrorType : int
1409 {
1410 NoError,
1411 InvalidFace,
1412 TooManyVerticesInFace,
1413 FlatFace,
1414 UniqueSharedVertex,
1415 InvalidVertex,
1416 ManifoldFace,
1417 };
1418 Q_ENUM( MeshEditingErrorType )
1419
1420
1425 enum class FilePathType : int
1426 {
1427 Absolute,
1428 Relative,
1429 };
1430 Q_ENUM( FilePathType )
1431
1432
1437 enum class SublayerPromptMode : int
1438 {
1439 AlwaysAsk,
1440 AskExcludingRasterBands,
1441 NeverAskSkip,
1442 NeverAskLoadAll,
1443 };
1444 Q_ENUM( SublayerPromptMode )
1445
1446
1454 {
1455 Unknown SIP_MONKEYPATCH_COMPAT_NAME( OriginUnknown ),
1456 Provider SIP_MONKEYPATCH_COMPAT_NAME( OriginProvider ),
1457 Join SIP_MONKEYPATCH_COMPAT_NAME( OriginJoin ),
1458 Edit SIP_MONKEYPATCH_COMPAT_NAME( OriginEdit ),
1459 Expression SIP_MONKEYPATCH_COMPAT_NAME( OriginExpression )
1460 };
1461 Q_ENUM( FieldOrigin )
1462
1463
1470 enum class FieldConfigurationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1471 {
1472 NoFlag = 0,
1473 NotSearchable = 1 << 1,
1474 HideFromWms = 1 << 2,
1475 HideFromWfs = 1 << 3,
1476 };
1477 Q_ENUM( FieldConfigurationFlag )
1478
1479
1487 Q_FLAG( FieldConfigurationFlags )
1488
1494 enum class FieldMetadataProperty : int
1495 {
1496 GeometryCrs = 0x1000,
1497 GeometryWkbType = 0x1001,
1498 CustomProperty = 0x100000,
1499 };
1500 Q_ENUM( FieldMetadataProperty )
1501
1502
1507 enum class SelectionRenderingMode : int
1508 {
1509 Default,
1510 CustomColor,
1511 CustomSymbol,
1512 };
1513 Q_ENUM( SelectionRenderingMode )
1514
1515
1521 {
1522 SetSelection,
1523 AddToSelection,
1524 IntersectSelection,
1525 RemoveFromSelection,
1526 };
1527 Q_ENUM( SelectBehavior )
1528
1529
1535 {
1536 Intersect,
1537 Within,
1538 };
1539 Q_ENUM( SelectGeometryRelationship )
1540
1541
1546 enum class SelectionFlag : int SIP_ENUM_BASETYPE( IntFlag )
1547 {
1548 SingleFeatureSelection = 1 << 0,
1549 ToggleSelection = 1 << 1,
1550 };
1551
1557 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1558
1559 Q_ENUM( SelectionFlag )
1560 Q_FLAG( SelectionFlags )
1561
1562
1568 {
1569 Success = 0,
1570 EmptyGeometry = 1,
1571 EditFailed = 2,
1572 FetchFeatureFailed = 3,
1573 InvalidLayer = 4,
1574 };
1575 Q_ENUM( VectorEditResult )
1576
1577
1583 {
1584 SemiTransparentCircle,
1585 Cross,
1586 NoMarker,
1587 };
1588 Q_ENUM( VertexMarkerType )
1589
1590
1594 enum class ContentStatus : int
1595 {
1596 NotStarted,
1597 Running,
1598 Finished,
1599 Failed,
1600 Canceled,
1601 };
1602 Q_ENUM( ContentStatus )
1603
1604
1609 enum class GpsConnectionType : int
1610 {
1611 Automatic,
1612 Internal,
1613 Serial,
1614 Gpsd,
1615 };
1616 Q_ENUM( GpsConnectionType )
1617
1618
1623 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
1624 {
1625 Disconnected,
1626 Connecting,
1627 Connected,
1628 };
1629 Q_ENUM( DeviceConnectionStatus )
1630
1631
1639 {
1640 NoData,
1641 NoFix,
1642 Fix2D,
1643 Fix3D
1644 };
1646
1647
1654 {
1655 Unknown,
1656 Gps,
1657 Glonass,
1658 Galileo,
1659 BeiDou,
1660 Qzss,
1661 Navic,
1662 Sbas,
1663 };
1665
1672 {
1673 Unknown = -1,
1674 Invalid,
1675 GPS,
1676 DGPS,
1677 PPS,
1678 RTK,
1679 FloatRTK,
1680 Estimated,
1681 Manual,
1682 Simulation,
1683 };
1684 Q_ENUM( GpsQualityIndicator )
1685
1686
1691 enum class GpsNavigationStatus : int
1692 {
1693 NotValid,
1694 Safe,
1695 Caution,
1696 Unsafe,
1697 };
1699
1705 enum class GpsInformationComponent : int SIP_ENUM_BASETYPE( IntFlag )
1706 {
1707 Location = 1 << 0,
1708 Altitude = 1 << 1,
1709 GroundSpeed = 1 << 2,
1710 Bearing = 1 << 3,
1711 TotalTrackLength = 1 << 4,
1712 TrackDistanceFromStart = 1 << 5,
1713 Pdop = 1 << 6,
1714 Hdop = 1 << 7,
1715 Vdop = 1 << 8,
1716 HorizontalAccuracy = 1 << 9,
1717 VerticalAccuracy = 1 << 10,
1718 HvAccuracy = 1 << 11,
1719 SatellitesUsed = 1 << 12,
1720 Timestamp = 1 << 13,
1721 TrackStartTime = 1 << 14,
1722 TrackEndTime = 1 << 15,
1723 TrackDistanceSinceLastPoint = 1 << 16,
1724 TrackTimeSinceLastPoint = 1 << 17,
1725 GeoidalSeparation = 1 << 18,
1726 EllipsoidAltitude = 1 << 19,
1727 };
1728
1735 Q_ENUM( GpsInformationComponent )
1736 Q_FLAG( GpsInformationComponents )
1737
1738
1743 enum class BabelFormatCapability : int SIP_ENUM_BASETYPE( IntFlag )
1744 {
1745 Import = 1 << 0,
1746 Export = 1 << 1,
1747 Waypoints = 1 << 2,
1748 Routes = 1 << 3,
1749 Tracks = 1 << 4,
1750 };
1753 Q_ENUM( BabelFormatCapability )
1754 Q_FLAG( BabelFormatCapabilities )
1755
1756
1762 enum class BabelCommandFlag : int SIP_ENUM_BASETYPE( IntFlag )
1763 {
1764 QuoteFilePaths = 1 << 0,
1765 };
1768 Q_ENUM( BabelCommandFlag )
1769 Q_FLAG( BabelCommandFlags )
1770
1771
1776 enum class GpsFeatureType : int
1777 {
1778 Waypoint,
1779 Route,
1780 Track,
1781 };
1782 Q_ENUM( GpsFeatureType )
1783
1784
1792 {
1793 Success = 0,
1794 NothingHappened = 1000,
1795 InvalidBaseGeometry,
1796 InvalidInputGeometryType,
1797 SelectionIsEmpty,
1798 SelectionIsGreaterThanOne,
1799 GeometryEngineError,
1800 LayerNotEditable,
1801 // Add part issues
1802 AddPartSelectedGeometryNotFound,
1803 AddPartNotMultiGeometry,
1804 // Add ring issues
1805 AddRingNotClosed,
1806 AddRingNotValid,
1807 AddRingCrossesExistingRings,
1808 AddRingNotInExistingFeature,
1809 // Split features
1810 SplitCannotSplitPoint,
1811 GeometryTypeHasChanged,
1812 };
1813 Q_ENUM( GeometryOperationResult )
1814
1815
1821 {
1822 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles ) = 1 << 0,
1823 };
1826 Q_ENUM( GeometryValidityFlag )
1827 Q_FLAG( GeometryValidityFlags )
1828
1829
1834 {
1835 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
1836 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
1837 };
1838 Q_ENUM( GeometryValidationEngine )
1839
1840
1850 Q_ENUM( BufferSide )
1851
1852
1858 {
1859 Round SIP_MONKEYPATCH_COMPAT_NAME( CapRound ) = 1,
1860 Flat SIP_MONKEYPATCH_COMPAT_NAME( CapFlat ),
1861 Square SIP_MONKEYPATCH_COMPAT_NAME( CapSquare ),
1862 };
1863 Q_ENUM( EndCapStyle )
1864
1865
1871 {
1872 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
1873 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
1874 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
1875 };
1876 Q_ENUM( JoinStyle )
1877
1878
1883 enum class CoverageValidityResult : int
1884 {
1885 Invalid = 0,
1886 Valid = 1,
1887 Error = 2,
1888 };
1889 Q_ENUM( CoverageValidityResult )
1890
1891
1896 enum class MakeValidMethod : int
1897 {
1898 Linework = 0,
1899 Structure = 1,
1900 };
1901 Q_ENUM( MakeValidMethod )
1902
1903
1911 {
1912 NoFlags = 0,
1913 NoGeometry = 1,
1914 SubsetOfAttributes = 2,
1915 ExactIntersect = 4,
1916 IgnoreStaticNodesDuringExpressionCompilation = 8,
1917 EmbeddedSymbols = 16,
1918 };
1919 Q_ENUM( FeatureRequestFlag )
1920
1921
1929 Q_FLAG( FeatureRequestFlags )
1930
1939 {
1940 NoFilter SIP_MONKEYPATCH_COMPAT_NAME( FilterNone ),
1941 Fid SIP_MONKEYPATCH_COMPAT_NAME( FilterFid ),
1942 Expression SIP_MONKEYPATCH_COMPAT_NAME( FilterExpression ),
1943 Fids SIP_MONKEYPATCH_COMPAT_NAME( FilterFids )
1944 };
1945 Q_ENUM( FeatureRequestFilterType )
1946
1947
1955 {
1956 NoCheck SIP_MONKEYPATCH_COMPAT_NAME( GeometryNoCheck ) = 0,
1957 SkipInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometrySkipInvalid ) = 1,
1958 AbortOnInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometryAbortOnInvalid ) = 2,
1959 };
1960 Q_ENUM( InvalidGeometryCheck )
1961
1962
1967 enum class SpatialFilterType : int
1968 {
1969 NoFilter,
1970 BoundingBox,
1971 DistanceWithin,
1972 };
1973 Q_ENUM( SpatialFilterType )
1974
1975
1980 enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1981 {
1982 IncludeMetadataFile = 1 << 0,
1983 IncludeStyleFile = 1 << 1,
1984 };
1987 Q_ENUM( FileOperationFlag )
1988 Q_FLAG( FileOperationFlags )
1989
1990
1995 enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
1996 {
1997 UsersCannotToggleEditing = 1 << 0,
1998 IsBasemapLayer = 1 << 1,
1999 };
2002 Q_ENUM( MapLayerProperty )
2003 Q_FLAG( MapLayerProperties )
2004
2005
2010 enum class AutoRefreshMode : int
2011 {
2012 Disabled = 0,
2013 ReloadData = 1,
2014 RedrawOnly = 2,
2015 };
2016 Q_ENUM( AutoRefreshMode )
2017
2018
2023 enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
2024 {
2025 IsBasemapSource = 1 << 1,
2026 FastExtent2D = 1 << 2,
2027 FastExtent3D = 1 << 3,
2028 };
2031 Q_ENUM( DataProviderFlag )
2032 Q_FLAG( DataProviderFlags )
2033
2034
2041 enum class CrsType : int
2042 {
2043 Unknown,
2044 Geodetic,
2045 Geocentric,
2046 Geographic2d,
2047 Geographic3d,
2048 Vertical,
2049 Projected,
2050 Compound,
2051 Temporal,
2052 Engineering,
2053 Bound,
2054 Other,
2055 DerivedProjected,
2056 };
2057 Q_ENUM( CrsType )
2058
2059
2066 enum class CrsAxisDirection : int
2067 {
2068 North,
2069 NorthNorthEast,
2070 NorthEast,
2071 EastNorthEast,
2072 East,
2073 EastSouthEast,
2074 SouthEast,
2075 SouthSouthEast,
2076 South,
2077 SouthSouthWest,
2078 SouthWest,
2079 WestSouthWest,
2080 West,
2081 WestNorthWest,
2082 NorthWest,
2083 NorthNorthWest,
2084 GeocentricX,
2085 GeocentricY,
2086 GeocentricZ,
2087 Up,
2088 Down,
2089 Forward,
2090 Aft,
2091 Port,
2092 Starboard,
2093 Clockwise,
2094 CounterClockwise,
2095 ColumnPositive,
2096 ColumnNegative,
2097 RowPositive,
2098 RowNegative,
2099 DisplayRight,
2100 DisplayLeft,
2101 DisplayUp,
2102 DisplayDown,
2103 Future,
2104 Past,
2105 Towards,
2106 AwayFrom,
2107 Unspecified,
2108 };
2109 Q_ENUM( CrsAxisDirection )
2110
2111
2116 enum class CoordinateOrder : int
2117 {
2118 Default,
2119 XY,
2120 YX,
2121 };
2122 Q_ENUM( CoordinateOrder )
2123
2124
2132 {
2133 ShortString,
2134 MediumString,
2135 FullString,
2136 };
2137 Q_ENUM( CrsIdentifierType )
2138
2139
2147 {
2148 Wkt1Gdal SIP_MONKEYPATCH_COMPAT_NAME( WKT1_GDAL ),
2149 Wkt1Esri SIP_MONKEYPATCH_COMPAT_NAME( WKT1_ESRI ),
2150 Wkt2_2015 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015 ),
2151 Wkt2_2015Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015_SIMPLIFIED ),
2152 Wkt2_2019 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019 ),
2153 Wkt2_2019Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019_SIMPLIFIED ),
2154 Preferred SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED ) = Wkt2_2019,
2155 PreferredSimplified SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_SIMPLIFIED ) = Wkt2_2019Simplified,
2156 PreferredGdal SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_GDAL ) = Wkt2_2019,
2157 };
2158 Q_ENUM( CrsWktVariant )
2159
2160
2165 enum class Axis : int
2166 {
2167 X,
2168 Y,
2169 Z
2170 };
2171 Q_ENUM( Axis )
2172
2173
2178 enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
2179 {
2180 ScaleDependentBoundingBox = 1 << 0,
2181 };
2184 Q_ENUM( AnnotationItemFlag )
2185 Q_FLAG( AnnotationItemFlags )
2186
2187
2192 enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
2193 {
2194 FlagNoCreationTools = 1 << 0,
2195 };
2198 Q_ENUM( AnnotationItemGuiFlag )
2199 Q_FLAG( AnnotationItemGuiFlags )
2200
2201
2206 enum class AnnotationItemNodeType : int
2207 {
2208 VertexHandle,
2209 };
2210 Q_ENUM( AnnotationItemNodeType )
2211
2212
2218 {
2219 Success,
2220 Invalid,
2221 ItemCleared,
2222 };
2223 Q_ENUM( AnnotationItemEditOperationResult )
2224
2225
2233 {
2234 Disabled SIP_MONKEYPATCH_COMPAT_NAME( NavigationOff ),
2235 Animated,
2236 FixedRange,
2237 Movie,
2238 };
2239 Q_ENUM( TemporalNavigationMode )
2240
2241
2249 {
2250 Forward,
2251 Reverse,
2252 Idle,
2253 };
2254 Q_ENUM( AnimationState )
2255
2256
2261 enum class PlaybackOperation : int
2262 {
2263 SkipToStart,
2264 PreviousFrame,
2265 PlayReverse,
2266 Pause,
2267 PlayForward,
2268 NextFrame,
2269 SkipToEnd,
2270 };
2271 Q_ENUM( PlaybackOperation )
2272
2273
2279 {
2280 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2281 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
2282 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
2283 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
2284 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
2285 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ),
2286 };
2287 Q_ENUM( VectorTemporalMode )
2288
2289
2295 {
2296 IncludeBeginExcludeEnd = 0,
2297 IncludeBeginIncludeEnd,
2298 };
2299 Q_ENUM( VectorTemporalLimitMode )
2300
2301
2307 {
2308 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
2309 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
2310 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2311 };
2312 Q_ENUM( VectorDataProviderTemporalMode )
2313
2314
2320 {
2321 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2322 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
2323 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ) = 2,
2324 FixedRangePerBand = 3,
2325 RepresentsTemporalValues = 4,
2326 };
2327 Q_ENUM( RasterTemporalMode )
2328
2329
2335 {
2336 MatchUsingWholeRange,
2337 MatchExactUsingStartOfRange,
2338 MatchExactUsingEndOfRange,
2339 FindClosestMatchToStartOfRange,
2340 FindClosestMatchToEndOfRange
2341 };
2342 Q_ENUM( TemporalIntervalMatchMethod )
2343
2344
2350 {
2351 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
2352 };
2353 Q_ENUM( RasterTemporalCapabilityFlag )
2354
2355
2362
2369 {
2370 Forward SIP_MONKEYPATCH_COMPAT_NAME( ForwardTransform ),
2371 Reverse SIP_MONKEYPATCH_COMPAT_NAME( ReverseTransform )
2372 };
2373 Q_ENUM( TransformDirection )
2374
2375
2381 {
2382 BallparkTransformsAreAppropriate = 1 << 0,
2383 IgnoreImpossibleTransformations = 1 << 1,
2384 };
2385 Q_ENUM( CoordinateTransformationFlag )
2386
2387
2394
2401 {
2402 Antialiasing = 0x01,
2403 DrawEditingInfo = 0x02,
2404 ForceVectorOutput = 0x04,
2405 UseAdvancedEffects = 0x08,
2406 DrawLabeling = 0x10,
2407 UseRenderingOptimization = 0x20,
2408 DrawSelection = 0x40,
2409 DrawSymbolBounds = 0x80,
2410 RenderMapTile = 0x100,
2411 RenderPartialOutput = 0x200,
2412 RenderPreviewJob = 0x400,
2413 RenderBlocking = 0x800,
2414 LosslessImageRendering = 0x1000,
2415 Render3DMap = 0x2000,
2416 HighQualityImageTransforms = 0x4000,
2417 SkipSymbolRendering = 0x8000,
2418 ForceRasterMasks = 0x10000,
2419 RecordProfile = 0x20000,
2420 AlwaysUseGlobalMasks = 0x40000,
2421 };
2424 Q_ENUM( MapSettingsFlag )
2425 Q_FLAG( MapSettingsFlags )
2426
2427
2433 {
2434 DrawEditingInfo = 0x01,
2435 ForceVectorOutput = 0x02,
2436 UseAdvancedEffects = 0x04,
2437 UseRenderingOptimization = 0x08,
2438 DrawSelection = 0x10,
2439 DrawSymbolBounds = 0x20,
2440 RenderMapTile = 0x40,
2441 Antialiasing = 0x80,
2442 RenderPartialOutput = 0x100,
2443 RenderPreviewJob = 0x200,
2444 RenderBlocking = 0x400,
2445 RenderSymbolPreview = 0x800,
2446 LosslessImageRendering = 0x1000,
2447 ApplyScalingWorkaroundForTextRendering = 0x2000,
2448 Render3DMap = 0x4000,
2449 ApplyClipAfterReprojection = 0x8000,
2450 RenderingSubSymbol = 0x10000,
2451 HighQualityImageTransforms = 0x20000,
2452 SkipSymbolRendering = 0x40000,
2453 RecordProfile = 0x80000,
2454 AlwaysUseGlobalMasks = 0x100000,
2455 };
2458 Q_ENUM( RenderContextFlag )
2459 Q_FLAG( RenderContextFlags )
2460
2461
2466 enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2467 {
2468 RenderPartialOutputs = 1 << 0,
2469 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2470 };
2471 Q_ENUM( MapLayerRendererFlag )
2472
2473
2479 Q_FLAG( MapLayerRendererFlags )
2480
2481 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
2482 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
2483
2489 {
2490 AlwaysOutlines SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysOutlines ),
2491 AlwaysText SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysText ),
2492 };
2493 Q_ENUM( TextRenderFormat )
2494
2495
2503 {
2504 UseAllLabels = 1 << 1,
2505 UsePartialCandidates = 1 << 2,
2506 // TODO QGIS 4.0: remove
2507 RenderOutlineLabels = 1 << 3,
2508 DrawLabelRectOnly = 1 << 4,
2509 DrawCandidates = 1 << 5,
2510 DrawUnplacedLabels = 1 << 6,
2511 CollectUnplacedLabels = 1 << 7,
2512 DrawLabelMetrics = 1 << 8,
2513 };
2514 Q_ENUM( LabelingFlag )
2515
2516
2524 Q_FLAG( LabelingFlags )
2525
2534 {
2535 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
2536 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
2537 };
2538 Q_ENUM( LabelPlacementEngineVersion )
2539
2540
2548 {
2549 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
2550 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
2551 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
2552 };
2553 Q_ENUM( TextOrientation )
2554
2555
2563 {
2564 Rectangle SIP_MONKEYPATCH_COMPAT_NAME( Rect ),
2565 Point,
2566 Labeling SIP_MONKEYPATCH_COMPAT_NAME( Label ),
2567 RectangleCapHeightBased,
2568 RectangleAscentBased,
2569 };
2570 Q_ENUM( TextLayoutMode )
2571
2572
2580 {
2581 Text,
2582 Buffer,
2583 Background,
2584 Shadow,
2585 };
2586 Q_ENUM( TextComponent )
2587
2588
2596 {
2597 Left SIP_MONKEYPATCH_COMPAT_NAME( AlignLeft ),
2598 Center SIP_MONKEYPATCH_COMPAT_NAME( AlignCenter ),
2599 Right SIP_MONKEYPATCH_COMPAT_NAME( AlignRight ),
2600 Justify SIP_MONKEYPATCH_COMPAT_NAME( AlignJustify ),
2601 };
2602 Q_ENUM( TextHorizontalAlignment )
2603
2604
2615 {
2616 Top SIP_MONKEYPATCH_COMPAT_NAME( AlignTop ),
2617 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
2618 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
2619 };
2620 Q_ENUM( TextVerticalAlignment )
2621
2622
2631 {
2632 Normal,
2633 SuperScript,
2634 SubScript,
2635 };
2636 Q_ENUM( TextCharacterVerticalAlignment )
2637
2638
2646 {
2647 Distance = 0,
2648 SnapToGrid = 1,
2649 Visvalingam = 2,
2650 SnappedToGridGlobal = 3,
2651 };
2652 Q_ENUM( VectorSimplificationAlgorithm )
2653
2654
2662 {
2663 NoSimplification = 0,
2664 GeometrySimplification = 1,
2665 AntialiasingSimplification = 2,
2666 FullSimplification = 3,
2667 };
2668 Q_ENUM( VectorRenderingSimplificationFlag )
2669
2670
2679
2686 {
2687 Generic,
2688 ShadowOffset,
2689 BlurSize,
2690 GlowSpread,
2691 };
2692 Q_ENUM( RenderSubcomponentProperty )
2693
2694
2699 {
2700 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
2701 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
2702 };
2703 Q_ENUM( VertexType )
2704
2705
2713 {
2714 Square,
2715 Diamond,
2716 Pentagon,
2717 Hexagon,
2718 Triangle,
2719 EquilateralTriangle,
2720 Star,
2721 Arrow,
2722 Circle,
2723 Cross,
2724 CrossFill,
2725 Cross2,
2726 Line,
2727 ArrowHead,
2728 ArrowHeadFilled,
2729 SemiCircle,
2730 ThirdCircle,
2731 QuarterCircle,
2732 QuarterSquare,
2733 HalfSquare,
2734 DiagonalHalfSquare,
2735 RightHalfTriangle,
2736 LeftHalfTriangle,
2737 Octagon,
2738 SquareWithCorners,
2739 AsteriskFill,
2740 HalfArc,
2741 ThirdArc,
2742 QuarterArc,
2743 ParallelogramRight,
2744 ParallelogramLeft,
2745 Trapezoid,
2746 Shield,
2747 DiamondStar,
2748 Heart,
2749 Decagon,
2750 RoundedSquare,
2751 };
2752 Q_ENUM( MarkerShape )
2753
2754
2762 {
2763 Interval = 1 << 0,
2764 Vertex = 1 << 1,
2765 LastVertex = 1 << 2,
2766 FirstVertex = 1 << 3,
2767 CentralPoint = 1 << 4,
2768 CurvePoint = 1 << 5,
2769 SegmentCenter = 1 << 6,
2770 InnerVertices = 1 << 7,
2771 };
2772 Q_ENUM( MarkerLinePlacement )
2774 Q_FLAG( MarkerLinePlacements )
2775
2784 {
2785 SimpleTwoColor,
2786 ColorRamp,
2787 };
2788 Q_ENUM( GradientColorSource )
2789
2790
2798 {
2799 Linear,
2800 Radial,
2801 Conical,
2802 };
2803 Q_ENUM( GradientType )
2804
2805
2813 {
2814 Feature,
2815 Viewport,
2816 };
2817 Q_ENUM( SymbolCoordinateReference )
2818
2819
2828 {
2829 Pad,
2830 Reflect,
2831 Repeat,
2832 };
2833 Q_ENUM( GradientSpread )
2834
2835
2843 {
2844 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
2845 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
2846 };
2847 Q_ENUM( PointCountMethod )
2848
2849
2854 enum class MarkerClipMode : int
2855 {
2856 NoClipping,
2857 Shape,
2858 CentroidWithin,
2859 CompletelyWithin,
2860 };
2861 Q_ENUM( MarkerClipMode )
2862
2863
2868 enum class LineClipMode : int
2869 {
2870 ClipPainterOnly,
2871 ClipToIntersection,
2872 NoClipping,
2873 };
2874 Q_ENUM( LineClipMode )
2875
2876
2882 {
2883 NoRule,
2884 FullDash,
2885 HalfDash,
2886 FullGap,
2887 HalfGap,
2888 };
2889 Q_ENUM( DashPatternLineEndingRule )
2890
2891
2897 {
2898 ScaleBothDashAndGap,
2899 ScaleDashOnly,
2900 ScaleGapOnly,
2901 };
2902 Q_ENUM( DashPatternSizeAdjustment )
2903
2904
2912 {
2913 Color SIP_MONKEYPATCH_COMPAT_NAME( GraduatedColor ),
2914 Size SIP_MONKEYPATCH_COMPAT_NAME( GraduatedSize ),
2915 };
2916 Q_ENUM( GraduatedMethod )
2917
2918
2924 {
2925 NoLabels,
2926 EveryLabel,
2927 FirstLabel,
2928 LastLabel,
2929 FirstAndLastLabels,
2930 };
2931 Q_ENUM( PlotAxisSuffixPlacement )
2932
2933
2937 enum class DpiMode
2938 {
2939 All = 7,
2940 Off = 0,
2941 QGIS = 1,
2942 UMN = 2,
2943 GeoServer = 4,
2944 };
2945 Q_ENUM( DpiMode )
2946
2947
2952 {
2953 Undefined = 0,
2954 StandardDpi = 1,
2955 HighDpi = 2,
2956 };
2957 Q_ENUM( TilePixelRatio )
2958
2959 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
2960
2961
2969 {
2970 MixedCase = 0,
2971 AllUppercase = 1,
2972 AllLowercase = 2,
2973 ForceFirstLetterToCapital = 4,
2974 SmallCaps = 5,
2975 TitleCase = 1004,
2976 UpperCamelCase = 1005,
2977 AllSmallCaps = 1006,
2978 };
2979 Q_ENUM( Capitalization )
2980
2981
2986 enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2987 {
2988 WrapLines = 1 << 0,
2989 };
2990 Q_ENUM( TextRendererFlag )
2992 Q_FLAG( TextRendererFlags )
2993
3000 {
3001 MapBox,
3002 Esri,
3003 };
3005
3012 {
3013 Clockwise,
3014 CounterClockwise,
3015 NoOrientation,
3016 };
3017 Q_ENUM( AngularDirection )
3018
3019
3024 enum class RendererUsage : int
3025 {
3026 View,
3027 Export,
3028 Unknown,
3029 };
3030 Q_ENUM( RendererUsage )
3031
3032
3037 enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
3038 {
3039 Sync3DTo2D = 1 << 0,
3040 Sync2DTo3D = 1 << 1,
3041 };
3042 Q_ENUM( ViewSyncModeFlag )
3044
3051 {
3052 Always,
3053 WhenOutsideVisibleExtent,
3054 Never,
3055 };
3056 Q_ENUM( MapRecenteringMode )
3057
3058
3063 enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
3064 {
3065 LocalProfile = 1 << 0,
3066// Project = 1 << 1, //!< QGIS Project (not yet implemented)
3067 };
3068 Q_ENUM( HistoryProviderBackend )
3070 Q_FLAG( HistoryProviderBackends )
3071
3080 {
3081 MapLayer SIP_MONKEYPATCH_COMPAT_NAME( TypeMapLayer ) = -2,
3082 VectorAnyGeometry SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorAnyGeometry ) = -1,
3083 VectorPoint SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPoint ) = 0,
3084 VectorLine SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorLine ) = 1,
3085 VectorPolygon SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPolygon ) = 2,
3086 Raster SIP_MONKEYPATCH_COMPAT_NAME( TypeRaster ) = 3,
3087 File SIP_MONKEYPATCH_COMPAT_NAME( TypeFile ) = 4,
3088 Vector SIP_MONKEYPATCH_COMPAT_NAME( TypeVector ) = 5,
3089 Mesh SIP_MONKEYPATCH_COMPAT_NAME( TypeMesh ) = 6,
3090 Plugin SIP_MONKEYPATCH_COMPAT_NAME( TypePlugin ) = 7,
3091 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( TypePointCloud ) = 8,
3092 Annotation SIP_MONKEYPATCH_COMPAT_NAME( TypeAnnotation ) = 9,
3093 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorTile ) = 10
3094 };
3095 Q_ENUM( ProcessingSourceType )
3096
3097
3098
3106 {
3107 DeemphasiseSearchResults SIP_MONKEYPATCH_COMPAT_NAME( FlagDeemphasiseSearchResults ) = 1 << 1,
3108 CompatibleWithVirtualRaster SIP_MONKEYPATCH_COMPAT_NAME( FlagCompatibleWithVirtualRaster ) = 1 << 2,
3109 };
3111
3120 Q_FLAG( ProcessingProviderFlags )
3121
3122
3130 {
3131 HideFromToolbox SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromToolbox ) = 1 << 1,
3132 HideFromModeler SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromModeler ) = 1 << 2,
3133 SupportsBatch SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsBatch ) = 1 << 3,
3134 CanCancel SIP_MONKEYPATCH_COMPAT_NAME( FlagCanCancel ) = 1 << 4,
3135 RequiresMatchingCrs SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresMatchingCrs ) = 1 << 5,
3136 NoThreading SIP_MONKEYPATCH_COMPAT_NAME( FlagNoThreading ) = 1 << 6,
3137 DisplayNameIsLiteral SIP_MONKEYPATCH_COMPAT_NAME( FlagDisplayNameIsLiteral ) = 1 << 7,
3138 SupportsInPlaceEdits SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsInPlaceEdits ) = 1 << 8,
3139 KnownIssues SIP_MONKEYPATCH_COMPAT_NAME( FlagKnownIssues ) = 1 << 9,
3140 CustomException SIP_MONKEYPATCH_COMPAT_NAME( FlagCustomException ) = 1 << 10,
3141 PruneModelBranchesBasedOnAlgorithmResults SIP_MONKEYPATCH_COMPAT_NAME( FlagPruneModelBranchesBasedOnAlgorithmResults ) = 1 << 11,
3142 SkipGenericModelLogging SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGenericModelLogging ) = 1 << 12,
3143 NotAvailableInStandaloneTool SIP_MONKEYPATCH_COMPAT_NAME( FlagNotAvailableInStandaloneTool ) = 1 << 13,
3144 RequiresProject SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresProject ) = 1 << 14,
3145 Deprecated SIP_MONKEYPATCH_COMPAT_NAME( FlagDeprecated ) = HideFromToolbox | HideFromModeler,
3146 };
3148
3157 Q_FLAG( ProcessingAlgorithmFlags )
3158
3159
3165 {
3166 RegeneratesPrimaryKey = 1 << 0,
3167 RegeneratesPrimaryKeyInSomeScenarios = 1 << 1,
3168 };
3169 Q_ENUM( ProcessingAlgorithmDocumentationFlag )
3170
3171
3178
3188 {
3189 NotAvailable,
3190 Available,
3191 };
3192 Q_ENUM( ProcessingPropertyAvailability )
3193
3194
3202 {
3203 DefaultLevel = 0,
3204 Verbose,
3205 ModelDebug,
3206 };
3207 Q_ENUM( ProcessingLogLevel )
3208
3209
3217 {
3218 OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck ) = 1 << 0,
3219 CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature ) = 1 << 1,
3220 };
3221 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3222
3223
3232
3241 {
3242 SkipGeometryValidityChecks SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGeometryValidityChecks ) = 1 << 1,
3243 };
3244 Q_ENUM( ProcessingFeatureSourceFlag )
3245
3246
3255
3267 {
3268 ExposeToModeler = 1
3269 };
3270 Q_ENUM( ProcessingParameterTypeFlag )
3271
3272
3284
3293 {
3294 Advanced SIP_MONKEYPATCH_COMPAT_NAME( FlagAdvanced ) = 1 << 1,
3295 Hidden SIP_MONKEYPATCH_COMPAT_NAME( FlagHidden ) = 1 << 2,
3296 Optional SIP_MONKEYPATCH_COMPAT_NAME( FlagOptional ) = 1 << 3,
3297 IsModelOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagIsModelOutput ) = 1 << 4,
3298 };
3299 Q_ENUM( ProcessingParameterFlag )
3300
3301
3309 Q_FLAG( ProcessingParameterFlags )
3310
3319 {
3320 File = 0,
3321 Folder,
3322 };
3323 Q_ENUM( ProcessingFileParameterBehavior )
3324
3325
3333 {
3334 Integer,
3335 Double,
3336 };
3337 Q_ENUM( ProcessingNumberParameterType )
3338
3339
3347 {
3348 Any = -1,
3349 Numeric = 0,
3350 String = 1,
3351 DateTime = 2,
3352 Binary = 3,
3353 Boolean = 4,
3354 };
3355 Q_ENUM( ProcessingFieldParameterDataType )
3356
3357
3365 {
3366 DateTime,
3367 Date,
3368 Time,
3369 };
3370 Q_ENUM( ProcessingDateTimeParameterDataType )
3371
3372
3378 {
3379 ModelParameter,
3380 ChildOutput,
3381 StaticValue,
3382 Expression,
3383 ExpressionText,
3384 ModelOutput,
3385 };
3386 Q_ENUM( ProcessingModelChildParameterSource )
3387
3388
3394 {
3395 NotExecuted,
3396 Success,
3397 Failed,
3398 };
3399 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
3400
3401
3409 {
3410 Vertices,
3411 StructureLines,
3412 BreakLines
3413 };
3414 Q_ENUM( ProcessingTinInputLayerType )
3415
3416
3422 {
3423 Wkt SIP_MONKEYPATCH_COMPAT_NAME( FormatWkt ),
3424 Proj SIP_MONKEYPATCH_COMPAT_NAME( FormatProj ),
3425 };
3426 Q_ENUM( CrsDefinitionFormat )
3427
3428
3436 enum class FieldDomainSplitPolicy : int
3437 {
3438 DefaultValue,
3439 Duplicate,
3440 GeometryRatio,
3441 UnsetField,
3442 };
3443 Q_ENUM( FieldDomainSplitPolicy )
3444
3445
3453 enum class FieldDomainMergePolicy : int
3454 {
3455 DefaultValue,
3456 Sum,
3457 GeometryWeighted,
3458 };
3459 Q_ENUM( FieldDomainMergePolicy )
3460
3461
3468 enum class FieldDuplicatePolicy : int
3469 {
3470 DefaultValue,
3471 Duplicate,
3472 UnsetField,
3473 };
3474 Q_ENUM( FieldDuplicatePolicy )
3475
3476
3481 enum class FieldDomainType : int
3482 {
3483 Coded,
3484 Range,
3485 Glob,
3486 };
3487 Q_ENUM( FieldDomainType )
3488
3489
3494 enum class TransactionMode : int
3495 {
3496 Disabled = 0,
3497 AutomaticGroups = 1,
3498 BufferedGroups = 2,
3499 };
3500 Q_ENUM( TransactionMode )
3501
3502
3507 enum class AltitudeClamping : int
3508 {
3509 Absolute,
3510 Relative,
3511 Terrain,
3512 };
3513 Q_ENUM( AltitudeClamping )
3514
3515
3520 enum class AltitudeBinding : int
3521 {
3522 Vertex,
3523 Centroid,
3524 };
3525 Q_ENUM( AltitudeBinding )
3526
3527
3532 enum class RangeLimits : int
3533 {
3534 IncludeBoth = 0,
3535 IncludeLowerExcludeUpper,
3536 ExcludeLowerIncludeUpper,
3537 ExcludeBoth,
3538 };
3539 Q_ENUM( RangeLimits )
3540
3541
3546 enum class RasterElevationMode : int
3547 {
3548 FixedElevationRange = 0,
3549 RepresentsElevationSurface = 1,
3550 FixedRangePerBand = 2,
3551 DynamicRangePerBand = 3,
3552 };
3553 Q_ENUM( RasterElevationMode )
3554
3555
3560 enum class MeshElevationMode : int
3561 {
3562 FixedElevationRange = 0,
3563 FromVertices = 1,
3564 FixedRangePerGroup = 2,
3565 };
3566 Q_ENUM( MeshElevationMode )
3567
3568
3574 {
3575 NoConstraint,
3576 Perpendicular,
3577 Parallel
3578 };
3579 Q_ENUM( BetweenLineConstraint )
3580
3581
3586 enum class LineExtensionSide : int
3587 {
3588 BeforeVertex,
3589 AfterVertex,
3590 NoVertex,
3591 };
3592 Q_ENUM( LineExtensionSide )
3593
3594
3595
3599 enum class CadConstraintType : int
3600 {
3601 Generic,
3602 Angle,
3603 Distance,
3604 XCoordinate,
3605 YCoordinate,
3606 ZValue,
3607 MValue,
3608 };
3609 Q_ENUM( CadConstraintType )
3610
3611
3612
3617 enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
3618 {
3619 EvaluateDefaultValuesOnProviderSide = 1 << 0,
3620 TrustStoredLayerStatistics = 1 << 1,
3621 RememberLayerEditStatusBetweenSessions = 1 << 2,
3622 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
3623 };
3624 Q_ENUM( ProjectFlag )
3625 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
3626 Q_FLAG( ProjectFlags )
3627
3633 enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
3634 {
3635 ShowContextMenu = 1 << 0,
3636 };
3637 Q_ENUM( PlotToolFlag )
3638 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
3639 Q_FLAG( PlotToolFlags )
3640
3641
3649 enum class Point3DShape : int
3650 {
3651 Cylinder,
3652 Sphere,
3653 Cone,
3654 Cube,
3655 Torus,
3656 Plane,
3657 ExtrudedText,
3658 Model,
3659 Billboard,
3660 };
3661 Q_ENUM( Point3DShape )
3662
3663
3668 enum class LightSourceType : int
3669 {
3670 Point,
3671 Directional,
3672 };
3673 Q_ENUM( LightSourceType )
3674
3675
3680 enum class NavigationMode : int
3681 {
3682 TerrainBased,
3683 Walk
3684 };
3685 Q_ENUM( NavigationMode )
3686
3687
3692 enum class VerticalAxisInversion : int
3693 {
3694 Never,
3695 WhenDragging,
3696 Always,
3697 };
3698 Q_ENUM( VerticalAxisInversion )
3699
3700
3706 {
3707 Line,
3708 FillBelow,
3709 FillAbove,
3710 };
3712
3718 enum class VectorProfileType : int
3719 {
3720 IndividualFeatures,
3721 ContinuousSurface,
3722 };
3724
3730 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
3731 {
3732 RespectsMaximumErrorMapUnit = 1 << 0,
3733 RespectsDistanceRange = 1 << 1,
3734 RespectsElevationRange = 1 << 2,
3735 };
3736 Q_ENUM( ProfileGeneratorFlag )
3738 Q_FLAG( ProfileGeneratorFlags )
3739
3745 enum class ProfileExportType : int
3746 {
3747 Features3D,
3748 Profile2D,
3749 DistanceVsElevationTable,
3750 };
3752
3759 {
3760 Square,
3761 Circle,
3762 };
3763 Q_ENUM( PointCloudSymbol )
3764
3765
3771 {
3772 Default,
3773 BottomToTop,
3774 TopToBottom,
3775 };
3776 Q_ENUM( PointCloudDrawOrder )
3777
3778
3786 {
3787 AllowIntersections,
3788 AvoidIntersectionsCurrentLayer,
3789 AvoidIntersectionsLayers,
3790 };
3791 Q_ENUM( AvoidIntersectionsMode )
3792
3793
3801 {
3802 Qgz,
3803 Qgs,
3804 };
3805 Q_ENUM( ProjectFileFormat )
3806
3807
3815 {
3816 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers ) = 1 << 0,
3817 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts ) = 1 << 1,
3818 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata ) = 1 << 2,
3819 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
3820 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
3821 DontLoadProjectStyles = 1 << 5,
3822 ForceReadOnlyLayers = 1 << 6,
3823 };
3824 Q_ENUM( ProjectReadFlag )
3825
3826
3834 Q_FLAG( ProjectReadFlags )
3835
3844 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
3845 {
3846 ProjectStyles = 1 << 0,
3847 };
3848 Q_ENUM( ProjectCapability )
3849
3850
3856 Q_FLAG( ProjectCapabilities )
3857
3864 {
3865 Vector,
3866 Raster,
3867 RasterDem,
3868 GeoJson,
3869 Image,
3870 Video,
3871 Unknown,
3872 };
3873 Q_ENUM( MapBoxGlStyleSourceType )
3874
3875
3883 {
3884 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
3885 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
3886 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
3887 GlobeServer,
3888 GPServer,
3889 GeocodeServer,
3890 Unknown,
3891 };
3892 Q_ENUM( ArcGisRestServiceType )
3893
3894
3902 {
3903 Normal,
3904 Generated,
3905 };
3906 Q_ENUM( RelationshipType )
3907
3908
3916 {
3917 Association,
3918 Composition,
3919 };
3920 Q_ENUM( RelationshipStrength )
3921
3922
3928 {
3929 OneToOne,
3930 OneToMany,
3931 ManyToOne,
3932 ManyToMany,
3933 };
3934 Q_ENUM( RelationshipCardinality )
3935
3936
3941 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
3942 {
3943 MultipleFieldKeys = 1 << 0,
3944 ForwardPathLabel = 1 << 1,
3945 BackwardPathLabel = 1 << 2,
3946 };
3947 Q_ENUM( RelationshipCapability )
3948
3949
3955 Q_FLAG( RelationshipCapabilities )
3956
3962 enum class CoordinateDisplayType : int
3963 {
3964 MapCrs,
3965 MapGeographic,
3966 CustomCrs,
3967 };
3968 Q_ENUM( CoordinateDisplayType )
3969
3970
3975 enum class SettingsOrigin : int
3976 {
3977 Any,
3978 Global,
3979 Local,
3980 };
3981 Q_ENUM( SettingsOrigin )
3982
3983
3988 enum class ScriptLanguage : int
3989 {
3990 Css,
3991 QgisExpression,
3992 Html,
3993 JavaScript,
3994 Json,
3995 Python,
3996 R,
3997 Sql,
3998 Batch,
3999 Bash,
4000 Unknown,
4001 };
4002 Q_ENUM( ScriptLanguage )
4003
4004
4012 {
4013 Reformat = 1 << 0,
4014 CheckSyntax = 1 << 1,
4015 ToggleComment = 1 << 2,
4016 };
4017 Q_ENUM( ScriptLanguageCapability )
4018
4019
4026
4033 {
4034 AboveInsertionPoint,
4035 TopOfTree,
4036 OptimalInInsertionGroup,
4037 };
4038 Q_ENUM( LayerTreeInsertionMethod )
4039
4040
4045 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
4046 {
4047 SkipVisibilityCheck = 1 << 0,
4048 };
4049 Q_ENUM( LayerTreeFilterFlag )
4050
4051
4057 Q_FLAG( LayerTreeFilterFlags )
4058
4059
4067 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
4068 {
4069 ShowRuleDetails = 1 << 0,
4070 };
4071 Q_ENUM( LegendJsonRenderFlag )
4073 Q_FLAG( LegendJsonRenderFlags )
4074
4082 enum class ActionType : int
4083 {
4084 Invalid,
4085 MapLayerAction,
4086 AttributeAction
4087 };
4088 Q_ENUM( ActionType )
4089
4090
4097 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
4098 {
4099 Layer = 1 << 0,
4100 SingleFeature = 1 << 1,
4101 MultipleFeatures = 1 << 2,
4102 AllActions = Layer | SingleFeature | MultipleFeatures
4103 };
4104 Q_ENUM( MapLayerActionTarget )
4105
4106
4114 Q_FLAG( MapLayerActionTargets )
4115
4123 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
4124 {
4125 EnabledOnlyWhenEditable = 1 << 1,
4126 };
4127 Q_ENUM( MapLayerActionFlag )
4128
4129
4137 Q_FLAG( MapLayerActionFlags )
4138
4147 {
4148 Generic,
4149 GenericPython,
4150 Mac,
4151 Windows,
4152 Unix,
4153 OpenUrl,
4154 SubmitUrlEncoded,
4155 SubmitUrlMultipart,
4156 };
4157 Q_ENUM( AttributeActionType )
4158
4159
4165 {
4166 Created,
4167 Published,
4168 Revised,
4169 Superseded,
4170 };
4171 Q_ENUM( MetadataDateType )
4172
4173
4183 {
4184 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
4185 GrayIndex = 1,
4186 PaletteIndex = 2,
4187 RedBand = 3,
4188 GreenBand = 4,
4189 BlueBand = 5,
4190 AlphaBand = 6,
4191 HueBand = 7,
4192 SaturationBand = 8,
4193 LightnessBand = 9,
4194 CyanBand = 10,
4195 MagentaBand = 11,
4196 YellowBand = 12,
4197 BlackBand = 13,
4198 YCbCr_YBand = 14,
4199 YCbCr_CbBand = 15,
4200 YCbCr_CrBand = 16,
4201 ContinuousPalette = 17
4202 };
4203 Q_ENUM( RasterColorInterpretation )
4204
4205
4213 {
4214 GrayOrUndefined,
4215 Palette,
4216 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
4217 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
4218 };
4219 Q_ENUM( RasterLayerType )
4220
4221
4229 {
4230 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
4231 SingleBandGray,
4232 SingleBandPseudoColor,
4233 PalettedColor,
4234 PalettedSingleBandGray,
4235 PalettedSingleBandPseudoColor,
4236 PalettedMultiBandColor,
4237 MultiBandSingleBandGray,
4238 MultiBandSingleBandPseudoColor,
4239 MultiBandColor,
4240 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
4241 };
4242 Q_ENUM( RasterDrawingStyle )
4243
4244
4251 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
4252 {
4253 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
4254 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
4255 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
4256 };
4257 Q_ENUM( RasterPyramidFormat )
4258
4259
4267 {
4268 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
4269 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
4270 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
4271 };
4272 Q_ENUM( RasterBuildPyramidOption )
4273
4274
4282 {
4283 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
4284 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
4285 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
4286 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
4287 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
4288 };
4289 Q_ENUM( RasterIdentifyFormat )
4290
4291 // TODO QGIS 4 -- remove NoCapabilities and rely on RasterInterfaceCapabilities() instead
4292 // remove deprecated members
4293 // Remove "Identify" member, and replace with combinations of IdentifyValue/IdentifyText/etc
4294
4295
4303 {
4304 NoCapabilities = 0,
4305 Size = 1 << 1,
4306 Create = 1 << 2,
4307 Remove = 1 << 3,
4308 BuildPyramids = 1 << 4,
4309 Identify = 1 << 5,
4310 IdentifyValue = 1 << 6,
4311 IdentifyText = 1 << 7,
4312 IdentifyHtml = 1 << 8,
4313 IdentifyFeature = 1 << 9,
4314 Prefetch = 1 << 10,
4315 };
4316 Q_ENUM( RasterInterfaceCapability )
4317
4318
4325
4326 // TODO QGIS 4 -- remove NoProviderCapabilities and rely on RasterProviderCapabilities() instead
4327
4336 {
4337 NoProviderCapabilities = 0,
4338 ReadLayerMetadata = 1 << 1,
4339 WriteLayerMetadata = 1 << 2,
4340 ProviderHintBenefitsFromResampling = 1 << 3,
4341 ProviderHintCanPerformProviderResampling = 1 << 4,
4342 ReloadData = 1 << 5,
4343 DpiDependentData = 1 << 6,
4344 NativeRasterAttributeTable = 1 << 7,
4345 BuildPyramids = 1 << 8,
4346 };
4347 Q_ENUM( RasterProviderCapability )
4348
4349
4358
4365 {
4366 HighestElevation,
4367 NewerElevation,
4368 };
4369 Q_ENUM( ElevationMapCombineMethod )
4370
4371
4380 {
4381 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
4382 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
4383 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
4384 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
4385 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
4386 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
4387 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
4388 Burn SIP_MONKEYPATCH_COMPAT_NAME( BlendBurn ),
4389 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
4390 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
4391 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
4392 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
4393 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
4394 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
4395 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
4396 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
4397 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
4398 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
4399 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
4400 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
4401 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
4402 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
4403 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
4404 Xor SIP_MONKEYPATCH_COMPAT_NAME( BlendXor ),
4405 };
4406 Q_ENUM( BlendMode )
4407
4408
4416 {
4417 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
4418 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
4419 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
4420 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
4421 };
4422 Q_ENUM( SystemOfMeasurement )
4423
4424
4431 {
4432 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
4433 Pixels,
4434 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
4435 };
4436 Q_ENUM( MapToolUnit )
4437
4438
4446 {
4447 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
4448 Area SIP_MONKEYPATCH_COMPAT_NAME( TypeArea ),
4449 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
4450 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
4451 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
4452 };
4453 Q_ENUM( UnitType )
4454
4455
4463 {
4464 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
4465 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
4466 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
4467 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
4468 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
4469 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
4470 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
4471 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
4472 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
4473 Inches,
4474 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
4475 };
4476 Q_ENUM( DistanceUnit )
4477
4478
4486 {
4487 Standard,
4488 Geographic,
4489 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
4490 };
4491 Q_ENUM( DistanceUnitType )
4492
4493
4501 {
4502 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
4503 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
4504 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
4505 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
4506 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
4507 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
4508 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
4509 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
4510 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
4511 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
4512 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
4513 SquareInches,
4514 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
4515 };
4516 Q_ENUM( AreaUnit )
4517
4518
4526 {
4527 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
4528 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
4529 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
4530 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
4531 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
4532 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
4533 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
4534 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
4535 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
4536 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
4537 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
4538 };
4539 Q_ENUM( VolumeUnit )
4540
4541
4549 {
4550 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
4551 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
4552 Gon SIP_MONKEYPATCH_COMPAT_NAME( AngleGon ),
4553 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
4554 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
4555 Turn SIP_MONKEYPATCH_COMPAT_NAME( AngleTurn ),
4556 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
4557 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
4558 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
4559 };
4560 Q_ENUM( AngleUnit )
4561
4562
4570 {
4571 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
4572 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
4573 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
4574 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
4575 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
4576 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
4577 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
4578 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
4579 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
4580 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
4581 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
4582 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
4583 };
4584 Q_ENUM( TemporalUnit )
4585
4586
4594 {
4595 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
4596 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
4597 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
4598 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
4599 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
4600 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
4601 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
4602 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
4603 };
4604 Q_ENUM( RenderUnit )
4605
4606
4614 {
4615 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
4616 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
4617 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
4618 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
4619 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
4620 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
4621 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
4622 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
4623 };
4624 Q_ENUM( LayoutUnit )
4625
4626
4634 {
4635 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
4636 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
4637 };
4638 Q_ENUM( LayoutUnitType )
4639
4640
4648 {
4649 SVG SIP_MONKEYPATCH_COMPAT_NAME( FormatSVG ) = 0,
4650 Raster SIP_MONKEYPATCH_COMPAT_NAME( FormatRaster ),
4651 Unknown SIP_MONKEYPATCH_COMPAT_NAME( FormatUnknown ),
4652 };
4653 Q_ENUM( PictureFormat )
4654
4655
4663 {
4664 Left SIP_MONKEYPATCH_COMPAT_NAME( AlignLeft ) = 0,
4665 Middle SIP_MONKEYPATCH_COMPAT_NAME( AlignMiddle ),
4666 Right SIP_MONKEYPATCH_COMPAT_NAME( AlignRight ),
4667 };
4668 Q_ENUM( ScaleBarAlignment )
4669
4670
4678 {
4679 Fixed SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFixed ) = 0,
4680 FitWidth SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFitWidth ) = 1
4681 };
4682 Q_ENUM( ScaleBarSegmentSizeMode )
4683
4684
4692 {
4693 AboveSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelAboveSegment ) = 0,
4694 BelowSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelBelowSegment ),
4695 };
4696 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
4697
4698
4706 {
4707 CenteredEdge SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredEdge ) = 0,
4708 CenteredSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredSegment ),
4709 };
4710 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
4711
4712
4717 enum class InputControllerType : int
4718 {
4719 Map2D,
4720 Map3D
4721 };
4723
4730 {
4731 NotSet,
4732 Unknown,
4733 OrdinaryTable,
4734 Index,
4735 Sequence,
4736 View,
4737 MaterializedView,
4738 CompositeType,
4739 ToastTable,
4740 ForeignTable,
4741 PartitionedTable,
4742 };
4743 Q_ENUM( PostgresRelKind )
4744
4745
4751 {
4752 SetFieldComment = 1 << 0,
4753 SetFieldAlias = 1 << 1,
4754 };
4755 Q_ENUM( DatabaseProviderConnectionCapability2 )
4758
4765 {
4766 SaveToDatabase = 1 << 1,
4767 LoadFromDatabase = 1 << 2,
4768 DeleteFromDatabase = 1 << 3
4769 };
4773
4774
4780 {
4781 LastProfile,
4782 DefaultProfile,
4783 AskUser,
4784 };
4785 Q_ENUM( UserProfileSelectionPolicy )
4786
4787
4795 {
4796 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
4797 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
4798 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
4799 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
4800 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
4801 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
4802 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
4803 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
4804 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
4805 };
4806 Q_ENUM( AttributeEditorType )
4807
4808
4814 {
4815 GroupBox,
4816 Tab,
4817 Row,
4818 };
4819 Q_ENUM( AttributeEditorContainerType )
4820
4821
4829 {
4830 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
4831 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
4832 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
4833 };
4834 Q_ENUM( AttributeFormLayout )
4835
4836
4844 {
4845 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
4846 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
4847 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
4848 };
4849 Q_ENUM( AttributeFormSuppression )
4850
4851
4859 {
4860 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
4861 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
4862 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
4863 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
4864 };
4865 Q_ENUM( AttributeFormPythonInitCodeSource )
4866
4867
4873 {
4874 Qgis,
4875 PointCloud,
4876 RasterCalculator,
4877 };
4878 Q_ENUM( ExpressionType )
4879
4880
4888 {
4889 NoSymbology = 0,
4890 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
4891 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
4892 };
4893 Q_ENUM( FeatureSymbologyExport )
4894
4895
4900 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
4901 {
4902 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
4903 };
4904 Q_ENUM( VectorTileProviderFlag )
4905
4906
4912 Q_FLAG( VectorTileProviderFlags )
4913
4919 {
4920 ReadLayerMetadata = 1 << 1,
4921 };
4922 Q_ENUM( VectorTileProviderCapability )
4923
4924
4931
4938 {
4939 Available,
4940 NotAvailable,
4941 AvailableNoChildren,
4942 UseLowerZoomLevelTile,
4943 };
4944 Q_ENUM( TileAvailability )
4945
4946
4952 {
4953 ReadLayerMetadata = 1 << 1,
4954 };
4955 Q_ENUM( TiledSceneProviderCapability )
4956
4957
4964
4971 {
4972 Region,
4973 OrientedBox,
4974 Sphere,
4975 };
4976 Q_ENUM( TiledSceneBoundingVolumeType )
4977
4978
4987 {
4988 Replacement,
4989 Additive,
4990 };
4991 Q_ENUM( TileRefinementProcess )
4992
4993
4999 {
5000 NoChildren,
5001 Available,
5002 NeedFetching,
5003 };
5004 Q_ENUM( TileChildrenAvailability )
5005
5006
5011 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
5012 {
5013 NoHierarchyFetch = 1 << 0,
5014 };
5015 Q_ENUM( TiledSceneRequestFlag )
5016
5017
5023 Q_FLAG( TiledSceneRequestFlags )
5024
5030 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
5031 {
5032 RequiresTextures = 1 << 0,
5033 ForceRasterRender = 1 << 1,
5034 RendersTriangles = 1 << 2,
5035 RendersLines = 1 << 3,
5036 };
5037 Q_ENUM( TiledSceneRendererFlag )
5038
5039
5045 Q_FLAG( TiledSceneRendererFlags )
5046
5052 enum class GdalResampleAlgorithm : int
5053 {
5054 RA_NearestNeighbour = 0,
5055 RA_Bilinear = 1,
5056 RA_Cubic = 2,
5057 RA_CubicSpline = 3,
5058 RA_Lanczos = 4,
5059 RA_Average = 5,
5060 RA_Mode = 6,
5061 RA_Max = 8,
5062 RA_Min = 9,
5063 RA_Median = 10,
5064 RA_Q1 = 11,
5065 RA_Q3 = 12,
5066 };
5067 Q_ENUM( GdalResampleAlgorithm )
5068
5069
5074 enum class VsiHandlerType : int
5075 {
5076 Invalid,
5077 Archive,
5078 Network,
5079 Cloud,
5080 Memory,
5081 Other,
5082 };
5083 Q_ENUM( VsiHandlerType )
5084
5085
5090 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
5091 {
5092 Count = 1,
5093 Sum = 2,
5094 Mean = 4,
5095 Median = 8,
5096 StDev = 16,
5097 Min = 32,
5098 Max = 64,
5099 Range = 128,
5100 Minority = 256,
5101 Majority = 512,
5102 Variety = 1024,
5103 Variance = 2048,
5104 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
5105 Default = Count | Sum | Mean,
5106 };
5107 Q_ENUM( ZonalStatistic )
5108
5109
5115 Q_FLAG( ZonalStatistics )
5116
5122 enum class ZonalStatisticResult : int
5123 {
5124 Success = 0,
5125 LayerTypeWrong = 1,
5126 LayerInvalid,
5127 RasterInvalid,
5128 RasterBandInvalid,
5129 FailedToCreateField = 8,
5130 Canceled = 9
5131 };
5132 Q_ENUM( ZonalStatisticResult )
5133
5134
5141 {
5142 Count,
5143 CountDistinct,
5144 CountMissing,
5145 Min,
5146 Max,
5147 Sum,
5148 Mean,
5149 Median,
5150 StDev,
5151 StDevSample,
5152 Range,
5153 Minority,
5154 Majority,
5155 FirstQuartile,
5156 ThirdQuartile,
5157 InterQuartileRange,
5158 StringMinimumLength,
5159 StringMaximumLength,
5160 StringConcatenate,
5161 GeometryCollect,
5162 ArrayAggregate,
5163 StringConcatenateUnique
5164 };
5165 Q_ENUM( Aggregate )
5166
5167
5173 {
5174 Count = 1 << 0,
5175 CountMissing = 1 << 15,
5176 Sum = 1 << 1,
5177 Mean = 1 << 2,
5178 Median = 1 << 3,
5179 StDev = 1 << 4,
5180 StDevSample = 1 << 5,
5181 Min = 1 << 6,
5182 Max = 1 << 7,
5183 Range = 1 << 8,
5184 Minority = 1 << 9,
5185 Majority = 1 << 10,
5186 Variety = 1 << 11,
5187 FirstQuartile = 1 << 12,
5188 ThirdQuartile = 1 << 13,
5189 InterQuartileRange = 1 << 14,
5190 First = 1 << 16,
5191 Last = 1 << 17,
5192 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
5193 };
5194 Q_ENUM( Statistic )
5195
5196
5202 Q_FLAG( Statistics )
5203
5210 {
5211 Count = 1,
5212 CountDistinct = 2,
5213 CountMissing = 4,
5214 Min = 8,
5215 Max = 16,
5216 Range = 32,
5217 All = Count | CountDistinct | CountMissing | Min | Max | Range,
5218 };
5219 Q_ENUM( DateTimeStatistic )
5220
5221
5227 Q_FLAG( DateTimeStatistics )
5228
5235 {
5236 Count = 1,
5237 CountDistinct = 2,
5238 CountMissing = 4,
5239 Min = 8,
5240 Max = 16,
5241 MinimumLength = 32,
5242 MaximumLength = 64,
5243 MeanLength = 128,
5244 Minority = 256,
5245 Majority = 512,
5246 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
5247 };
5248 Q_ENUM( StringStatistic )
5249
5250
5256 Q_FLAG( StringStatistics )
5257
5264 {
5265 NoStatistic = 0,
5266 Min = 1,
5267 Max = 1 << 1,
5268 Range = 1 << 2,
5269 Sum = 1 << 3,
5270 Mean = 1 << 4,
5271 StdDev = 1 << 5,
5272 SumOfSquares = 1 << 6,
5273 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
5274 };
5275 Q_ENUM( RasterBandStatistic )
5276
5277
5283 Q_FLAG( RasterBandStatistics )
5284
5290 enum class SensorThingsEntity : int
5291 {
5292 Invalid,
5293 Thing,
5294 Location,
5295 HistoricalLocation,
5296 Datastream,
5297 Sensor,
5298 ObservedProperty,
5299 Observation,
5300 FeatureOfInterest,
5301 MultiDatastream,
5302 };
5303 Q_ENUM( SensorThingsEntity )
5304
5305
5310 enum class ColorModel : int
5311 {
5312 Rgb,
5313 Cmyk,
5314 };
5315 Q_ENUM( ColorModel )
5316
5317
5320 static const double DEFAULT_SEARCH_RADIUS_MM;
5321
5323 static const float DEFAULT_MAPTOPIXEL_THRESHOLD;
5324
5330 static const QColor DEFAULT_HIGHLIGHT_COLOR;
5331
5335 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
5336
5340 static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
5341
5347 static const double SCALE_PRECISION;
5348
5353 static const double DEFAULT_Z_COORDINATE;
5354
5360 static const double DEFAULT_M_COORDINATE;
5361
5366 static const double UI_SCALE_FACTOR;
5367
5371 static const double DEFAULT_SNAP_TOLERANCE;
5372
5376 static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS;
5377
5383 static QString defaultProjectScales();
5384
5390 static int geosVersionInt();
5391
5397 static int geosVersionMajor();
5398
5404 static int geosVersionMinor();
5405
5411 static int geosVersionPatch();
5412
5418 static QString geosVersion();
5419};
5420
5423
5499
5500// hack to workaround warnings when casting void pointers
5501// retrieved from QLibrary::resolve to function pointers.
5502// It's assumed that this works on all systems supporting
5503// QLibrary
5504#define cast_to_fptr(f) f
5505
5506
5514// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
5515template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
5516{
5517 public:
5518
5523 explicit QgsSignalBlocker( Object *object )
5524 : mObject( object )
5525 , mPreviousState( object->blockSignals( true ) )
5526 {}
5527
5529 {
5530 mObject->blockSignals( mPreviousState );
5531 }
5532
5534 Object *operator->() { return mObject; }
5535
5536 private:
5537
5538 Object *mObject = nullptr;
5539 bool mPreviousState;
5540
5541};
5542
5555// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
5556template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
5557{
5558 return QgsSignalBlocker<Object>( object );
5559}
5560
5562CORE_EXPORT uint qHash( const QVariant &variant );
5563
5569inline QString qgsDoubleToString( double a, int precision = 17 )
5570{
5571 QString str;
5572 if ( precision )
5573 {
5574 if ( precision < 0 )
5575 {
5576 const double roundFactor = std::pow( 10, -precision );
5577 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
5578 }
5579 else
5580 {
5581 str = QString::number( a, 'f', precision );
5582 if ( str.contains( QLatin1Char( '.' ) ) )
5583 {
5584 // remove ending 0s
5585 int idx = str.length() - 1;
5586 while ( str.at( idx ) == '0' && idx > 1 )
5587 {
5588 idx--;
5589 }
5590 if ( idx < str.length() - 1 )
5591 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
5592 }
5593 }
5594 }
5595 else
5596 {
5597 str = QString::number( a, 'f', precision );
5598 }
5599 // avoid printing -0
5600 // see https://bugreports.qt.io/browse/QTBUG-71439
5601 if ( str == QLatin1String( "-0" ) )
5602 {
5603 return QLatin1String( "0" );
5604 }
5605 return str;
5606}
5607
5614inline bool qgsNanCompatibleEquals( double a, double b )
5615{
5616 const bool aIsNan = std::isnan( a );
5617 const bool bIsNan = std::isnan( b );
5618 if ( aIsNan || bIsNan )
5619 return aIsNan && bIsNan;
5620
5621 return a == b;
5622}
5623
5624#ifndef SIP_RUN
5625
5633template<typename T>
5634inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
5635{
5636 const bool aIsNan = std::isnan( a );
5637 const bool bIsNan = std::isnan( b );
5638 if ( aIsNan || bIsNan )
5639 return aIsNan && bIsNan;
5640
5641 const T diff = a - b;
5642 return diff >= -epsilon && diff <= epsilon;
5643}
5644#endif
5645
5652inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
5653{
5654 return qgsNumberNear<double>( a, b, epsilon );
5655}
5656
5663inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
5664{
5665 return qgsNumberNear<float>( a, b, epsilon );
5666}
5667
5669inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
5670{
5671 const bool aIsNan = std::isnan( a );
5672 const bool bIsNan = std::isnan( b );
5673 if ( aIsNan || bIsNan )
5674 return aIsNan && bIsNan;
5675
5676 // The most simple would be to print numbers as %.xe and compare as strings
5677 // but that is probably too costly
5678 // Then the fastest would be to set some bits directly, but little/big endian
5679 // has to be considered (maybe TODO)
5680 // Is there a better way?
5681 int aexp, bexp;
5682 const double ar = std::frexp( a, &aexp );
5683 const double br = std::frexp( b, &bexp );
5684
5685 return aexp == bexp &&
5686 std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
5687}
5688
5693inline double qgsRound( double number, int places )
5694{
5695 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
5696 const double scaleFactor = std::pow( 10.0, places );
5697 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
5698}
5699
5700#ifndef SIP_RUN
5701
5708template<class Key, class Value>
5709QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
5710{
5711 QString result;
5712 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
5713 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
5714
5715 result.chop( separator.size() );
5716 return result;
5717}
5718
5725template<class Key, class Value>
5726QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
5727{
5728 QString result;
5729 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
5730 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
5731
5732 result.chop( separator.size() );
5733 return result;
5734}
5735
5742template<class T>
5743QString qgsSetJoin( const QSet<T> &set, const QString &separator )
5744{
5745 QString result;
5746 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
5747 result += QString( "%1%2" ).arg( *it ).arg( separator );
5748
5749 result.chop( separator.size() );
5750 return result;
5751}
5752
5754
5764namespace qgis
5765{
5766
5779 template<typename To, typename From> inline To down_cast( From *f )
5780 {
5781 static_assert(
5782 ( std::is_base_of<From,
5783 typename std::remove_pointer<To>::type>::value ),
5784 "target type not derived from source type" );
5785 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
5786 return static_cast<To>( f );
5787 }
5788
5789 template<class T>
5790 QSet<T> listToSet( const QList<T> &list )
5791 {
5792 return QSet<T>( list.begin(), list.end() );
5793 }
5794
5795 template<class T>
5796 QList<T> setToList( const QSet<T> &set )
5797 {
5798 return QList<T>( set.begin(), set.end() );
5799 }
5800}
5801
5803#endif
5804
5809template<class T> const QList<T> qgsEnumList() SIP_SKIP
5810{
5811 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5812 Q_ASSERT( metaEnum.isValid() );
5813 QList<T> enumList;
5814 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
5815 {
5816 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
5817 }
5818 return enumList;
5819}
5820
5826template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
5827{
5828 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5829 Q_ASSERT( metaEnum.isValid() );
5830 QMap<T, QString> enumMap;
5831 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
5832 {
5833 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
5834 }
5835 return enumMap;
5836}
5837
5843template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
5844{
5845 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5846 Q_ASSERT( metaEnum.isValid() );
5847 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
5848 if ( returnOk )
5849 {
5850 *returnOk = key ? true : false;
5851 }
5852 return QString::fromUtf8( key );
5853}
5854
5862template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
5863{
5864 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5865 Q_ASSERT( metaEnum.isValid() );
5866 bool ok = false;
5867 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
5868 if ( returnOk )
5869 {
5870 *returnOk = ok;
5871 }
5872 if ( ok )
5873 {
5874 return v;
5875 }
5876 else
5877 {
5878 // if conversion has failed, try with conversion from int value
5879 if ( tryValueAsKey )
5880 {
5881 bool canConvert = false;
5882 const int intValue = key.toInt( &canConvert );
5883 if ( canConvert && metaEnum.valueToKey( intValue ) )
5884 {
5885 if ( returnOk )
5886 {
5887 *returnOk = true;
5888 }
5889 return static_cast<T>( intValue );
5890 }
5891 }
5892 }
5893 return defaultValue;
5894}
5895
5901template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
5902{
5903 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5904 Q_ASSERT( metaEnum.isValid() );
5905 int intValue = static_cast<int>( value );
5906 const QByteArray ba = metaEnum.valueToKeys( intValue );
5907 // check that the int value does correspond to a flag
5908 // see https://stackoverflow.com/a/68495949/1548052
5909 const int intValueCheck = metaEnum.keysToValue( ba );
5910 bool ok = intValue == intValueCheck;
5911 if ( returnOk )
5912 *returnOk = ok;
5913 return ok ? QString::fromUtf8( ba ) : QString();
5914}
5915
5923template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
5924{
5925 if ( keys.isEmpty() )
5926 {
5927 if ( returnOk )
5928 {
5929 *returnOk = false;
5930 }
5931 return defaultValue;
5932 }
5933 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5934 Q_ASSERT( metaEnum.isValid() );
5935 bool ok = false;
5936 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
5937 if ( returnOk )
5938 {
5939 *returnOk = ok;
5940 }
5941 if ( ok )
5942 {
5943 return v;
5944 }
5945 else
5946 {
5947 // if conversion has failed, try with conversion from int value
5948 if ( tryValueAsKey )
5949 {
5950 bool canConvert = false;
5951 const int intValue = keys.toInt( &canConvert );
5952 if ( canConvert )
5953 {
5954 const QByteArray keys = metaEnum.valueToKeys( intValue );
5955 const int intValueCheck = metaEnum.keysToValue( keys );
5956 if ( intValue == intValueCheck )
5957 {
5958 if ( returnOk )
5959 {
5960 *returnOk = true;
5961 }
5962 return T( intValue );
5963 }
5964 }
5965 }
5966 }
5967 return defaultValue;
5968}
5969
5970
5979CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
5980
5989CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
5990
6000CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
6001
6011CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
6012
6021CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
6022
6029CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
6030
6031#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
6032
6039inline bool operator> ( const QVariant &v1, const QVariant &v2 )
6040{
6041 return qgsVariantGreaterThan( v1, v2 );
6042}
6043
6053inline bool operator< ( const QVariant &v1, const QVariant &v2 )
6054{
6055 return qgsVariantLessThan( v1, v2 );
6056}
6057#endif
6058
6059
6060#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
6061
6065template<> CORE_EXPORT bool qMapLessThanKey<QVariantList>( const QVariantList &key1, const QVariantList &key2 ) SIP_SKIP;
6066#endif
6067
6068CORE_EXPORT QString qgsVsiPrefix( const QString &path );
6069
6075void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
6076
6081void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
6082
6083#ifndef SIP_RUN
6084
6085#ifdef _MSC_VER
6086#define CONSTLATIN1STRING inline const QLatin1String
6087#else
6088#define CONSTLATIN1STRING constexpr QLatin1String
6089#endif
6090
6092class ScopedIntIncrementor
6093{
6094 public:
6095
6096 ScopedIntIncrementor( int *variable )
6097 : mVariable( variable )
6098 {
6099 ( *mVariable )++;
6100 }
6101
6102 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
6103 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
6104
6105 void release()
6106 {
6107 if ( mVariable )
6108 ( *mVariable )--;
6109
6110 mVariable = nullptr;
6111 }
6112
6113 ~ScopedIntIncrementor()
6114 {
6115 release();
6116 }
6117
6118 private:
6119 int *mVariable = nullptr;
6120};
6122
6128{
6129 return QLatin1String(
6130 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]] )"""
6131 );
6132}
6133
6136{
6137 return QLatin1String( "+proj=longlat +datum=WGS84 +no_defs" );
6138}
6139
6142{
6143 return QLatin1String( "EPSG:4326" );
6144}
6145
6148{
6149 return QLatin1String( "NONE" );
6150}
6151
6153
6155const int PREVIEW_JOB_DELAY_MS = 250;
6156
6158const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
6159
6161
6162#endif
6163
6165const long GEOSRID = 4326;
6166
6168const long GEOCRS_ID = 3452;
6169
6171const long GEO_EPSG_CRS_ID = 4326;
6172
6177const int USER_CRS_START_ID = 100000;
6178
6179//
6180// Constants for point symbols
6181//
6182
6184const double DEFAULT_POINT_SIZE = 2.0;
6185const double DEFAULT_LINE_WIDTH = 0.26;
6186
6188const double DEFAULT_SEGMENT_EPSILON = 1e-8;
6189
6190typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
6191
6200typedef unsigned long long qgssize;
6201
6202#ifndef SIP_RUN
6203#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
6204
6205#define Q_NOWARN_DEPRECATED_PUSH \
6206 _Pragma("GCC diagnostic push") \
6207 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
6208#define Q_NOWARN_DEPRECATED_POP \
6209 _Pragma("GCC diagnostic pop");
6210#define Q_NOWARN_UNREACHABLE_PUSH
6211#define Q_NOWARN_UNREACHABLE_POP
6212
6213#elif defined(_MSC_VER)
6214
6215#define Q_NOWARN_DEPRECATED_PUSH \
6216 __pragma(warning(push)) \
6217 __pragma(warning(disable:4996))
6218#define Q_NOWARN_DEPRECATED_POP \
6219 __pragma(warning(pop))
6220#define Q_NOWARN_UNREACHABLE_PUSH \
6221 __pragma(warning(push)) \
6222 __pragma(warning(disable:4702))
6223#define Q_NOWARN_UNREACHABLE_POP \
6224 __pragma(warning(pop))
6225
6226#else
6227
6228#define Q_NOWARN_DEPRECATED_PUSH
6229#define Q_NOWARN_DEPRECATED_POP
6230#define Q_NOWARN_UNREACHABLE_PUSH
6231#define Q_NOWARN_UNREACHABLE_POP
6232
6233#endif
6234#endif
6235
6236#ifndef QGISEXTERN
6237#ifdef Q_OS_WIN
6238# define QGISEXTERN extern "C" __declspec( dllexport )
6239#else
6240# if defined(__GNUC__) || defined(__clang__)
6241# define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
6242# else
6243# define QGISEXTERN extern "C"
6244# endif
6245#endif
6246#endif
6247#endif
6248
6249// see https://infektor.net/posts/2017-01-19-using-cpp17-attributes-today.html#using-the-nodiscard-attribute
6250#if __cplusplus >= 201703L
6251#define NODISCARD [[nodiscard]]
6252#elif defined(__clang__)
6253#define NODISCARD [[nodiscard]]
6254#elif defined(_MSC_VER)
6255#define NODISCARD // no support
6256#elif defined(__has_cpp_attribute)
6257#if __has_cpp_attribute(nodiscard)
6258#define NODISCARD [[nodiscard]]
6259#elif __has_cpp_attribute(gnu::warn_unused_result)
6260#define NODISCARD [[gnu::warn_unused_result]]
6261#else
6262#define NODISCARD Q_REQUIRED_RESULT
6263#endif
6264#else
6265#define NODISCARD Q_REQUIRED_RESULT
6266#endif
6267
6268#if __cplusplus >= 201703L
6269#define MAYBE_UNUSED [[maybe_unused]]
6270#elif defined(__clang__)
6271#define MAYBE_UNUSED [[maybe_unused]]
6272#elif defined(_MSC_VER)
6273#define MAYBE_UNUSED // no support
6274#elif defined(__has_cpp_attribute)
6275#if __has_cpp_attribute(gnu::unused)
6276#define MAYBE_UNUSED [[gnu::unused]]
6277#else
6278#define MAYBE_UNUSED
6279#endif
6280#else
6281#define MAYBE_UNUSED
6282#endif
6283
6284#ifndef FINAL
6285#define FINAL final
6286#endif
6287
6288#ifndef SIP_RUN
6289#ifdef _MSC_VER
6290#define BUILTIN_UNREACHABLE \
6291 __assume(false);
6292#elif defined(__GNUC__) && !defined(__clang__)
6293// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
6294// like:
6295// switch( mVariableThatCanOnlyBeXorY )
6296// {
6297// case X:
6298// return "foo";
6299// case Y:
6300// return "foo";
6301// }
6302// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
6303#define BUILTIN_UNREACHABLE \
6304 __builtin_unreachable();
6305#else
6306#define BUILTIN_UNREACHABLE
6307#endif
6308#endif // SIP_RUN
6309
6310#ifdef SIP_RUN
6311
6316QString CORE_EXPORT geoWkt();
6317
6319QString CORE_EXPORT geoProj4();
6320
6322QString CORE_EXPORT geoEpsgCrsAuthId();
6323
6325QString CORE_EXPORT geoNone();
6326
6327#endif
The Qgis class provides global constants for use throughout the application.
Definition qgis.h:54
DistanceUnitType
Types of distance units.
Definition qgis.h:4486
GnssConstellation
GNSS constellation.
Definition qgis.h:1654
SettingsOption
Settings options.
Definition qgis.h:614
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition qgis.h:3731
ProcessingSourceType
Processing data source types.
Definition qgis.h:3080
GpsQualityIndicator
GPS signal quality indicator.
Definition qgis.h:1672
DataItemProviderCapability
Capabilities for data item providers.
Definition qgis.h:813
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3319
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
Definition qgis.h:2478
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:3815
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
Definition qgis.h:1767
MapToolUnit
Type of unit of tolerance value from settings.
Definition qgis.h:4431
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:2924
ProcessingModelChildAlgorithmExecutionStatus
Reflects the status of a child algorithm in a Processing model.
Definition qgis.h:3394
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
Definition qgis.h:1734
ScaleBarDistanceLabelHorizontalPlacement
Scale bar distance label horizontal placement.
Definition qgis.h:4706
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:3759
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
Definition qgis.h:674
GeometryValidityFlag
Geometry validity check flags.
Definition qgis.h:1821
QFlags< RasterProviderCapability > RasterProviderCapabilities
Raster data provider capabilities.
Definition qgis.h:4356
ExpressionType
Expression types.
Definition qgis.h:4873
MapLayerActionFlag
Map layer action flags.
Definition qgis.h:4124
ScaleBarDistanceLabelVerticalPlacement
Scale bar distance label vertical placement.
Definition qgis.h:4692
MapLayerProperty
Generic map layer properties.
Definition qgis.h:1996
VectorProviderCapability
Vector data provider capabilities.
Definition qgis.h:389
BufferSide
Side of line to buffer.
Definition qgis.h:1846
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1283
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
Definition qgis.h:4113
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
Definition qgis.h:4919
AltitudeClamping
Altitude clamping.
Definition qgis.h:3508
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:4901
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:2279
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
Definition qgis.h:1222
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
Definition qgis.h:3855
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1109
CoordinateDisplayType
Formats for displaying coordinates.
Definition qgis.h:3963
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3267
QFlags< VectorRenderingSimplificationFlag > VectorRenderingSimplificationFlags
Simplification flags for vector feature rendering.
Definition qgis.h:2677
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:2897
GpsFixStatus
GPS fix status.
Definition qgis.h:1639
AnnotationItemNodeType
Annotation item node types.
Definition qgis.h:2207
static const char * QGIS_DEV_VERSION
The development version.
Definition qgis.h:82
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:907
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
Definition qgis.h:2423
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
Definition qgis.h:2132
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
Definition qgis.h:1307
AngularDirection
Angular directions.
Definition qgis.h:3012
DriveType
Drive types.
Definition qgis.h:960
UnitType
Unit types.
Definition qgis.h:4446
ContentStatus
Status for fetched or stored content.
Definition qgis.h:1595
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
Definition qgis.h:1557
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition qgis.h:639
LayoutUnit
Layout measurement units.
Definition qgis.h:4614
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:3916
Q_ENUM(GnssConstellation)
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:2762
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Definition qgis.h:3833
Point3DShape
3D point shape types.
Definition qgis.h:3650
GeometryOperationResult
Success or failure of a geometry operation.
Definition qgis.h:1792
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
Definition qgis.h:5255
BrowserItemState
Browser item states.
Definition qgis.h:775
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:4814
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
Definition qgis.h:4962
FeatureRequestFilterType
Types of feature request filters.
Definition qgis.h:1939
MarkerClipMode
Marker clipping modes.
Definition qgis.h:2855
GpsNavigationStatus
GPS navigation status.
Definition qgis.h:1692
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:2179
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:2686
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Definition qgis.h:3409
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Definition qgis.h:2030
Statistic
Available generic statistics.
Definition qgis.h:5173
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:659
AngleUnit
Units of angles.
Definition qgis.h:4549
CaptureTechnique
Capture technique.
Definition qgis.h:313
SpatialIndexPresence
Enumeration of spatial index presence states.
Definition qgis.h:448
BrowserItemCapability
Browser item capabilities.
Definition qgis.h:788
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition qgis.h:4844
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition qgis.h:4056
LayerTreeInsertionMethod
Layer tree insertion methods.
Definition qgis.h:4033
RasterProviderCapability
Raster data provider capabilities.
Definition qgis.h:4336
LineClipMode
Line clipping modes.
Definition qgis.h:2869
VectorRenderingSimplificationFlag
Simplification flags for vector feature rendering.
Definition qgis.h:2662
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
Definition qgis.h:1825
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition qgis.h:862
VsiHandlerType
GDAL VSI handler types.
Definition qgis.h:5075
SettingsTreeNodeType
Type of tree node.
Definition qgis.h:544
TilePixelRatio
DpiMode enum.
Definition qgis.h:2952
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:4751
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition qgis.h:1075
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
Definition qgis.h:3737
LabelPrioritization
Label prioritization.
Definition qgis.h:1014
GradientColorSource
Gradient color sources.
Definition qgis.h:2784
FileFilterType
Type of file filters.
Definition qgis.h:1188
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:1028
RasterLayerType
Raster layer types.
Definition qgis.h:4213
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
Definition qgis.h:332
ScaleBarAlignment
Scalebar alignment.
Definition qgis.h:4663
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:4252
VectorExportResult
Vector layer export result codes.
Definition qgis.h:886
DistanceUnit
Units of distance.
Definition qgis.h:4463
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:2350
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition qgis.h:718
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:2828
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
Definition qgis.h:2197
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1134
ScaleMethod
Scale methods.
Definition qgis.h:514
SldExportOption
SLD export options.
Definition qgis.h:586
VectorSimplificationAlgorithm
Simplification algorithms for vector features.
Definition qgis.h:2646
FilePathType
File path types.
Definition qgis.h:1426
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:3600
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:4859
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:2843
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
Definition qgis.h:601
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:4046
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:4829
FeatureRequestFlag
Flags for controlling feature requests.
Definition qgis.h:1911
VertexType
Types of vertex.
Definition qgis.h:2699
ShaderInterpolationMethod
Color ramp shader interpolation methods.
Definition qgis.h:1238
DataProviderFlag
Generic data provider flags.
Definition qgis.h:2024
Q_ENUM(GpsNavigationStatus)
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg)
Definition qgis.h:5053
GeometryValidationEngine
Available engines for validating geometries.
Definition qgis.h:1834
TransactionMode
Transaction mode.
Definition qgis.h:3495
Q_ENUM(ScaleToTileZoomLevelMethod)
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:4365
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:4229
GpsInformationComponent
GPS information component.
Definition qgis.h:1706
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:3038
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3106
FileOperationFlag
File operation flags.
Definition qgis.h:1981
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
Definition qgis.h:829
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:3845
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
Definition qgis.h:1752
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Definition qgis.h:724
QFlags< RasterInterfaceCapability > RasterInterfaceCapabilities
Raster interface capabilities.
Definition qgis.h:4323
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
Definition qgis.h:4147
TemporalNavigationMode
Temporal navigation modes.
Definition qgis.h:2233
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:3347
AreaUnit
Units of area.
Definition qgis.h:4501
StringStatistic
Available string statistics.
Definition qgis.h:5235
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:3454
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:5091
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:942
QFlags< SnappingType > SnappingTypes
Snapping types.
Definition qgis.h:650
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:2912
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1124
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
Definition qgis.h:4971
TextLayoutMode
Text layout modes.
Definition qgis.h:2563
PropertyType
Property types.
Definition qgis.h:572
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2457
LayerFilter
Filter for layers.
Definition qgis.h:133
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
Definition qgis.h:1226
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition qgis.h:1297
CrsType
Coordinate reference system types.
Definition qgis.h:2042
SensorThingsEntity
OGC SensorThings API entity types.
Definition qgis.h:5291
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1409
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:3437
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:3883
RasterFileWriterResult
Raster file export results.
Definition qgis.h:1392
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition qgis.h:2218
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
Definition qgis.h:3188
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:3051
ActionType
Action types.
Definition qgis.h:4083
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:977
PlaybackOperation
Media playback operations.
Definition qgis.h:2262
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
Definition qgis.h:747
QFlags< TextRendererFlag > TextRendererFlags
Definition qgis.h:2991
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:4765
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:3786
MarkerShape
Marker shapes.
Definition qgis.h:2713
LegendJsonRenderFlag
Legend JSON export flags.
Definition qgis.h:4068
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:4380
RasterElevationMode
Raster layer elevation modes.
Definition qgis.h:3547
Capitalization
String capitalization options.
Definition qgis.h:2969
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:2335
PictureFormat
Picture formats.
Definition qgis.h:4648
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1146
LabelQuadrantPosition
Label quadrant positions.
Definition qgis.h:1089
QFlags< PlotToolFlag > PlotToolFlags
Definition qgis.h:3638
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:3000
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition qgis.h:1205
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:917
TextOrientation
Text orientations.
Definition qgis.h:2548
PythonMacroMode
Authorisation to run Python Macros.
Definition qgis.h:340
TemporalUnit
Temporal units.
Definition qgis.h:4570
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
Definition qgis.h:1328
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
Definition qgis.h:705
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:989
CrsDefinitionFormat
CRS definition formats.
Definition qgis.h:3422
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:1968
QFlags< ProcessingParameterTypeFlag > ProcessingParameterTypeFlags
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3282
TileAvailability
Possible availability states for a tile within a tile matrix.
Definition qgis.h:4938
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:3618
BrowserItemType
Browser item types.
Definition qgis.h:756
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
Definition qgis.h:1928
SettingsType
Types of settings entries.
Definition qgis.h:525
QFlags< SettingsOption > SettingsOptions
Definition qgis.h:619
RasterTemporalMode
Raster layer temporal modes.
Definition qgis.h:2320
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1366
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:2503
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:274
RelationshipType
Relationship types.
Definition qgis.h:3902
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:4012
RasterInterfaceCapability
Raster interface capabilities.
Definition qgis.h:4303
JoinStyle
Join styles for buffers.
Definition qgis.h:1871
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:3771
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
Definition qgis.h:5282
ProcessingAlgorithmDocumentationFlag
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3165
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:2631
FieldDuplicatePolicy
Duplicate policy for fields.
Definition qgis.h:3469
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:4780
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Definition qgis.h:1986
DpiMode
DpiMode enum.
Definition qgis.h:2938
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition qgis.h:838
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3156
AltitudeBinding
Altitude binding.
Definition qgis.h:3521
QFlags< DataProviderReadFlag > DataProviderReadFlags
Flags which control data provider construction.
Definition qgis.h:376
Q_ENUM(ProcessingProviderFlag)
TiledSceneRendererFlag
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:5031
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:4098
ShaderClassificationMethod
Color ramp shader classification methods.
Definition qgis.h:1253
ZonalStatisticResult
Zonal statistics result codes.
Definition qgis.h:5123
ScriptLanguage
Scripting languages.
Definition qgis.h:3989
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
Definition qgis.h:802
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
Definition qgis.h:467
TiledSceneProviderCapability
Tiled scene data provider capabilities.
Definition qgis.h:4952
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:1172
RasterBandStatistic
Available raster band statistics.
Definition qgis.h:5264
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
Definition qgis.h:4929
QFlags< ZonalStatistic > ZonalStatistics
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:5114
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:2307
TextRenderFormat
Options for rendering text.
Definition qgis.h:2489
DataType
Raster data types.
Definition qgis.h:288
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
Definition qgis.h:3043
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition qgis.h:1212
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:4416
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
Definition qgis.h:1337
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition qgis.h:3693
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
Definition qgis.h:2392
RelationshipCapability
Relationship capabilities.
Definition qgis.h:3942
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:4267
QFlags< VectorProviderCapability > VectorProviderCapabilities
Vector data provider capabilities.
Definition qgis.h:426
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:3681
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:4999
LayerType
Types of layers that can be added to a map.
Definition qgis.h:114
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
Definition qgis.h:2183
FieldOrigin
Field origin.
Definition qgis.h:1454
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
Definition qgis.h:5201
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition qgis.h:3634
RenderUnit
Rendering size units.
Definition qgis.h:4594
CoordinateOrder
Order of coordinates.
Definition qgis.h:2117
SelectionFlag
Flags which control feature selection behavior.
Definition qgis.h:1547
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
Definition qgis.h:561
EndCapStyle
End cap styles for buffers.
Definition qgis.h:1858
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
Definition qgis.h:5022
QFlags< MapLayerActionFlag > MapLayerActionFlags
Map layer action flags.
Definition qgis.h:4136
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
Definition qgis.h:2001
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:1763
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
Definition qgis.h:2523
FieldDomainType
Types of field domain.
Definition qgis.h:3482
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2467
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2433
RasterPipeInterfaceRole
Raster pipe interface roles.
Definition qgis.h:1266
CoverageValidityResult
Coverage validity results.
Definition qgis.h:1884
DataProviderReadFlag
Flags which control data provider construction.
Definition qgis.h:357
ScaleBarSegmentSizeMode
Modes for setting size for scale bar segments.
Definition qgis.h:4678
Aggregate
Available aggregates to calculate.
Definition qgis.h:5141
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
Definition qgis.h:700
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
Definition qgis.h:2193
MapBoxGlStyleSourceType
Available MapBox GL style source types.
Definition qgis.h:3864
LayoutUnitType
Types of layout units.
Definition qgis.h:4634
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:480
DashPatternLineEndingRule
Dash pattern line ending rules.
Definition qgis.h:2882
FieldMetadataProperty
Standard field metadata values.
Definition qgis.h:1495
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:5012
RasterRendererCapability
Raster renderer capabilities.
Definition qgis.h:1318
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition qgis.h:1583
HistoryProviderBackend
History provider backends.
Definition qgis.h:3064
RasterExportType
Raster file export types.
Definition qgis.h:1379
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition qgis.h:1438
TextVerticalAlignment
Text vertical alignment.
Definition qgis.h:2615
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:3928
GradientType
Gradient types.
Definition qgis.h:2798
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
Definition qgis.h:4024
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:3719
GpsFeatureType
GPS feature types.
Definition qgis.h:1777
VectorLayerTypeFlag
Vector layer type flags.
Definition qgis.h:327
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition qgis.h:1897
RangeLimits
Describes how the limits of a range are handled.
Definition qgis.h:3533
QFlags< ProjectFlag > ProjectFlags
Definition qgis.h:3625
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:2295
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3308
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
Definition qgis.h:925
VectorEditResult
Specifies the result of a vector layer edit operation.
Definition qgis.h:1568
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:492
Axis
Cartesian axes.
Definition qgis.h:2166
QFlags< ProcessingAlgorithmDocumentationFlag > ProcessingAlgorithmDocumentationFlags
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3176
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
Definition qgis.h:3954
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:665
VolumeUnit
Units of volume.
Definition qgis.h:4526
AttributeEditorType
Attribute editor types.
Definition qgis.h:4795
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
Definition qgis.h:4072
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
Definition qgis.h:4771
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
Definition qgis.h:737
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:1955
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition qgis.h:691
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3230
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:3746
MeshElevationMode
Mesh layer elevation modes.
Definition qgis.h:3561
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:3801
SnappingMode
SnappingMode defines on which layer the snapping is performed.
Definition qgis.h:627
SymbolType
Symbol types.
Definition qgis.h:500
RasterColorInterpretation
Raster color interpretation.
Definition qgis.h:4183
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:3706
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:2534
Q_ENUM(ProcessingAlgorithmFlag)
ColorModel
Color model types.
Definition qgis.h:5311
RendererUsage
Usage of the renderer.
Definition qgis.h:3025
SettingsTreeNodeOption
Options for named list nodes.
Definition qgis.h:556
BabelFormatCapability
Babel GPS format capabilities.
Definition qgis.h:1744
PostgresRelKind
Postgres database relkind options.
Definition qgis.h:4730
GpsConnectionType
GPS connection types.
Definition qgis.h:1610
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
Definition qgis.h:4756
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
Definition qgis.h:3217
LoadStyleFlag
Flags for loading layer styles.
Definition qgis.h:160
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:3574
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
Definition qgis.h:4911
MetadataDateType
Date types for metadata.
Definition qgis.h:4165
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
Definition qgis.h:2360
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3241
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:4282
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:2596
SymbolFlag
Flags controlling behavior of symbols.
Definition qgis.h:686
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition qgis.h:3587
HttpMethod
Different methods of HTTP requests.
Definition qgis.h:874
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:201
QFlags< SldExportOption > SldExportOptions
Definition qgis.h:592
SymbolCoordinateReference
Symbol coordinate reference modes.
Definition qgis.h:2813
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3119
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:4987
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
Definition qgis.h:5226
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1508
InputControllerType
Input controller types.
Definition qgis.h:4718
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:2987
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1535
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:2067
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:3378
QFlags< MarkerLinePlacement > MarkerLinePlacements
Definition qgis.h:2773
CrsWktVariant
Coordinate reference system WKT formatting variants.
Definition qgis.h:2147
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:5044
AutoRefreshMode
Map layer automatic refresh modes.
Definition qgis.h:2011
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3130
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1471
SettingsOrigin
The setting origin describes where a setting is stored.
Definition qgis.h:3976
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3293
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:1001
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:4888
QFlags< LayerFilter > LayerFilters
Definition qgis.h:151
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:3365
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:2381
TextComponent
Text components.
Definition qgis.h:2580
DateTimeStatistic
Available date/time statistics.
Definition qgis.h:5210
AnimationState
Animation states.
Definition qgis.h:2249
TransformDirection
Indicates the direction (forward or inverse) of a transform.
Definition qgis.h:2369
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:3669
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3253
QFlags< HistoryProviderBackend > HistoryProviderBackends
Definition qgis.h:3069
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition qgis.h:1049
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1486
UpsideDownLabelHandling
Handling techniques for upside down labels.
Definition qgis.h:1157
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:1624
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3333
MapSettingsFlag
Flags which adjust the way maps are rendered.
Definition qgis.h:2401
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
Definition qgis.h:933
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
Definition qgis.h:3202
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1521
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.
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:75
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
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:5516
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:5534
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:5523
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.
Abstract base class for all rendered symbols.
Definition qgssymbol.h:94
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:435
@ 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:6147
const double DEFAULT_LINE_WIDTH
Definition qgis.h:6185
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:6039
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:5862
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:5569
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:5726
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:5843
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:5901
const long GEO_EPSG_CRS_ID
Magic number for a geographic coord sys in EpsgCrsId ID format.
Definition qgis.h:6171
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:5709
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:5923
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:6200
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:5826
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference)
Definition qgis.h:5663
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:5743
const QList< T > qgsEnumList()
Returns a list all enum entries.
Definition qgis.h:5809
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:5693
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
Definition qgis.h:5652
CONSTLATIN1STRING geoProj4()
PROJ4 string that represents a geographic coord sys.
Definition qgis.h:6135
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:5614
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:5556
const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition qgis.h:6188
QMap< QString, QString > QgsStringMap
Definition qgis.h:6190
#define CONSTLATIN1STRING
Definition qgis.h:6088
CONSTLATIN1STRING geoWkt()
Wkt string that represents a geographic coord sys.
Definition qgis.h:6127
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:5669
const int USER_CRS_START_ID
Magick number that determines whether a projection crsid is a system (srs.db) or user (~/....
Definition qgis.h:6177
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:5634
const long GEOSRID
Magic number for a geographic coord sys in POSTGIS SRID.
Definition qgis.h:6165
#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:6053
CONSTLATIN1STRING geoEpsgCrsAuthId()
Geographic coord sys from EPSG authority.
Definition qgis.h:6141
const long GEOCRS_ID
Magic number for a geographic coord sys in QGIS srs.db tbl_srs.srs_id.
Definition qgis.h:6168
const double DEFAULT_POINT_SIZE
Magic number that determines the default point size for point symbols.
Definition qgis.h:6184
#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