QGIS API Documentation 3.39.0-Master (52f98f8c831)
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
355 {
356 Uncounted = -2,
357 UnknownCount = -1,
358 };
359 Q_ENUM( FeatureCountState )
360
361
368 {
369 Unknown SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexUnknown ) = 0,
370 NotPresent SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexNotPresent ) = 1,
371 Present SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexPresent ) = 2,
372 };
373 Q_ENUM( SpatialIndexPresence )
374
375
387 {
388 NoFeaturesAvailable = 0,
389 FeaturesAvailable,
390 FeaturesMaybeAvailable
391 };
392 Q_ENUM( FeatureAvailability )
393
394
400 {
401 EditAlias = 1 << 0,
402 EditComment = 1 << 1,
403 };
404
405 Q_ENUM( VectorDataProviderAttributeEditCapability )
406
407
414
420 {
421 Marker,
422 Line,
423 Fill,
424 Hybrid
425 };
426 Q_ENUM( SymbolType )
427
428
434 {
435 ScaleArea,
436 ScaleDiameter
437 };
438 Q_ENUM( ScaleMethod )
439
440
445 {
446 Custom,
447 Variant,
448 String,
449 StringList,
450 VariantMap,
451 Bool,
452 Integer,
453 Double,
454 EnumFlag,
455 Color
456 };
457 Q_ENUM( SettingsType )
458
459
464 {
465 Root,
466 Standard,
467 NamedList,
468 };
469 Q_ENUM( SettingsTreeNodeType )
470
471
475 enum class SettingsTreeNodeOption : int SIP_ENUM_BASETYPE( IntFlag )
476 {
477 NamedListSelectedItemSetting = 1 << 0,
478 };
479
480 Q_ENUM( SettingsTreeNodeOption )
483
492 {
493 Invalid SIP_MONKEYPATCH_COMPAT_NAME( InvalidProperty ),
494 Static SIP_MONKEYPATCH_COMPAT_NAME( StaticProperty ),
495 Field SIP_MONKEYPATCH_COMPAT_NAME( FieldBasedProperty ),
496 Expression SIP_MONKEYPATCH_COMPAT_NAME( ExpressionBasedProperty ),
497 };
498 Q_ENUM( PropertyType )
499
500
505 enum class SldExportOption : int SIP_ENUM_BASETYPE( IntFlag )
506 {
507 NoOptions = 0,
508 Svg = 1 << 0,
509 Png = 1 << 1,
510 };
511 Q_ENUM( SldExportOption )
513 Q_FLAG( SldExportOptions )
514
520 enum class SldExportVendorExtension : int SIP_ENUM_BASETYPE( IntFlag )
521 {
522 NoVendorExtension = 0,
523 GeoServerVendorExtension = 1 << 1,
524 DeegreeVendorExtension = 1 << 2,
525 };
526 Q_ENUM( SldExportVendorExtension )
527
528
529
533 enum class SettingsOption : int SIP_ENUM_BASETYPE( IntFlag )
534 {
535 SaveFormerValue = 1 << 1, //<! Save the former value of the settings
536 SaveEnumFlagAsInt = 1 << 2,
537 };
538 Q_ENUM( SettingsOption )
539 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
540 Q_FLAG( SettingsOptions )
541
547 {
548 ActiveLayer = 1,
549 AllLayers = 2,
550 AdvancedConfiguration = 3,
551 };
552 Q_ENUM( SnappingMode )
553
554
559 {
560 NoSnap SIP_MONKEYPATCH_COMPAT_NAME( NoSnapFlag ) = 0,
561 Vertex SIP_MONKEYPATCH_COMPAT_NAME( VertexFlag ) = 1 << 0,
562 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentFlag ) = 1 << 1,
563 Area SIP_MONKEYPATCH_COMPAT_NAME( AreaFlag ) = 1 << 2,
564 Centroid SIP_MONKEYPATCH_COMPAT_NAME( CentroidFlag ) = 1 << 3,
565 MiddleOfSegment SIP_MONKEYPATCH_COMPAT_NAME( MiddleOfSegmentFlag ) = 1 << 4,
566 LineEndpoint SIP_MONKEYPATCH_COMPAT_NAME( LineEndpointFlag ) = 1 << 5,
567 };
568 Q_ENUM( SnappingType )
571 Q_FLAG( SnappingTypes )
572
579 {
580 DynamicRotation = 1 << 1,
581 IsSymbolLayerSubSymbol = 1 << 2,
582 };
583 Q_ENUM( SymbolRenderHint )
586 Q_FLAG( SymbolRenderHints )
587
593 enum class SymbolRotationMode : int
594 {
595 RespectMapRotation,
596 IgnoreMapRotation,
597 };
598 Q_ENUM( SymbolRotationMode )
599
600
605 enum class SymbolFlag : int SIP_ENUM_BASETYPE( IntFlag )
606 {
607 RendererShouldUseSymbolLevels = 1 << 0,
608 };
609 Q_ENUM( SymbolFlag )
611 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
612 Q_FLAG( SymbolFlags )
613
620 {
621 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
622 };
623 Q_ENUM( SymbolPreviewFlag )
626 Q_FLAG( SymbolPreviewFlags )
627
637 enum class SymbolLayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
638 {
639 DisableFeatureClipping = 1 << 0,
640 CanCalculateMaskGeometryPerFeature = 1 << 1,
641 };
642 Q_ENUM( SymbolLayerFlag )
645 Q_FLAG( SymbolLayerFlags )
646
656 enum class SymbolLayerUserFlag : int SIP_ENUM_BASETYPE( IntFlag )
657 {
658 DisableSelectionRecoloring = 1 << 0,
659 };
660 Q_ENUM( SymbolLayerUserFlag )
661
662
668 Q_FLAG( SymbolLayerUserFlags )
669
676 {
677 Collection,
678 Directory,
679 Layer,
680 Error,
681 Favorites,
682 Project,
683 Custom,
684 Fields,
685 Field,
686 };
687 Q_ENUM( BrowserItemType )
688
689
695 {
696 NotPopulated,
697 Populating,
698 Populated,
699 };
700 Q_ENUM( BrowserItemState )
701
702
708 {
709 NoCapabilities = 0,
710 SetCrs = 1 << 0,
711 Fertile = 1 << 1,
712 Fast = 1 << 2,
713 Collapse = 1 << 3,
714 Rename = 1 << 4,
715 Delete = 1 << 5,
716 ItemRepresentsFile = 1 << 6,
717 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
718 ReadOnly = 1 << 8,
719 };
720 Q_ENUM( BrowserItemCapability )
724
733 {
734 NoCapabilities SIP_MONKEYPATCH_COMPAT_NAME( NoDataCapabilities ) = 0,
735 Files SIP_MONKEYPATCH_COMPAT_NAME( File ) = 1,
736 Directories SIP_MONKEYPATCH_COMPAT_NAME( Dir ) = 1 << 1,
737 Databases SIP_MONKEYPATCH_COMPAT_NAME( Database ) = 1 << 2,
738 NetworkSources SIP_MONKEYPATCH_COMPAT_NAME( Net ) = 1 << 3,
739 };
740 Q_ENUM( DataItemProviderCapability )
741
742
751
758 {
759 NoType,
760 Vector,
761 Raster,
762 Point,
763 Line,
764 Polygon,
765 TableLayer,
766 Database,
767 Table,
768 Plugin,
769 Mesh,
770 VectorTile,
771 PointCloud,
772 TiledScene,
773 };
774 Q_ENUM( BrowserLayerType )
775
776
782 {
783 Default,
784 NeverMonitor,
785 AlwaysMonitor,
786 };
787 Q_ENUM( BrowserDirectoryMonitoring )
788
789
793 enum class HttpMethod : int
794 {
795 Get = 0,
796 Post = 1
797 };
798 Q_ENUM( HttpMethod )
799
800
806 {
807 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
808 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
809 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
810 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
811 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
812 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
813 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
814 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
815 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
816 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
817 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
818 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
819 };
820 Q_ENUM( VectorExportResult )
821
822
827 {
828 FieldAliases = 1 << 0,
829 FieldComments = 1 << 2,
830 };
831 Q_ENUM( VectorFileWriterCapability )
832
833
839
845 {
846 SubsetStringFilter = 1 << 1,
847 GeometryColumn = 1 << 2,
848 PrimaryKeys = 1 << 3,
849 UnstableFeatureIds = 1 << 4
850 };
851 Q_ENUM( SqlLayerDefinitionCapability )
855
861 enum class SqlKeywordCategory : int
862 {
863 Keyword,
864 Constant,
865 Function,
866 Geospatial,
867 Operator,
868 Math,
869 Aggregate,
870 String,
871 Identifier
872 };
873 Q_ENUM( SqlKeywordCategory )
874
875
879 enum class DriveType : int
880 {
881 Unknown,
882 Invalid,
883 Removable,
884 Fixed,
885 Remote,
886 CdRom,
887 RamDisk,
888 Cloud,
889 };
890 Q_ENUM( DriveType )
891
892
897 {
898 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
899 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
900 };
901 Q_ENUM( ActionStart )
902
903
908 enum class UnplacedLabelVisibility : int
909 {
910 FollowEngineSetting,
911 NeverShow,
912 };
913 Q_ENUM( UnplacedLabelVisibility )
914
915
920 enum class LabelOverlapHandling : int
921 {
922 PreventOverlap,
923 AllowOverlapIfRequired,
924 AllowOverlapAtNoCost,
925 };
926 Q_ENUM( LabelOverlapHandling )
927
928
933 enum class LabelPrioritization : int
934 {
935 PreferCloser,
936 PreferPositionOrdering,
937 };
938 Q_ENUM( LabelPrioritization )
939
940
948 {
949 AroundPoint,
950 OverPoint,
951 Line,
952 Curved,
953 Horizontal,
954 Free,
955 OrderedPositionsAroundPoint,
956 PerimeterCurved,
957 OutsidePolygons,
958 };
959 Q_ENUM( LabelPlacement )
960
961
969 {
970 TopLeft,
971 TopSlightlyLeft,
972 TopMiddle,
973 TopSlightlyRight,
974 TopRight,
975 MiddleLeft,
976 MiddleRight,
977 BottomLeft,
978 BottomSlightlyLeft,
979 BottomMiddle,
980 BottomSlightlyRight,
981 BottomRight,
982 OverPoint,
983 };
984 Q_ENUM( LabelPredefinedPointPosition )
985
986
995 {
996 FromPoint,
997 FromSymbolBounds,
998 };
999 Q_ENUM( LabelOffsetType )
1000
1001
1009 {
1010 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
1011 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
1012 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
1013 Left SIP_MONKEYPATCH_COMPAT_NAME( QuadrantLeft ),
1014 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
1015 Right SIP_MONKEYPATCH_COMPAT_NAME( QuadrantRight ),
1016 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
1017 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
1018 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
1019 };
1020 Q_ENUM( LabelQuadrantPosition )
1021
1022
1029 {
1030 OnLine = 1,
1031 AboveLine = 2,
1032 BelowLine = 4,
1033 MapOrientation = 8,
1034 };
1035 Q_ENUM( LabelLinePlacementFlag )
1036
1037
1045 Q_FLAG( LabelLinePlacementFlags )
1046
1054 {
1055 AllowPlacementOutsideOfPolygon = 1 << 0,
1056 AllowPlacementInsideOfPolygon = 1 << 1,
1057 };
1058 Q_ENUM( LabelPolygonPlacementFlag )
1059
1060
1068
1077 {
1078 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
1079 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
1080 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
1081 };
1082 Q_ENUM( UpsideDownLabelHandling )
1083
1084
1092 {
1093 Left SIP_MONKEYPATCH_COMPAT_NAME( MultiLeft ) = 0,
1094 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
1095 Right SIP_MONKEYPATCH_COMPAT_NAME( MultiRight ),
1096 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
1097 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
1098 };
1099 Q_ENUM( LabelMultiLineAlignment )
1100
1101
1108 {
1109 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
1110 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1111 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1112 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1113 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1114 VectorTile,
1115 TiledScene,
1116 };
1117 Q_ENUM( FileFilterType )
1118
1119
1124 enum class SublayerQueryFlag : int SIP_ENUM_BASETYPE( IntFlag )
1125 {
1126 FastScan = 1 << 0,
1127 ResolveGeometryType = 1 << 1,
1128 CountFeatures = 1 << 2,
1129 IncludeSystemTables = 1 << 3,
1130 };
1133 Q_ENUM( SublayerQueryFlag )
1134 Q_FLAG( SublayerQueryFlags )
1135
1136
1141 enum class SublayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
1142 {
1143 SystemTable = 1 << 0,
1144 };
1146 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1147 Q_ENUM( SublayerFlag )
1148 Q_FLAG( SublayerFlags )
1149
1150
1158 {
1159 Linear SIP_MONKEYPATCH_COMPAT_NAME( Interpolated ) = 0,
1160 Discrete = 1,
1161 Exact = 2,
1162 };
1163 Q_ENUM( ShaderInterpolationMethod )
1164
1165
1173 {
1174 Continuous = 1,
1175 EqualInterval = 2,
1176 Quantile = 3,
1177 };
1178 Q_ENUM( ShaderClassificationMethod )
1179
1180
1186 {
1187 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1188 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1189 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1190 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1191 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1192 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1193 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1194 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1195 };
1196 Q_ENUM( RasterPipeInterfaceRole )
1197
1198
1203 {
1205 ResampleFilter,
1207 Provider
1208 };
1209 Q_ENUM( RasterResamplingStage )
1210
1211
1216 enum class RasterRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
1217 {
1218 InternalLayerOpacityHandling = 1 << 0,
1219 UseNoDataForOutOfRangePixels = 1 << 1,
1220 };
1221
1228
1229 Q_ENUM( RasterRendererFlag )
1230 Q_FLAG( RasterRendererFlags )
1231
1232
1238 {
1239 UsesMultipleBands = 1 << 0,
1240 };
1241 Q_ENUM( RasterRendererCapability )
1242
1243
1250
1257 {
1258 Generic = 0,
1259 PixelCount = 1,
1260 Name = 2,
1261 Min = 3,
1262 Max = 4,
1263 MinMax = 5,
1264 Red = 6,
1265 Green = 7,
1266 Blue = 8,
1267 Alpha = 9,
1268 RedMin = 10,
1269 GreenMin = 11,
1270 BlueMin = 12,
1271 AlphaMin = 13,
1272 RedMax = 14,
1273 GreenMax = 15,
1274 BlueMax = 16,
1275 AlphaMax = 17,
1276 MaxCount
1277 };
1278 Q_ENUM( RasterAttributeTableFieldUsage )
1279
1280
1286 {
1287 Thematic = 0,
1288 Athematic = 1
1289 };
1290 Q_ENUM( RasterAttributeTableType )
1291
1292
1299 {
1300 Raw = 0,
1301 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1302 };
1303 Q_ENUM( RasterExportType )
1304
1305
1312 {
1313 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
1314 SourceProviderError = 1,
1315 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1316 CreateDatasourceError = 3,
1317 WriteError = 4,
1318 NoDataConflict = 5,
1319 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1320 };
1321 Q_ENUM( RasterFileWriterResult )
1322
1323
1328 enum class MeshEditingErrorType : int
1329 {
1330 NoError,
1331 InvalidFace,
1332 TooManyVerticesInFace,
1333 FlatFace,
1334 UniqueSharedVertex,
1335 InvalidVertex,
1336 ManifoldFace,
1337 };
1338 Q_ENUM( MeshEditingErrorType )
1339
1340
1345 enum class FilePathType : int
1346 {
1347 Absolute,
1348 Relative,
1349 };
1350 Q_ENUM( FilePathType )
1351
1352
1357 enum class SublayerPromptMode : int
1358 {
1359 AlwaysAsk,
1360 AskExcludingRasterBands,
1361 NeverAskSkip,
1362 NeverAskLoadAll,
1363 };
1364 Q_ENUM( SublayerPromptMode )
1365
1366
1374 {
1375 Unknown SIP_MONKEYPATCH_COMPAT_NAME( OriginUnknown ),
1376 Provider SIP_MONKEYPATCH_COMPAT_NAME( OriginProvider ),
1377 Join SIP_MONKEYPATCH_COMPAT_NAME( OriginJoin ),
1378 Edit SIP_MONKEYPATCH_COMPAT_NAME( OriginEdit ),
1379 Expression SIP_MONKEYPATCH_COMPAT_NAME( OriginExpression )
1380 };
1381 Q_ENUM( FieldOrigin )
1382
1383
1390 enum class FieldConfigurationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1391 {
1392 NoFlag = 0,
1393 NotSearchable = 1 << 1,
1394 HideFromWms = 1 << 2,
1395 HideFromWfs = 1 << 3,
1396 };
1397 Q_ENUM( FieldConfigurationFlag )
1398
1399
1407 Q_FLAG( FieldConfigurationFlags )
1408
1414 enum class FieldMetadataProperty : int
1415 {
1416 GeometryCrs = 0x1000,
1417 GeometryWkbType = 0x1001,
1418 CustomProperty = 0x100000,
1419 };
1420 Q_ENUM( FieldMetadataProperty )
1421
1422
1427 enum class SelectionRenderingMode : int
1428 {
1429 Default,
1430 CustomColor,
1431 CustomSymbol,
1432 };
1433 Q_ENUM( SelectionRenderingMode )
1434
1435
1441 {
1442 SetSelection,
1443 AddToSelection,
1444 IntersectSelection,
1445 RemoveFromSelection,
1446 };
1447 Q_ENUM( SelectBehavior )
1448
1449
1455 {
1456 Intersect,
1457 Within,
1458 };
1459 Q_ENUM( SelectGeometryRelationship )
1460
1461
1466 enum class SelectionFlag : int SIP_ENUM_BASETYPE( IntFlag )
1467 {
1468 SingleFeatureSelection = 1 << 0,
1469 ToggleSelection = 1 << 1,
1470 };
1471
1477 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1478
1479 Q_ENUM( SelectionFlag )
1480 Q_FLAG( SelectionFlags )
1481
1482
1488 {
1489 Success = 0,
1490 EmptyGeometry = 1,
1491 EditFailed = 2,
1492 FetchFeatureFailed = 3,
1493 InvalidLayer = 4,
1494 };
1495 Q_ENUM( VectorEditResult )
1496
1497
1503 {
1504 SemiTransparentCircle,
1505 Cross,
1506 NoMarker,
1507 };
1508 Q_ENUM( VertexMarkerType )
1509
1510
1514 enum class ContentStatus : int
1515 {
1516 NotStarted,
1517 Running,
1518 Finished,
1519 Failed,
1520 Canceled,
1521 };
1522 Q_ENUM( ContentStatus )
1523
1524
1529 enum class GpsConnectionType : int
1530 {
1531 Automatic,
1532 Internal,
1533 Serial,
1534 Gpsd,
1535 };
1536 Q_ENUM( GpsConnectionType )
1537
1538
1543 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
1544 {
1545 Disconnected,
1546 Connecting,
1547 Connected,
1548 };
1549 Q_ENUM( DeviceConnectionStatus )
1550
1551
1559 {
1560 NoData,
1561 NoFix,
1562 Fix2D,
1563 Fix3D
1564 };
1566
1567
1574 {
1575 Unknown,
1576 Gps,
1577 Glonass,
1578 Galileo,
1579 BeiDou,
1580 Qzss,
1581 Navic,
1582 Sbas,
1583 };
1585
1592 {
1593 Unknown = -1,
1594 Invalid,
1595 GPS,
1596 DGPS,
1597 PPS,
1598 RTK,
1599 FloatRTK,
1600 Estimated,
1601 Manual,
1602 Simulation,
1603 };
1604 Q_ENUM( GpsQualityIndicator )
1605
1606
1611 enum class GpsNavigationStatus : int
1612 {
1613 NotValid,
1614 Safe,
1615 Caution,
1616 Unsafe,
1617 };
1619
1625 enum class GpsInformationComponent : int SIP_ENUM_BASETYPE( IntFlag )
1626 {
1627 Location = 1 << 0,
1628 Altitude = 1 << 1,
1629 GroundSpeed = 1 << 2,
1630 Bearing = 1 << 3,
1631 TotalTrackLength = 1 << 4,
1632 TrackDistanceFromStart = 1 << 5,
1633 Pdop = 1 << 6,
1634 Hdop = 1 << 7,
1635 Vdop = 1 << 8,
1636 HorizontalAccuracy = 1 << 9,
1637 VerticalAccuracy = 1 << 10,
1638 HvAccuracy = 1 << 11,
1639 SatellitesUsed = 1 << 12,
1640 Timestamp = 1 << 13,
1641 TrackStartTime = 1 << 14,
1642 TrackEndTime = 1 << 15,
1643 TrackDistanceSinceLastPoint = 1 << 16,
1644 TrackTimeSinceLastPoint = 1 << 17,
1645 GeoidalSeparation = 1 << 18,
1646 EllipsoidAltitude = 1 << 19,
1647 };
1648
1655 Q_ENUM( GpsInformationComponent )
1656 Q_FLAG( GpsInformationComponents )
1657
1658
1663 enum class BabelFormatCapability : int SIP_ENUM_BASETYPE( IntFlag )
1664 {
1665 Import = 1 << 0,
1666 Export = 1 << 1,
1667 Waypoints = 1 << 2,
1668 Routes = 1 << 3,
1669 Tracks = 1 << 4,
1670 };
1673 Q_ENUM( BabelFormatCapability )
1674 Q_FLAG( BabelFormatCapabilities )
1675
1676
1682 enum class BabelCommandFlag : int SIP_ENUM_BASETYPE( IntFlag )
1683 {
1684 QuoteFilePaths = 1 << 0,
1685 };
1688 Q_ENUM( BabelCommandFlag )
1689 Q_FLAG( BabelCommandFlags )
1690
1691
1696 enum class GpsFeatureType : int
1697 {
1698 Waypoint,
1699 Route,
1700 Track,
1701 };
1702 Q_ENUM( GpsFeatureType )
1703
1704
1712 {
1713 Success = 0,
1714 NothingHappened = 1000,
1715 InvalidBaseGeometry,
1716 InvalidInputGeometryType,
1717 SelectionIsEmpty,
1718 SelectionIsGreaterThanOne,
1719 GeometryEngineError,
1720 LayerNotEditable,
1721 // Add part issues
1722 AddPartSelectedGeometryNotFound,
1723 AddPartNotMultiGeometry,
1724 // Add ring issues
1725 AddRingNotClosed,
1726 AddRingNotValid,
1727 AddRingCrossesExistingRings,
1728 AddRingNotInExistingFeature,
1729 // Split features
1730 SplitCannotSplitPoint,
1731 GeometryTypeHasChanged,
1732 };
1733 Q_ENUM( GeometryOperationResult )
1734
1735
1741 {
1742 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles ) = 1 << 0,
1743 };
1746 Q_ENUM( GeometryValidityFlag )
1747 Q_FLAG( GeometryValidityFlags )
1748
1749
1754 {
1755 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
1756 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
1757 };
1758 Q_ENUM( GeometryValidationEngine )
1759
1760
1770 Q_ENUM( BufferSide )
1771
1772
1778 {
1779 Round SIP_MONKEYPATCH_COMPAT_NAME( CapRound ) = 1,
1780 Flat SIP_MONKEYPATCH_COMPAT_NAME( CapFlat ),
1781 Square SIP_MONKEYPATCH_COMPAT_NAME( CapSquare ),
1782 };
1783 Q_ENUM( EndCapStyle )
1784
1785
1791 {
1792 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
1793 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
1794 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
1795 };
1796 Q_ENUM( JoinStyle )
1797
1798
1803 enum class CoverageValidityResult : int
1804 {
1805 Invalid = 0,
1806 Valid = 1,
1807 Error = 2,
1808 };
1809 Q_ENUM( CoverageValidityResult )
1810
1811
1816 enum class MakeValidMethod : int
1817 {
1818 Linework = 0,
1819 Structure = 1,
1820 };
1821 Q_ENUM( MakeValidMethod )
1822
1823
1831 {
1832 NoFlags = 0,
1833 NoGeometry = 1,
1834 SubsetOfAttributes = 2,
1835 ExactIntersect = 4,
1836 IgnoreStaticNodesDuringExpressionCompilation = 8,
1837 EmbeddedSymbols = 16,
1838 };
1839 Q_ENUM( FeatureRequestFlag )
1840
1841
1849 Q_FLAG( FeatureRequestFlags )
1850
1859 {
1860 NoFilter SIP_MONKEYPATCH_COMPAT_NAME( FilterNone ),
1861 Fid SIP_MONKEYPATCH_COMPAT_NAME( FilterFid ),
1862 Expression SIP_MONKEYPATCH_COMPAT_NAME( FilterExpression ),
1863 Fids SIP_MONKEYPATCH_COMPAT_NAME( FilterFids )
1864 };
1865 Q_ENUM( FeatureRequestFilterType )
1866
1867
1875 {
1876 NoCheck SIP_MONKEYPATCH_COMPAT_NAME( GeometryNoCheck ) = 0,
1877 SkipInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometrySkipInvalid ) = 1,
1878 AbortOnInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometryAbortOnInvalid ) = 2,
1879 };
1880 Q_ENUM( InvalidGeometryCheck )
1881
1882
1887 enum class SpatialFilterType : int
1888 {
1889 NoFilter,
1890 BoundingBox,
1891 DistanceWithin,
1892 };
1893 Q_ENUM( SpatialFilterType )
1894
1895
1900 enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1901 {
1902 IncludeMetadataFile = 1 << 0,
1903 IncludeStyleFile = 1 << 1,
1904 };
1907 Q_ENUM( FileOperationFlag )
1908 Q_FLAG( FileOperationFlags )
1909
1910
1915 enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
1916 {
1917 UsersCannotToggleEditing = 1 << 0,
1918 IsBasemapLayer = 1 << 1,
1919 };
1922 Q_ENUM( MapLayerProperty )
1923 Q_FLAG( MapLayerProperties )
1924
1925
1930 enum class AutoRefreshMode : int
1931 {
1932 Disabled = 0,
1933 ReloadData = 1,
1934 RedrawOnly = 2,
1935 };
1936 Q_ENUM( AutoRefreshMode )
1937
1938
1943 enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
1944 {
1945 IsBasemapSource = 1 << 1,
1946 FastExtent2D = 1 << 2,
1947 FastExtent3D = 1 << 3,
1948 };
1951 Q_ENUM( DataProviderFlag )
1952 Q_FLAG( DataProviderFlags )
1953
1954
1961 enum class CrsType : int
1962 {
1963 Unknown,
1964 Geodetic,
1965 Geocentric,
1966 Geographic2d,
1967 Geographic3d,
1968 Vertical,
1969 Projected,
1970 Compound,
1971 Temporal,
1972 Engineering,
1973 Bound,
1974 Other,
1975 DerivedProjected,
1976 };
1977 Q_ENUM( CrsType )
1978
1979
1986 enum class CrsAxisDirection : int
1987 {
1988 North,
1989 NorthNorthEast,
1990 NorthEast,
1991 EastNorthEast,
1992 East,
1993 EastSouthEast,
1994 SouthEast,
1995 SouthSouthEast,
1996 South,
1997 SouthSouthWest,
1998 SouthWest,
1999 WestSouthWest,
2000 West,
2001 WestNorthWest,
2002 NorthWest,
2003 NorthNorthWest,
2004 GeocentricX,
2005 GeocentricY,
2006 GeocentricZ,
2007 Up,
2008 Down,
2009 Forward,
2010 Aft,
2011 Port,
2012 Starboard,
2013 Clockwise,
2014 CounterClockwise,
2015 ColumnPositive,
2016 ColumnNegative,
2017 RowPositive,
2018 RowNegative,
2019 DisplayRight,
2020 DisplayLeft,
2021 DisplayUp,
2022 DisplayDown,
2023 Future,
2024 Past,
2025 Towards,
2026 AwayFrom,
2027 Unspecified,
2028 };
2029 Q_ENUM( CrsAxisDirection )
2030
2031
2036 enum class CoordinateOrder : int
2037 {
2038 Default,
2039 XY,
2040 YX,
2041 };
2042 Q_ENUM( CoordinateOrder )
2043
2044
2052 {
2053 ShortString,
2054 MediumString,
2055 FullString,
2056 };
2057 Q_ENUM( CrsIdentifierType )
2058
2059
2067 {
2068 Wkt1Gdal SIP_MONKEYPATCH_COMPAT_NAME( WKT1_GDAL ),
2069 Wkt1Esri SIP_MONKEYPATCH_COMPAT_NAME( WKT1_ESRI ),
2070 Wkt2_2015 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015 ),
2071 Wkt2_2015Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015_SIMPLIFIED ),
2072 Wkt2_2019 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019 ),
2073 Wkt2_2019Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019_SIMPLIFIED ),
2074 Preferred SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED ) = Wkt2_2019,
2075 PreferredSimplified SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_SIMPLIFIED ) = Wkt2_2019Simplified,
2076 PreferredGdal SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_GDAL ) = Wkt2_2019,
2077 };
2078 Q_ENUM( CrsWktVariant )
2079
2080
2085 enum class Axis : int
2086 {
2087 X,
2088 Y,
2089 Z
2090 };
2091 Q_ENUM( Axis )
2092
2093
2098 enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
2099 {
2100 ScaleDependentBoundingBox = 1 << 0,
2101 };
2104 Q_ENUM( AnnotationItemFlag )
2105 Q_FLAG( AnnotationItemFlags )
2106
2107
2112 enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
2113 {
2114 FlagNoCreationTools = 1 << 0,
2115 };
2118 Q_ENUM( AnnotationItemGuiFlag )
2119 Q_FLAG( AnnotationItemGuiFlags )
2120
2121
2126 enum class AnnotationItemNodeType : int
2127 {
2128 VertexHandle,
2129 };
2130 Q_ENUM( AnnotationItemNodeType )
2131
2132
2138 {
2139 Success,
2140 Invalid,
2141 ItemCleared,
2142 };
2143 Q_ENUM( AnnotationItemEditOperationResult )
2144
2145
2153 {
2154 Disabled SIP_MONKEYPATCH_COMPAT_NAME( NavigationOff ),
2155 Animated,
2156 FixedRange,
2157 Movie,
2158 };
2159 Q_ENUM( TemporalNavigationMode )
2160
2161
2169 {
2170 Forward,
2171 Reverse,
2172 Idle,
2173 };
2174 Q_ENUM( AnimationState )
2175
2176
2181 enum class PlaybackOperation : int
2182 {
2183 SkipToStart,
2184 PreviousFrame,
2185 PlayReverse,
2186 Pause,
2187 PlayForward,
2188 NextFrame,
2189 SkipToEnd,
2190 };
2191 Q_ENUM( PlaybackOperation )
2192
2193
2199 {
2200 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2201 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
2202 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
2203 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
2204 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
2205 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ),
2206 };
2207 Q_ENUM( VectorTemporalMode )
2208
2209
2215 {
2216 IncludeBeginExcludeEnd = 0,
2217 IncludeBeginIncludeEnd,
2218 };
2219 Q_ENUM( VectorTemporalLimitMode )
2220
2221
2227 {
2228 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
2229 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
2230 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2231 };
2232 Q_ENUM( VectorDataProviderTemporalMode )
2233
2234
2240 {
2241 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2242 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
2243 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ) = 2,
2244 FixedRangePerBand = 3,
2245 RepresentsTemporalValues = 4,
2246 };
2247 Q_ENUM( RasterTemporalMode )
2248
2249
2255 {
2256 MatchUsingWholeRange,
2257 MatchExactUsingStartOfRange,
2258 MatchExactUsingEndOfRange,
2259 FindClosestMatchToStartOfRange,
2260 FindClosestMatchToEndOfRange
2261 };
2262 Q_ENUM( TemporalIntervalMatchMethod )
2263
2264
2270 {
2271 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
2272 };
2273 Q_ENUM( RasterTemporalCapabilityFlag )
2274
2275
2282
2289 {
2290 Forward SIP_MONKEYPATCH_COMPAT_NAME( ForwardTransform ),
2291 Reverse SIP_MONKEYPATCH_COMPAT_NAME( ReverseTransform )
2292 };
2293 Q_ENUM( TransformDirection )
2294
2295
2301 {
2302 BallparkTransformsAreAppropriate = 1 << 0,
2303 IgnoreImpossibleTransformations = 1 << 1,
2304 };
2305 Q_ENUM( CoordinateTransformationFlag )
2306
2307
2314
2321 {
2322 Antialiasing = 0x01,
2323 DrawEditingInfo = 0x02,
2324 ForceVectorOutput = 0x04,
2325 UseAdvancedEffects = 0x08,
2326 DrawLabeling = 0x10,
2327 UseRenderingOptimization = 0x20,
2328 DrawSelection = 0x40,
2329 DrawSymbolBounds = 0x80,
2330 RenderMapTile = 0x100,
2331 RenderPartialOutput = 0x200,
2332 RenderPreviewJob = 0x400,
2333 RenderBlocking = 0x800,
2334 LosslessImageRendering = 0x1000,
2335 Render3DMap = 0x2000,
2336 HighQualityImageTransforms = 0x4000,
2337 SkipSymbolRendering = 0x8000,
2338 ForceRasterMasks = 0x10000,
2339 RecordProfile = 0x20000,
2340 AlwaysUseGlobalMasks = 0x40000,
2341 };
2344 Q_ENUM( MapSettingsFlag )
2345 Q_FLAG( MapSettingsFlags )
2346
2347
2353 {
2354 DrawEditingInfo = 0x01,
2355 ForceVectorOutput = 0x02,
2356 UseAdvancedEffects = 0x04,
2357 UseRenderingOptimization = 0x08,
2358 DrawSelection = 0x10,
2359 DrawSymbolBounds = 0x20,
2360 RenderMapTile = 0x40,
2361 Antialiasing = 0x80,
2362 RenderPartialOutput = 0x100,
2363 RenderPreviewJob = 0x200,
2364 RenderBlocking = 0x400,
2365 RenderSymbolPreview = 0x800,
2366 LosslessImageRendering = 0x1000,
2367 ApplyScalingWorkaroundForTextRendering = 0x2000,
2368 Render3DMap = 0x4000,
2369 ApplyClipAfterReprojection = 0x8000,
2370 RenderingSubSymbol = 0x10000,
2371 HighQualityImageTransforms = 0x20000,
2372 SkipSymbolRendering = 0x40000,
2373 RecordProfile = 0x80000,
2374 AlwaysUseGlobalMasks = 0x100000,
2375 };
2378 Q_ENUM( RenderContextFlag )
2379 Q_FLAG( RenderContextFlags )
2380
2381
2386 enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2387 {
2388 RenderPartialOutputs = 1 << 0,
2389 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2390 };
2391 Q_ENUM( MapLayerRendererFlag )
2392
2393
2399 Q_FLAG( MapLayerRendererFlags )
2400
2401 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
2402 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
2403
2409 {
2410 AlwaysOutlines SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysOutlines ),
2411 AlwaysText SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysText ),
2412 };
2413 Q_ENUM( TextRenderFormat )
2414
2415
2423 {
2424 UseAllLabels = 1 << 1,
2425 UsePartialCandidates = 1 << 2,
2426 // TODO QGIS 4.0: remove
2427 RenderOutlineLabels = 1 << 3,
2428 DrawLabelRectOnly = 1 << 4,
2429 DrawCandidates = 1 << 5,
2430 DrawUnplacedLabels = 1 << 6,
2431 CollectUnplacedLabels = 1 << 7,
2432 DrawLabelMetrics = 1 << 8,
2433 };
2434 Q_ENUM( LabelingFlag )
2435
2436
2444 Q_FLAG( LabelingFlags )
2445
2454 {
2455 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
2456 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
2457 };
2458 Q_ENUM( LabelPlacementEngineVersion )
2459
2460
2468 {
2469 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
2470 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
2471 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
2472 };
2473 Q_ENUM( TextOrientation )
2474
2475
2483 {
2484 Rectangle SIP_MONKEYPATCH_COMPAT_NAME( Rect ),
2485 Point,
2486 Labeling SIP_MONKEYPATCH_COMPAT_NAME( Label ),
2487 RectangleCapHeightBased,
2488 RectangleAscentBased,
2489 };
2490 Q_ENUM( TextLayoutMode )
2491
2492
2500 {
2501 Text,
2502 Buffer,
2503 Background,
2504 Shadow,
2505 };
2506 Q_ENUM( TextComponent )
2507
2508
2516 {
2517 Left SIP_MONKEYPATCH_COMPAT_NAME( AlignLeft ),
2518 Center SIP_MONKEYPATCH_COMPAT_NAME( AlignCenter ),
2519 Right SIP_MONKEYPATCH_COMPAT_NAME( AlignRight ),
2520 Justify SIP_MONKEYPATCH_COMPAT_NAME( AlignJustify ),
2521 };
2522 Q_ENUM( TextHorizontalAlignment )
2523
2524
2535 {
2536 Top SIP_MONKEYPATCH_COMPAT_NAME( AlignTop ),
2537 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
2538 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
2539 };
2540 Q_ENUM( TextVerticalAlignment )
2541
2542
2551 {
2552 Normal,
2553 SuperScript,
2554 SubScript,
2555 };
2556 Q_ENUM( TextCharacterVerticalAlignment )
2557
2558
2566 {
2567 Distance = 0,
2568 SnapToGrid = 1,
2569 Visvalingam = 2,
2570 SnappedToGridGlobal = 3,
2571 };
2572 Q_ENUM( VectorSimplificationAlgorithm )
2573
2574
2582 {
2583 NoSimplification = 0,
2584 GeometrySimplification = 1,
2585 AntialiasingSimplification = 2,
2586 FullSimplification = 3,
2587 };
2588 Q_ENUM( VectorRenderingSimplificationFlag )
2589
2590
2599
2606 {
2607 Generic,
2608 ShadowOffset,
2609 BlurSize,
2610 GlowSpread,
2611 };
2612 Q_ENUM( RenderSubcomponentProperty )
2613
2614
2619 {
2620 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
2621 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
2622 };
2623 Q_ENUM( VertexType )
2624
2625
2633 {
2634 Square,
2635 Diamond,
2636 Pentagon,
2637 Hexagon,
2638 Triangle,
2639 EquilateralTriangle,
2640 Star,
2641 Arrow,
2642 Circle,
2643 Cross,
2644 CrossFill,
2645 Cross2,
2646 Line,
2647 ArrowHead,
2648 ArrowHeadFilled,
2649 SemiCircle,
2650 ThirdCircle,
2651 QuarterCircle,
2652 QuarterSquare,
2653 HalfSquare,
2654 DiagonalHalfSquare,
2655 RightHalfTriangle,
2656 LeftHalfTriangle,
2657 Octagon,
2658 SquareWithCorners,
2659 AsteriskFill,
2660 HalfArc,
2661 ThirdArc,
2662 QuarterArc,
2663 ParallelogramRight,
2664 ParallelogramLeft,
2665 Trapezoid,
2666 Shield,
2667 DiamondStar,
2668 Heart,
2669 Decagon,
2670 RoundedSquare,
2671 };
2672 Q_ENUM( MarkerShape )
2673
2674
2682 {
2683 Interval = 1 << 0,
2684 Vertex = 1 << 1,
2685 LastVertex = 1 << 2,
2686 FirstVertex = 1 << 3,
2687 CentralPoint = 1 << 4,
2688 CurvePoint = 1 << 5,
2689 SegmentCenter = 1 << 6,
2690 InnerVertices = 1 << 7,
2691 };
2692 Q_ENUM( MarkerLinePlacement )
2694 Q_FLAG( MarkerLinePlacements )
2695
2704 {
2705 SimpleTwoColor,
2706 ColorRamp,
2707 };
2708 Q_ENUM( GradientColorSource )
2709
2710
2718 {
2719 Linear,
2720 Radial,
2721 Conical,
2722 };
2723 Q_ENUM( GradientType )
2724
2725
2733 {
2734 Feature,
2735 Viewport,
2736 };
2737 Q_ENUM( SymbolCoordinateReference )
2738
2739
2748 {
2749 Pad,
2750 Reflect,
2751 Repeat,
2752 };
2753 Q_ENUM( GradientSpread )
2754
2755
2763 {
2764 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
2765 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
2766 };
2767 Q_ENUM( PointCountMethod )
2768
2769
2774 enum class MarkerClipMode : int
2775 {
2776 NoClipping,
2777 Shape,
2778 CentroidWithin,
2779 CompletelyWithin,
2780 };
2781 Q_ENUM( MarkerClipMode )
2782
2783
2788 enum class LineClipMode : int
2789 {
2790 ClipPainterOnly,
2791 ClipToIntersection,
2792 NoClipping,
2793 };
2794 Q_ENUM( LineClipMode )
2795
2796
2802 {
2803 NoRule,
2804 FullDash,
2805 HalfDash,
2806 FullGap,
2807 HalfGap,
2808 };
2809 Q_ENUM( DashPatternLineEndingRule )
2810
2811
2817 {
2818 ScaleBothDashAndGap,
2819 ScaleDashOnly,
2820 ScaleGapOnly,
2821 };
2822 Q_ENUM( DashPatternSizeAdjustment )
2823
2824
2832 {
2833 Color SIP_MONKEYPATCH_COMPAT_NAME( GraduatedColor ),
2834 Size SIP_MONKEYPATCH_COMPAT_NAME( GraduatedSize ),
2835 };
2836 Q_ENUM( GraduatedMethod )
2837
2838
2844 {
2845 NoLabels,
2846 EveryLabel,
2847 FirstLabel,
2848 LastLabel,
2849 FirstAndLastLabels,
2850 };
2851 Q_ENUM( PlotAxisSuffixPlacement )
2852
2853
2857 enum class DpiMode
2858 {
2859 All = 7,
2860 Off = 0,
2861 QGIS = 1,
2862 UMN = 2,
2863 GeoServer = 4,
2864 };
2865 Q_ENUM( DpiMode )
2866
2867
2872 {
2873 Undefined = 0,
2874 StandardDpi = 1,
2875 HighDpi = 2,
2876 };
2877 Q_ENUM( TilePixelRatio )
2878
2879 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
2880
2881
2889 {
2890 MixedCase = 0,
2891 AllUppercase = 1,
2892 AllLowercase = 2,
2893 ForceFirstLetterToCapital = 4,
2894 SmallCaps = 5,
2895 TitleCase = 1004,
2896 UpperCamelCase = 1005,
2897 AllSmallCaps = 1006,
2898 };
2899 Q_ENUM( Capitalization )
2900
2901
2906 enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2907 {
2908 WrapLines = 1 << 0,
2909 };
2910 Q_ENUM( TextRendererFlag )
2912 Q_FLAG( TextRendererFlags )
2913
2920 {
2921 MapBox,
2922 Esri,
2923 };
2925
2932 {
2933 Clockwise,
2934 CounterClockwise,
2935 NoOrientation,
2936 };
2937 Q_ENUM( AngularDirection )
2938
2939
2944 enum class RendererUsage : int
2945 {
2946 View,
2947 Export,
2948 Unknown,
2949 };
2950 Q_ENUM( RendererUsage )
2951
2952
2957 enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
2958 {
2959 Sync3DTo2D = 1 << 0,
2960 Sync2DTo3D = 1 << 1,
2961 };
2962 Q_ENUM( ViewSyncModeFlag )
2964
2971 {
2972 Always,
2973 WhenOutsideVisibleExtent,
2974 Never,
2975 };
2976 Q_ENUM( MapRecenteringMode )
2977
2978
2983 enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
2984 {
2985 LocalProfile = 1 << 0,
2986// Project = 1 << 1, //!< QGIS Project (not yet implemented)
2987 };
2988 Q_ENUM( HistoryProviderBackend )
2990 Q_FLAG( HistoryProviderBackends )
2991
3000 {
3001 MapLayer SIP_MONKEYPATCH_COMPAT_NAME( TypeMapLayer ) = -2,
3002 VectorAnyGeometry SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorAnyGeometry ) = -1,
3003 VectorPoint SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPoint ) = 0,
3004 VectorLine SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorLine ) = 1,
3005 VectorPolygon SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPolygon ) = 2,
3006 Raster SIP_MONKEYPATCH_COMPAT_NAME( TypeRaster ) = 3,
3007 File SIP_MONKEYPATCH_COMPAT_NAME( TypeFile ) = 4,
3008 Vector SIP_MONKEYPATCH_COMPAT_NAME( TypeVector ) = 5,
3009 Mesh SIP_MONKEYPATCH_COMPAT_NAME( TypeMesh ) = 6,
3010 Plugin SIP_MONKEYPATCH_COMPAT_NAME( TypePlugin ) = 7,
3011 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( TypePointCloud ) = 8,
3012 Annotation SIP_MONKEYPATCH_COMPAT_NAME( TypeAnnotation ) = 9,
3013 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorTile ) = 10
3014 };
3015 Q_ENUM( ProcessingSourceType )
3016
3017
3018
3026 {
3027 DeemphasiseSearchResults SIP_MONKEYPATCH_COMPAT_NAME( FlagDeemphasiseSearchResults ) = 1 << 1,
3028 CompatibleWithVirtualRaster SIP_MONKEYPATCH_COMPAT_NAME( FlagCompatibleWithVirtualRaster ) = 1 << 2,
3029 };
3031
3040 Q_FLAG( ProcessingProviderFlags )
3041
3042
3050 {
3051 HideFromToolbox SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromToolbox ) = 1 << 1,
3052 HideFromModeler SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromModeler ) = 1 << 2,
3053 SupportsBatch SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsBatch ) = 1 << 3,
3054 CanCancel SIP_MONKEYPATCH_COMPAT_NAME( FlagCanCancel ) = 1 << 4,
3055 RequiresMatchingCrs SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresMatchingCrs ) = 1 << 5,
3056 NoThreading SIP_MONKEYPATCH_COMPAT_NAME( FlagNoThreading ) = 1 << 6,
3057 DisplayNameIsLiteral SIP_MONKEYPATCH_COMPAT_NAME( FlagDisplayNameIsLiteral ) = 1 << 7,
3058 SupportsInPlaceEdits SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsInPlaceEdits ) = 1 << 8,
3059 KnownIssues SIP_MONKEYPATCH_COMPAT_NAME( FlagKnownIssues ) = 1 << 9,
3060 CustomException SIP_MONKEYPATCH_COMPAT_NAME( FlagCustomException ) = 1 << 10,
3061 PruneModelBranchesBasedOnAlgorithmResults SIP_MONKEYPATCH_COMPAT_NAME( FlagPruneModelBranchesBasedOnAlgorithmResults ) = 1 << 11,
3062 SkipGenericModelLogging SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGenericModelLogging ) = 1 << 12,
3063 NotAvailableInStandaloneTool SIP_MONKEYPATCH_COMPAT_NAME( FlagNotAvailableInStandaloneTool ) = 1 << 13,
3064 RequiresProject SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresProject ) = 1 << 14,
3065 Deprecated SIP_MONKEYPATCH_COMPAT_NAME( FlagDeprecated ) = HideFromToolbox | HideFromModeler,
3066 };
3068
3077 Q_FLAG( ProcessingAlgorithmFlags )
3078
3079
3088 {
3089 NotAvailable,
3090 Available,
3091 };
3092 Q_ENUM( ProcessingPropertyAvailability )
3093
3094
3102 {
3103 DefaultLevel = 0,
3104 Verbose,
3105 ModelDebug,
3106 };
3107 Q_ENUM( ProcessingLogLevel )
3108
3109
3117 {
3118 OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck ) = 1 << 0,
3119 CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature ) = 1 << 1,
3120 };
3121 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3122
3123
3132
3141 {
3142 SkipGeometryValidityChecks SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGeometryValidityChecks ) = 1 << 1,
3143 };
3144 Q_ENUM( ProcessingFeatureSourceFlag )
3145
3146
3155
3167 {
3168 ExposeToModeler = 1
3169 };
3170 Q_ENUM( ProcessingParameterTypeFlag )
3171
3172
3184
3193 {
3194 Advanced SIP_MONKEYPATCH_COMPAT_NAME( FlagAdvanced ) = 1 << 1,
3195 Hidden SIP_MONKEYPATCH_COMPAT_NAME( FlagHidden ) = 1 << 2,
3196 Optional SIP_MONKEYPATCH_COMPAT_NAME( FlagOptional ) = 1 << 3,
3197 IsModelOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagIsModelOutput ) = 1 << 4,
3198 };
3199 Q_ENUM( ProcessingParameterFlag )
3200
3201
3209 Q_FLAG( ProcessingParameterFlags )
3210
3219 {
3220 File = 0,
3221 Folder,
3222 };
3223 Q_ENUM( ProcessingFileParameterBehavior )
3224
3225
3233 {
3234 Integer,
3235 Double,
3236 };
3237 Q_ENUM( ProcessingNumberParameterType )
3238
3239
3247 {
3248 Any = -1,
3249 Numeric = 0,
3250 String = 1,
3251 DateTime = 2,
3252 Binary = 3,
3253 Boolean = 4,
3254 };
3255 Q_ENUM( ProcessingFieldParameterDataType )
3256
3257
3265 {
3266 DateTime,
3267 Date,
3268 Time,
3269 };
3270 Q_ENUM( ProcessingDateTimeParameterDataType )
3271
3272
3278 {
3279 ModelParameter,
3280 ChildOutput,
3281 StaticValue,
3282 Expression,
3283 ExpressionText,
3284 ModelOutput,
3285 };
3286 Q_ENUM( ProcessingModelChildParameterSource )
3287
3288
3294 {
3295 NotExecuted,
3296 Success,
3297 Failed,
3298 };
3299 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
3300
3301
3309 {
3310 Vertices,
3311 StructureLines,
3312 BreakLines
3313 };
3314 Q_ENUM( ProcessingTinInputLayerType )
3315
3316
3322 {
3323 Wkt SIP_MONKEYPATCH_COMPAT_NAME( FormatWkt ),
3324 Proj SIP_MONKEYPATCH_COMPAT_NAME( FormatProj ),
3325 };
3326 Q_ENUM( CrsDefinitionFormat )
3327
3328
3336 enum class FieldDomainSplitPolicy : int
3337 {
3338 DefaultValue,
3339 Duplicate,
3340 GeometryRatio,
3341 UnsetField,
3342 };
3343 Q_ENUM( FieldDomainSplitPolicy )
3344
3345
3353 enum class FieldDomainMergePolicy : int
3354 {
3355 DefaultValue,
3356 Sum,
3357 GeometryWeighted,
3358 };
3359 Q_ENUM( FieldDomainMergePolicy )
3360
3361
3368 enum class FieldDuplicatePolicy : int
3369 {
3370 DefaultValue,
3371 Duplicate,
3372 UnsetField,
3373 };
3374 Q_ENUM( FieldDuplicatePolicy )
3375
3376
3381 enum class FieldDomainType : int
3382 {
3383 Coded,
3384 Range,
3385 Glob,
3386 };
3387 Q_ENUM( FieldDomainType )
3388
3389
3394 enum class TransactionMode : int
3395 {
3396 Disabled = 0,
3397 AutomaticGroups = 1,
3398 BufferedGroups = 2,
3399 };
3400 Q_ENUM( TransactionMode )
3401
3402
3407 enum class AltitudeClamping : int
3408 {
3409 Absolute,
3410 Relative,
3411 Terrain,
3412 };
3413 Q_ENUM( AltitudeClamping )
3414
3415
3420 enum class AltitudeBinding : int
3421 {
3422 Vertex,
3423 Centroid,
3424 };
3425 Q_ENUM( AltitudeBinding )
3426
3427
3432 enum class RangeLimits : int
3433 {
3434 IncludeBoth = 0,
3435 IncludeLowerExcludeUpper,
3436 ExcludeLowerIncludeUpper,
3437 ExcludeBoth,
3438 };
3439 Q_ENUM( RangeLimits )
3440
3441
3446 enum class RasterElevationMode : int
3447 {
3448 FixedElevationRange = 0,
3449 RepresentsElevationSurface = 1,
3450 FixedRangePerBand = 2,
3451 DynamicRangePerBand = 3,
3452 };
3453 Q_ENUM( RasterElevationMode )
3454
3455
3460 enum class MeshElevationMode : int
3461 {
3462 FixedElevationRange = 0,
3463 FromVertices = 1,
3464 FixedRangePerGroup = 2,
3465 };
3466 Q_ENUM( MeshElevationMode )
3467
3468
3474 {
3475 NoConstraint,
3476 Perpendicular,
3477 Parallel
3478 };
3479 Q_ENUM( BetweenLineConstraint )
3480
3481
3486 enum class LineExtensionSide : int
3487 {
3488 BeforeVertex,
3489 AfterVertex,
3490 NoVertex,
3491 };
3492 Q_ENUM( LineExtensionSide )
3493
3494
3495
3499 enum class CadConstraintType : int
3500 {
3501 Generic,
3502 Angle,
3503 Distance,
3504 XCoordinate,
3505 YCoordinate,
3506 ZValue,
3507 MValue,
3508 };
3509 Q_ENUM( CadConstraintType )
3510
3511
3512
3517 enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
3518 {
3519 EvaluateDefaultValuesOnProviderSide = 1 << 0,
3520 TrustStoredLayerStatistics = 1 << 1,
3521 RememberLayerEditStatusBetweenSessions = 1 << 2,
3522 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
3523 };
3524 Q_ENUM( ProjectFlag )
3525 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
3526 Q_FLAG( ProjectFlags )
3527
3533 enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
3534 {
3535 ShowContextMenu = 1 << 0,
3536 };
3537 Q_ENUM( PlotToolFlag )
3538 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
3539 Q_FLAG( PlotToolFlags )
3540
3541
3549 enum class Point3DShape : int
3550 {
3551 Cylinder,
3552 Sphere,
3553 Cone,
3554 Cube,
3555 Torus,
3556 Plane,
3557 ExtrudedText,
3558 Model,
3559 Billboard,
3560 };
3561 Q_ENUM( Point3DShape )
3562
3563
3568 enum class LightSourceType : int
3569 {
3570 Point,
3571 Directional,
3572 };
3573 Q_ENUM( LightSourceType )
3574
3575
3580 enum class NavigationMode : int
3581 {
3582 TerrainBased,
3583 Walk
3584 };
3585 Q_ENUM( NavigationMode )
3586
3587
3592 enum class VerticalAxisInversion : int
3593 {
3594 Never,
3595 WhenDragging,
3596 Always,
3597 };
3598 Q_ENUM( VerticalAxisInversion )
3599
3600
3606 {
3607 Line,
3608 FillBelow,
3609 FillAbove,
3610 };
3612
3618 enum class VectorProfileType : int
3619 {
3620 IndividualFeatures,
3621 ContinuousSurface,
3622 };
3624
3630 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
3631 {
3632 RespectsMaximumErrorMapUnit = 1 << 0,
3633 RespectsDistanceRange = 1 << 1,
3634 RespectsElevationRange = 1 << 2,
3635 };
3636 Q_ENUM( ProfileGeneratorFlag )
3638 Q_FLAG( ProfileGeneratorFlags )
3639
3645 enum class ProfileExportType : int
3646 {
3647 Features3D,
3648 Profile2D,
3649 DistanceVsElevationTable,
3650 };
3652
3659 {
3660 Square,
3661 Circle,
3662 };
3663 Q_ENUM( PointCloudSymbol )
3664
3665
3671 {
3672 Default,
3673 BottomToTop,
3674 TopToBottom,
3675 };
3676 Q_ENUM( PointCloudDrawOrder )
3677
3678
3686 {
3687 AllowIntersections,
3688 AvoidIntersectionsCurrentLayer,
3689 AvoidIntersectionsLayers,
3690 };
3691 Q_ENUM( AvoidIntersectionsMode )
3692
3693
3701 {
3702 Qgz,
3703 Qgs,
3704 };
3705 Q_ENUM( ProjectFileFormat )
3706
3707
3715 {
3716 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers ) = 1 << 0,
3717 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts ) = 1 << 1,
3718 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata ) = 1 << 2,
3719 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
3720 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
3721 DontLoadProjectStyles = 1 << 5,
3722 ForceReadOnlyLayers = 1 << 6,
3723 };
3724 Q_ENUM( ProjectReadFlag )
3725
3726
3734 Q_FLAG( ProjectReadFlags )
3735
3744 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
3745 {
3746 ProjectStyles = 1 << 0,
3747 };
3748 Q_ENUM( ProjectCapability )
3749
3750
3756 Q_FLAG( ProjectCapabilities )
3757
3764 {
3765 Vector,
3766 Raster,
3767 RasterDem,
3768 GeoJson,
3769 Image,
3770 Video,
3771 Unknown,
3772 };
3773 Q_ENUM( MapBoxGlStyleSourceType )
3774
3775
3783 {
3784 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
3785 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
3786 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
3787 GlobeServer,
3788 GPServer,
3789 GeocodeServer,
3790 Unknown,
3791 };
3792 Q_ENUM( ArcGisRestServiceType )
3793
3794
3802 {
3803 Normal,
3804 Generated,
3805 };
3806 Q_ENUM( RelationshipType )
3807
3808
3816 {
3817 Association,
3818 Composition,
3819 };
3820 Q_ENUM( RelationshipStrength )
3821
3822
3828 {
3829 OneToOne,
3830 OneToMany,
3831 ManyToOne,
3832 ManyToMany,
3833 };
3834 Q_ENUM( RelationshipCardinality )
3835
3836
3841 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
3842 {
3843 MultipleFieldKeys = 1 << 0,
3844 ForwardPathLabel = 1 << 1,
3845 BackwardPathLabel = 1 << 2,
3846 };
3847 Q_ENUM( RelationshipCapability )
3848
3849
3855 Q_FLAG( RelationshipCapabilities )
3856
3862 enum class CoordinateDisplayType : int
3863 {
3864 MapCrs,
3865 MapGeographic,
3866 CustomCrs,
3867 };
3868 Q_ENUM( CoordinateDisplayType )
3869
3870
3875 enum class SettingsOrigin : int
3876 {
3877 Any,
3878 Global,
3879 Local,
3880 };
3881 Q_ENUM( SettingsOrigin )
3882
3883
3888 enum class ScriptLanguage : int
3889 {
3890 Css,
3891 QgisExpression,
3892 Html,
3893 JavaScript,
3894 Json,
3895 Python,
3896 R,
3897 Sql,
3898 Batch,
3899 Bash,
3900 Unknown,
3901 };
3902 Q_ENUM( ScriptLanguage )
3903
3904
3912 {
3913 Reformat = 1 << 0,
3914 CheckSyntax = 1 << 1,
3915 ToggleComment = 1 << 2,
3916 };
3917 Q_ENUM( ScriptLanguageCapability )
3918
3919
3926
3933 {
3934 AboveInsertionPoint,
3935 TopOfTree,
3936 OptimalInInsertionGroup,
3937 };
3938 Q_ENUM( LayerTreeInsertionMethod )
3939
3940
3945 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
3946 {
3947 SkipVisibilityCheck = 1 << 0,
3948 };
3949 Q_ENUM( LayerTreeFilterFlag )
3950
3951
3957 Q_FLAG( LayerTreeFilterFlags )
3958
3959
3967 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
3968 {
3969 ShowRuleDetails = 1 << 0,
3970 };
3971 Q_ENUM( LegendJsonRenderFlag )
3973 Q_FLAG( LegendJsonRenderFlags )
3974
3982 enum class ActionType : int
3983 {
3984 Invalid,
3985 MapLayerAction,
3986 AttributeAction
3987 };
3988 Q_ENUM( ActionType )
3989
3990
3997 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
3998 {
3999 Layer = 1 << 0,
4000 SingleFeature = 1 << 1,
4001 MultipleFeatures = 1 << 2,
4002 AllActions = Layer | SingleFeature | MultipleFeatures
4003 };
4004 Q_ENUM( MapLayerActionTarget )
4005
4006
4014 Q_FLAG( MapLayerActionTargets )
4015
4023 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
4024 {
4025 EnabledOnlyWhenEditable = 1 << 1,
4026 };
4027 Q_ENUM( MapLayerActionFlag )
4028
4029
4037 Q_FLAG( MapLayerActionFlags )
4038
4047 {
4048 Generic,
4049 GenericPython,
4050 Mac,
4051 Windows,
4052 Unix,
4053 OpenUrl,
4054 SubmitUrlEncoded,
4055 SubmitUrlMultipart,
4056 };
4057 Q_ENUM( AttributeActionType )
4058
4059
4065 {
4066 Created,
4067 Published,
4068 Revised,
4069 Superseded,
4070 };
4071 Q_ENUM( MetadataDateType )
4072
4073
4083 {
4084 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
4085 GrayIndex = 1,
4086 PaletteIndex = 2,
4087 RedBand = 3,
4088 GreenBand = 4,
4089 BlueBand = 5,
4090 AlphaBand = 6,
4091 HueBand = 7,
4092 SaturationBand = 8,
4093 LightnessBand = 9,
4094 CyanBand = 10,
4095 MagentaBand = 11,
4096 YellowBand = 12,
4097 BlackBand = 13,
4098 YCbCr_YBand = 14,
4099 YCbCr_CbBand = 15,
4100 YCbCr_CrBand = 16,
4101 ContinuousPalette = 17
4102 };
4103 Q_ENUM( RasterColorInterpretation )
4104
4105
4113 {
4114 GrayOrUndefined,
4115 Palette,
4116 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
4117 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
4118 };
4119 Q_ENUM( RasterLayerType )
4120
4121
4129 {
4130 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
4131 SingleBandGray,
4132 SingleBandPseudoColor,
4133 PalettedColor,
4134 PalettedSingleBandGray,
4135 PalettedSingleBandPseudoColor,
4136 PalettedMultiBandColor,
4137 MultiBandSingleBandGray,
4138 MultiBandSingleBandPseudoColor,
4139 MultiBandColor,
4140 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
4141 };
4142 Q_ENUM( RasterDrawingStyle )
4143
4144
4151 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
4152 {
4153 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
4154 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
4155 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
4156 };
4157 Q_ENUM( RasterPyramidFormat )
4158
4159
4167 {
4168 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
4169 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
4170 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
4171 };
4172 Q_ENUM( RasterBuildPyramidOption )
4173
4174
4182 {
4183 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
4184 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
4185 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
4186 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
4187 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
4188 };
4189 Q_ENUM( RasterIdentifyFormat )
4190
4191 // TODO QGIS 4 -- remove NoCapabilities and rely on RasterInterfaceCapabilities() instead
4192 // remove deprecated members
4193 // Remove "Identify" member, and replace with combinations of IdentifyValue/IdentifyText/etc
4194
4195
4203 {
4204 NoCapabilities = 0,
4205 Size = 1 << 1,
4206 Create = 1 << 2,
4207 Remove = 1 << 3,
4208 BuildPyramids = 1 << 4,
4209 Identify = 1 << 5,
4210 IdentifyValue = 1 << 6,
4211 IdentifyText = 1 << 7,
4212 IdentifyHtml = 1 << 8,
4213 IdentifyFeature = 1 << 9,
4214 Prefetch = 1 << 10,
4215 };
4216 Q_ENUM( RasterInterfaceCapability )
4217
4218
4225
4226 // TODO QGIS 4 -- remove NoProviderCapabilities and rely on RasterProviderCapabilities() instead
4227
4236 {
4237 NoProviderCapabilities = 0,
4238 ReadLayerMetadata = 1 << 1,
4239 WriteLayerMetadata = 1 << 2,
4240 ProviderHintBenefitsFromResampling = 1 << 3,
4241 ProviderHintCanPerformProviderResampling = 1 << 4,
4242 ReloadData = 1 << 5,
4243 DpiDependentData = 1 << 6,
4244 NativeRasterAttributeTable = 1 << 7,
4245 BuildPyramids = 1 << 8,
4246 };
4247 Q_ENUM( RasterProviderCapability )
4248
4249
4258
4265 {
4266 HighestElevation,
4267 NewerElevation,
4268 };
4269 Q_ENUM( ElevationMapCombineMethod )
4270
4271
4280 {
4281 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
4282 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
4283 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
4284 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
4285 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
4286 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
4287 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
4288 Burn SIP_MONKEYPATCH_COMPAT_NAME( BlendBurn ),
4289 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
4290 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
4291 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
4292 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
4293 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
4294 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
4295 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
4296 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
4297 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
4298 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
4299 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
4300 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
4301 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
4302 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
4303 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
4304 Xor SIP_MONKEYPATCH_COMPAT_NAME( BlendXor ),
4305 };
4306 Q_ENUM( BlendMode )
4307
4308
4316 {
4317 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
4318 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
4319 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
4320 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
4321 };
4322 Q_ENUM( SystemOfMeasurement )
4323
4324
4331 {
4332 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
4333 Pixels,
4334 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
4335 };
4336 Q_ENUM( MapToolUnit )
4337
4338
4346 {
4347 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
4348 Area SIP_MONKEYPATCH_COMPAT_NAME( TypeArea ),
4349 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
4350 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
4351 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
4352 };
4353 Q_ENUM( UnitType )
4354
4355
4363 {
4364 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
4365 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
4366 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
4367 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
4368 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
4369 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
4370 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
4371 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
4372 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
4373 Inches,
4374 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
4375 };
4376 Q_ENUM( DistanceUnit )
4377
4378
4386 {
4387 Standard,
4388 Geographic,
4389 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
4390 };
4391 Q_ENUM( DistanceUnitType )
4392
4393
4401 {
4402 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
4403 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
4404 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
4405 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
4406 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
4407 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
4408 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
4409 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
4410 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
4411 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
4412 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
4413 SquareInches,
4414 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
4415 };
4416 Q_ENUM( AreaUnit )
4417
4418
4426 {
4427 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
4428 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
4429 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
4430 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
4431 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
4432 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
4433 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
4434 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
4435 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
4436 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
4437 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
4438 };
4439 Q_ENUM( VolumeUnit )
4440
4441
4449 {
4450 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
4451 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
4452 Gon SIP_MONKEYPATCH_COMPAT_NAME( AngleGon ),
4453 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
4454 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
4455 Turn SIP_MONKEYPATCH_COMPAT_NAME( AngleTurn ),
4456 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
4457 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
4458 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
4459 };
4460 Q_ENUM( AngleUnit )
4461
4462
4470 {
4471 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
4472 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
4473 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
4474 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
4475 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
4476 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
4477 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
4478 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
4479 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
4480 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
4481 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
4482 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
4483 };
4484 Q_ENUM( TemporalUnit )
4485
4486
4494 {
4495 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
4496 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
4497 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
4498 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
4499 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
4500 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
4501 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
4502 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
4503 };
4504 Q_ENUM( RenderUnit )
4505
4506
4514 {
4515 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
4516 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
4517 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
4518 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
4519 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
4520 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
4521 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
4522 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
4523 };
4524 Q_ENUM( LayoutUnit )
4525
4526
4534 {
4535 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
4536 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
4537 };
4538 Q_ENUM( LayoutUnitType )
4539
4540
4545 enum class InputControllerType : int
4546 {
4547 Map2D,
4548 Map3D
4549 };
4551
4558 {
4559 NotSet,
4560 Unknown,
4561 OrdinaryTable,
4562 Index,
4563 Sequence,
4564 View,
4565 MaterializedView,
4566 CompositeType,
4567 ToastTable,
4568 ForeignTable,
4569 PartitionedTable,
4570 };
4571 Q_ENUM( PostgresRelKind )
4572
4573
4579 {
4580 SetFieldComment = 1 << 0,
4581 SetFieldAlias = 1 << 1,
4582 };
4583 Q_ENUM( DatabaseProviderConnectionCapability2 )
4586
4593 {
4594 SaveToDatabase = 1 << 1,
4595 LoadFromDatabase = 1 << 2,
4596 DeleteFromDatabase = 1 << 3
4597 };
4601
4602
4608 {
4609 LastProfile,
4610 DefaultProfile,
4611 AskUser,
4612 };
4613 Q_ENUM( UserProfileSelectionPolicy )
4614
4615
4623 {
4624 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
4625 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
4626 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
4627 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
4628 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
4629 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
4630 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
4631 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
4632 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
4633 };
4634 Q_ENUM( AttributeEditorType )
4635
4636
4642 {
4643 GroupBox,
4644 Tab,
4645 Row,
4646 };
4647 Q_ENUM( AttributeEditorContainerType )
4648
4649
4657 {
4658 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
4659 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
4660 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
4661 };
4662 Q_ENUM( AttributeFormLayout )
4663
4664
4672 {
4673 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
4674 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
4675 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
4676 };
4677 Q_ENUM( AttributeFormSuppression )
4678
4679
4687 {
4688 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
4689 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
4690 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
4691 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
4692 };
4693 Q_ENUM( AttributeFormPythonInitCodeSource )
4694
4695
4701 {
4702 Qgis,
4703 PointCloud,
4704 RasterCalculator,
4705 };
4706 Q_ENUM( ExpressionType )
4707
4708
4716 {
4717 NoSymbology = 0,
4718 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
4719 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
4720 };
4721 Q_ENUM( FeatureSymbologyExport )
4722
4723
4728 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
4729 {
4730 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
4731 };
4732 Q_ENUM( VectorTileProviderFlag )
4733
4734
4740 Q_FLAG( VectorTileProviderFlags )
4741
4747 {
4748 ReadLayerMetadata = 1 << 1,
4749 };
4750 Q_ENUM( VectorTileProviderCapability )
4751
4752
4759
4766 {
4767 Available,
4768 NotAvailable,
4769 AvailableNoChildren,
4770 UseLowerZoomLevelTile,
4771 };
4772 Q_ENUM( TileAvailability )
4773
4774
4780 {
4781 ReadLayerMetadata = 1 << 1,
4782 };
4783 Q_ENUM( TiledSceneProviderCapability )
4784
4785
4792
4799 {
4800 Region,
4801 OrientedBox,
4802 Sphere,
4803 };
4804 Q_ENUM( TiledSceneBoundingVolumeType )
4805
4806
4815 {
4816 Replacement,
4817 Additive,
4818 };
4819 Q_ENUM( TileRefinementProcess )
4820
4821
4827 {
4828 NoChildren,
4829 Available,
4830 NeedFetching,
4831 };
4832 Q_ENUM( TileChildrenAvailability )
4833
4834
4839 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
4840 {
4841 NoHierarchyFetch = 1 << 0,
4842 };
4843 Q_ENUM( TiledSceneRequestFlag )
4844
4845
4851 Q_FLAG( TiledSceneRequestFlags )
4852
4858 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
4859 {
4860 RequiresTextures = 1 << 0,
4861 ForceRasterRender = 1 << 1,
4862 RendersTriangles = 1 << 2,
4863 RendersLines = 1 << 3,
4864 };
4865 Q_ENUM( TiledSceneRendererFlag )
4866
4867
4873 Q_FLAG( TiledSceneRendererFlags )
4874
4880 enum class GdalResampleAlgorithm : int
4881 {
4882 RA_NearestNeighbour = 0,
4883 RA_Bilinear = 1,
4884 RA_Cubic = 2,
4885 RA_CubicSpline = 3,
4886 RA_Lanczos = 4,
4887 RA_Average = 5,
4888 RA_Mode = 6,
4889 RA_Max = 8,
4890 RA_Min = 9,
4891 RA_Median = 10,
4892 RA_Q1 = 11,
4893 RA_Q3 = 12,
4894 };
4895 Q_ENUM( GdalResampleAlgorithm )
4896
4897
4902 enum class VsiHandlerType : int
4903 {
4904 Invalid,
4905 Archive,
4906 Network,
4907 Cloud,
4908 Memory,
4909 Other,
4910 };
4911 Q_ENUM( VsiHandlerType )
4912
4913
4918 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
4919 {
4920 Count = 1,
4921 Sum = 2,
4922 Mean = 4,
4923 Median = 8,
4924 StDev = 16,
4925 Min = 32,
4926 Max = 64,
4927 Range = 128,
4928 Minority = 256,
4929 Majority = 512,
4930 Variety = 1024,
4931 Variance = 2048,
4932 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
4933 Default = Count | Sum | Mean,
4934 };
4935 Q_ENUM( ZonalStatistic )
4936
4937
4943 Q_FLAG( ZonalStatistics )
4944
4950 enum class ZonalStatisticResult : int
4951 {
4952 Success = 0,
4953 LayerTypeWrong = 1,
4954 LayerInvalid,
4955 RasterInvalid,
4956 RasterBandInvalid,
4957 FailedToCreateField = 8,
4958 Canceled = 9
4959 };
4960 Q_ENUM( ZonalStatisticResult )
4961
4962
4969 {
4970 Count,
4971 CountDistinct,
4972 CountMissing,
4973 Min,
4974 Max,
4975 Sum,
4976 Mean,
4977 Median,
4978 StDev,
4979 StDevSample,
4980 Range,
4981 Minority,
4982 Majority,
4983 FirstQuartile,
4984 ThirdQuartile,
4985 InterQuartileRange,
4986 StringMinimumLength,
4987 StringMaximumLength,
4988 StringConcatenate,
4989 GeometryCollect,
4990 ArrayAggregate,
4991 StringConcatenateUnique
4992 };
4993 Q_ENUM( Aggregate )
4994
4995
5001 {
5002 Count = 1 << 0,
5003 CountMissing = 1 << 15,
5004 Sum = 1 << 1,
5005 Mean = 1 << 2,
5006 Median = 1 << 3,
5007 StDev = 1 << 4,
5008 StDevSample = 1 << 5,
5009 Min = 1 << 6,
5010 Max = 1 << 7,
5011 Range = 1 << 8,
5012 Minority = 1 << 9,
5013 Majority = 1 << 10,
5014 Variety = 1 << 11,
5015 FirstQuartile = 1 << 12,
5016 ThirdQuartile = 1 << 13,
5017 InterQuartileRange = 1 << 14,
5018 First = 1 << 16,
5019 Last = 1 << 17,
5020 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
5021 };
5022 Q_ENUM( Statistic )
5023
5024
5030 Q_FLAG( Statistics )
5031
5038 {
5039 Count = 1,
5040 CountDistinct = 2,
5041 CountMissing = 4,
5042 Min = 8,
5043 Max = 16,
5044 Range = 32,
5045 All = Count | CountDistinct | CountMissing | Min | Max | Range,
5046 };
5047 Q_ENUM( DateTimeStatistic )
5048
5049
5055 Q_FLAG( DateTimeStatistics )
5056
5063 {
5064 Count = 1,
5065 CountDistinct = 2,
5066 CountMissing = 4,
5067 Min = 8,
5068 Max = 16,
5069 MinimumLength = 32,
5070 MaximumLength = 64,
5071 MeanLength = 128,
5072 Minority = 256,
5073 Majority = 512,
5074 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
5075 };
5076 Q_ENUM( StringStatistic )
5077
5078
5084 Q_FLAG( StringStatistics )
5085
5092 {
5093 NoStatistic = 0,
5094 Min = 1,
5095 Max = 1 << 1,
5096 Range = 1 << 2,
5097 Sum = 1 << 3,
5098 Mean = 1 << 4,
5099 StdDev = 1 << 5,
5100 SumOfSquares = 1 << 6,
5101 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
5102 };
5103 Q_ENUM( RasterBandStatistic )
5104
5105
5111 Q_FLAG( RasterBandStatistics )
5112
5118 enum class SensorThingsEntity : int
5119 {
5120 Invalid,
5121 Thing,
5122 Location,
5123 HistoricalLocation,
5124 Datastream,
5125 Sensor,
5126 ObservedProperty,
5127 Observation,
5128 FeatureOfInterest,
5129 MultiDatastream,
5130 };
5131 Q_ENUM( SensorThingsEntity )
5132
5133
5136 static const double DEFAULT_SEARCH_RADIUS_MM;
5137
5139 static const float DEFAULT_MAPTOPIXEL_THRESHOLD;
5140
5146 static const QColor DEFAULT_HIGHLIGHT_COLOR;
5147
5151 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
5152
5156 static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
5157
5163 static const double SCALE_PRECISION;
5164
5169 static const double DEFAULT_Z_COORDINATE;
5170
5176 static const double DEFAULT_M_COORDINATE;
5177
5182 static const double UI_SCALE_FACTOR;
5183
5187 static const double DEFAULT_SNAP_TOLERANCE;
5188
5192 static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS;
5193
5199 static QString defaultProjectScales();
5200
5206 static int geosVersionInt();
5207
5213 static int geosVersionMajor();
5214
5220 static int geosVersionMinor();
5221
5227 static int geosVersionPatch();
5228
5234 static QString geosVersion();
5235};
5236
5239
5312
5313// hack to workaround warnings when casting void pointers
5314// retrieved from QLibrary::resolve to function pointers.
5315// It's assumed that this works on all systems supporting
5316// QLibrary
5317#define cast_to_fptr(f) f
5318
5319
5327// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
5328template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
5329{
5330 public:
5331
5336 explicit QgsSignalBlocker( Object *object )
5337 : mObject( object )
5338 , mPreviousState( object->blockSignals( true ) )
5339 {}
5340
5342 {
5343 mObject->blockSignals( mPreviousState );
5344 }
5345
5347 Object *operator->() { return mObject; }
5348
5349 private:
5350
5351 Object *mObject = nullptr;
5352 bool mPreviousState;
5353
5354};
5355
5368// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
5369template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
5370{
5371 return QgsSignalBlocker<Object>( object );
5372}
5373
5375CORE_EXPORT uint qHash( const QVariant &variant );
5376
5382inline QString qgsDoubleToString( double a, int precision = 17 )
5383{
5384 QString str;
5385 if ( precision )
5386 {
5387 if ( precision < 0 )
5388 {
5389 const double roundFactor = std::pow( 10, -precision );
5390 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
5391 }
5392 else
5393 {
5394 str = QString::number( a, 'f', precision );
5395 if ( str.contains( QLatin1Char( '.' ) ) )
5396 {
5397 // remove ending 0s
5398 int idx = str.length() - 1;
5399 while ( str.at( idx ) == '0' && idx > 1 )
5400 {
5401 idx--;
5402 }
5403 if ( idx < str.length() - 1 )
5404 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
5405 }
5406 }
5407 }
5408 else
5409 {
5410 str = QString::number( a, 'f', precision );
5411 }
5412 // avoid printing -0
5413 // see https://bugreports.qt.io/browse/QTBUG-71439
5414 if ( str == QLatin1String( "-0" ) )
5415 {
5416 return QLatin1String( "0" );
5417 }
5418 return str;
5419}
5420
5427inline bool qgsNanCompatibleEquals( double a, double b )
5428{
5429 const bool aIsNan = std::isnan( a );
5430 const bool bIsNan = std::isnan( b );
5431 if ( aIsNan || bIsNan )
5432 return aIsNan && bIsNan;
5433
5434 return a == b;
5435}
5436
5437#ifndef SIP_RUN
5438
5446template<typename T>
5447inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
5448{
5449 const bool aIsNan = std::isnan( a );
5450 const bool bIsNan = std::isnan( b );
5451 if ( aIsNan || bIsNan )
5452 return aIsNan && bIsNan;
5453
5454 const T diff = a - b;
5455 return diff >= -epsilon && diff <= epsilon;
5456}
5457#endif
5458
5465inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
5466{
5467 return qgsNumberNear<double>( a, b, epsilon );
5468}
5469
5476inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
5477{
5478 return qgsNumberNear<float>( a, b, epsilon );
5479}
5480
5482inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
5483{
5484 const bool aIsNan = std::isnan( a );
5485 const bool bIsNan = std::isnan( b );
5486 if ( aIsNan || bIsNan )
5487 return aIsNan && bIsNan;
5488
5489 // The most simple would be to print numbers as %.xe and compare as strings
5490 // but that is probably too costly
5491 // Then the fastest would be to set some bits directly, but little/big endian
5492 // has to be considered (maybe TODO)
5493 // Is there a better way?
5494 int aexp, bexp;
5495 const double ar = std::frexp( a, &aexp );
5496 const double br = std::frexp( b, &bexp );
5497
5498 return aexp == bexp &&
5499 std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
5500}
5501
5506inline double qgsRound( double number, int places )
5507{
5508 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
5509 const double scaleFactor = std::pow( 10.0, places );
5510 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
5511}
5512
5513#ifndef SIP_RUN
5514
5521template<class Key, class Value>
5522QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
5523{
5524 QString result;
5525 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
5526 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
5527
5528 result.chop( separator.size() );
5529 return result;
5530}
5531
5538template<class Key, class Value>
5539QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
5540{
5541 QString result;
5542 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
5543 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
5544
5545 result.chop( separator.size() );
5546 return result;
5547}
5548
5555template<class T>
5556QString qgsSetJoin( const QSet<T> &set, const QString &separator )
5557{
5558 QString result;
5559 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
5560 result += QString( "%1%2" ).arg( *it ).arg( separator );
5561
5562 result.chop( separator.size() );
5563 return result;
5564}
5565
5567
5577namespace qgis
5578{
5579
5592 template<typename To, typename From> inline To down_cast( From *f )
5593 {
5594 static_assert(
5595 ( std::is_base_of<From,
5596 typename std::remove_pointer<To>::type>::value ),
5597 "target type not derived from source type" );
5598 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
5599 return static_cast<To>( f );
5600 }
5601
5602 template<class T>
5603 QSet<T> listToSet( const QList<T> &list )
5604 {
5605 return QSet<T>( list.begin(), list.end() );
5606 }
5607
5608 template<class T>
5609 QList<T> setToList( const QSet<T> &set )
5610 {
5611 return QList<T>( set.begin(), set.end() );
5612 }
5613}
5614
5616#endif
5617
5622template<class T> const QList<T> qgsEnumList() SIP_SKIP
5623{
5624 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5625 Q_ASSERT( metaEnum.isValid() );
5626 QList<T> enumList;
5627 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
5628 {
5629 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
5630 }
5631 return enumList;
5632}
5633
5639template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
5640{
5641 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5642 Q_ASSERT( metaEnum.isValid() );
5643 QMap<T, QString> enumMap;
5644 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
5645 {
5646 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
5647 }
5648 return enumMap;
5649}
5650
5656template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
5657{
5658 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5659 Q_ASSERT( metaEnum.isValid() );
5660 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
5661 if ( returnOk )
5662 {
5663 *returnOk = key ? true : false;
5664 }
5665 return QString::fromUtf8( key );
5666}
5667
5675template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
5676{
5677 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5678 Q_ASSERT( metaEnum.isValid() );
5679 bool ok = false;
5680 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
5681 if ( returnOk )
5682 {
5683 *returnOk = ok;
5684 }
5685 if ( ok )
5686 {
5687 return v;
5688 }
5689 else
5690 {
5691 // if conversion has failed, try with conversion from int value
5692 if ( tryValueAsKey )
5693 {
5694 bool canConvert = false;
5695 const int intValue = key.toInt( &canConvert );
5696 if ( canConvert && metaEnum.valueToKey( intValue ) )
5697 {
5698 if ( returnOk )
5699 {
5700 *returnOk = true;
5701 }
5702 return static_cast<T>( intValue );
5703 }
5704 }
5705 }
5706 return defaultValue;
5707}
5708
5714template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
5715{
5716 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5717 Q_ASSERT( metaEnum.isValid() );
5718 int intValue = static_cast<int>( value );
5719 const QByteArray ba = metaEnum.valueToKeys( intValue );
5720 // check that the int value does correspond to a flag
5721 // see https://stackoverflow.com/a/68495949/1548052
5722 const int intValueCheck = metaEnum.keysToValue( ba );
5723 bool ok = intValue == intValueCheck;
5724 if ( returnOk )
5725 *returnOk = ok;
5726 return ok ? QString::fromUtf8( ba ) : QString();
5727}
5728
5736template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
5737{
5738 if ( keys.isEmpty() )
5739 {
5740 if ( returnOk )
5741 {
5742 *returnOk = false;
5743 }
5744 return defaultValue;
5745 }
5746 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5747 Q_ASSERT( metaEnum.isValid() );
5748 bool ok = false;
5749 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
5750 if ( returnOk )
5751 {
5752 *returnOk = ok;
5753 }
5754 if ( ok )
5755 {
5756 return v;
5757 }
5758 else
5759 {
5760 // if conversion has failed, try with conversion from int value
5761 if ( tryValueAsKey )
5762 {
5763 bool canConvert = false;
5764 const int intValue = keys.toInt( &canConvert );
5765 if ( canConvert )
5766 {
5767 const QByteArray keys = metaEnum.valueToKeys( intValue );
5768 const int intValueCheck = metaEnum.keysToValue( keys );
5769 if ( intValue == intValueCheck )
5770 {
5771 if ( returnOk )
5772 {
5773 *returnOk = true;
5774 }
5775 return T( intValue );
5776 }
5777 }
5778 }
5779 }
5780 return defaultValue;
5781}
5782
5783
5792CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
5793
5802CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
5803
5813CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
5814
5824CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
5825
5834CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
5835
5842CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
5843
5844#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
5845
5852inline bool operator> ( const QVariant &v1, const QVariant &v2 )
5853{
5854 return qgsVariantGreaterThan( v1, v2 );
5855}
5856
5866inline bool operator< ( const QVariant &v1, const QVariant &v2 )
5867{
5868 return qgsVariantLessThan( v1, v2 );
5869}
5870#endif
5871
5872
5873#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
5874
5878template<> CORE_EXPORT bool qMapLessThanKey<QVariantList>( const QVariantList &key1, const QVariantList &key2 ) SIP_SKIP;
5879#endif
5880
5881CORE_EXPORT QString qgsVsiPrefix( const QString &path );
5882
5888void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
5889
5894void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
5895
5896#ifndef SIP_RUN
5897
5898#ifdef _MSC_VER
5899#define CONSTLATIN1STRING inline const QLatin1String
5900#else
5901#define CONSTLATIN1STRING constexpr QLatin1String
5902#endif
5903
5905class ScopedIntIncrementor
5906{
5907 public:
5908
5909 ScopedIntIncrementor( int *variable )
5910 : mVariable( variable )
5911 {
5912 ( *mVariable )++;
5913 }
5914
5915 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
5916 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
5917
5918 void release()
5919 {
5920 if ( mVariable )
5921 ( *mVariable )--;
5922
5923 mVariable = nullptr;
5924 }
5925
5926 ~ScopedIntIncrementor()
5927 {
5928 release();
5929 }
5930
5931 private:
5932 int *mVariable = nullptr;
5933};
5935
5941{
5942 return QLatin1String(
5943 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]] )"""
5944 );
5945}
5946
5949{
5950 return QLatin1String( "+proj=longlat +datum=WGS84 +no_defs" );
5951}
5952
5955{
5956 return QLatin1String( "EPSG:4326" );
5957}
5958
5961{
5962 return QLatin1String( "NONE" );
5963}
5964
5966
5968const int PREVIEW_JOB_DELAY_MS = 250;
5969
5971const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
5972
5974
5975#endif
5976
5978const long GEOSRID = 4326;
5979
5981const long GEOCRS_ID = 3452;
5982
5984const long GEO_EPSG_CRS_ID = 4326;
5985
5990const int USER_CRS_START_ID = 100000;
5991
5992//
5993// Constants for point symbols
5994//
5995
5997const double DEFAULT_POINT_SIZE = 2.0;
5998const double DEFAULT_LINE_WIDTH = 0.26;
5999
6001const double DEFAULT_SEGMENT_EPSILON = 1e-8;
6002
6003typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
6004
6013typedef unsigned long long qgssize;
6014
6015#ifndef SIP_RUN
6016#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
6017
6018#define Q_NOWARN_DEPRECATED_PUSH \
6019 _Pragma("GCC diagnostic push") \
6020 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
6021#define Q_NOWARN_DEPRECATED_POP \
6022 _Pragma("GCC diagnostic pop");
6023#define Q_NOWARN_UNREACHABLE_PUSH
6024#define Q_NOWARN_UNREACHABLE_POP
6025
6026#elif defined(_MSC_VER)
6027
6028#define Q_NOWARN_DEPRECATED_PUSH \
6029 __pragma(warning(push)) \
6030 __pragma(warning(disable:4996))
6031#define Q_NOWARN_DEPRECATED_POP \
6032 __pragma(warning(pop))
6033#define Q_NOWARN_UNREACHABLE_PUSH \
6034 __pragma(warning(push)) \
6035 __pragma(warning(disable:4702))
6036#define Q_NOWARN_UNREACHABLE_POP \
6037 __pragma(warning(pop))
6038
6039#else
6040
6041#define Q_NOWARN_DEPRECATED_PUSH
6042#define Q_NOWARN_DEPRECATED_POP
6043#define Q_NOWARN_UNREACHABLE_PUSH
6044#define Q_NOWARN_UNREACHABLE_POP
6045
6046#endif
6047#endif
6048
6049#ifndef QGISEXTERN
6050#ifdef Q_OS_WIN
6051# define QGISEXTERN extern "C" __declspec( dllexport )
6052#else
6053# if defined(__GNUC__) || defined(__clang__)
6054# define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
6055# else
6056# define QGISEXTERN extern "C"
6057# endif
6058#endif
6059#endif
6060#endif
6061
6062// see https://infektor.net/posts/2017-01-19-using-cpp17-attributes-today.html#using-the-nodiscard-attribute
6063#if __cplusplus >= 201703L
6064#define NODISCARD [[nodiscard]]
6065#elif defined(__clang__)
6066#define NODISCARD [[nodiscard]]
6067#elif defined(_MSC_VER)
6068#define NODISCARD // no support
6069#elif defined(__has_cpp_attribute)
6070#if __has_cpp_attribute(nodiscard)
6071#define NODISCARD [[nodiscard]]
6072#elif __has_cpp_attribute(gnu::warn_unused_result)
6073#define NODISCARD [[gnu::warn_unused_result]]
6074#else
6075#define NODISCARD Q_REQUIRED_RESULT
6076#endif
6077#else
6078#define NODISCARD Q_REQUIRED_RESULT
6079#endif
6080
6081#if __cplusplus >= 201703L
6082#define MAYBE_UNUSED [[maybe_unused]]
6083#elif defined(__clang__)
6084#define MAYBE_UNUSED [[maybe_unused]]
6085#elif defined(_MSC_VER)
6086#define MAYBE_UNUSED // no support
6087#elif defined(__has_cpp_attribute)
6088#if __has_cpp_attribute(gnu::unused)
6089#define MAYBE_UNUSED [[gnu::unused]]
6090#else
6091#define MAYBE_UNUSED
6092#endif
6093#else
6094#define MAYBE_UNUSED
6095#endif
6096
6097#ifndef FINAL
6098#define FINAL final
6099#endif
6100
6101#ifndef SIP_RUN
6102#ifdef _MSC_VER
6103#define BUILTIN_UNREACHABLE \
6104 __assume(false);
6105#elif defined(__GNUC__) && !defined(__clang__)
6106// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
6107// like:
6108// switch( mVariableThatCanOnlyBeXorY )
6109// {
6110// case X:
6111// return "foo";
6112// case Y:
6113// return "foo";
6114// }
6115// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
6116#define BUILTIN_UNREACHABLE \
6117 __builtin_unreachable();
6118#else
6119#define BUILTIN_UNREACHABLE
6120#endif
6121#endif // SIP_RUN
6122
6123#ifdef SIP_RUN
6124
6129QString CORE_EXPORT geoWkt();
6130
6132QString CORE_EXPORT geoProj4();
6133
6135QString CORE_EXPORT geoEpsgCrsAuthId();
6136
6138QString CORE_EXPORT geoNone();
6139
6140#endif
The Qgis class provides global constants for use throughout the application.
Definition qgis.h:54
DistanceUnitType
Types of distance units.
Definition qgis.h:4386
GnssConstellation
GNSS constellation.
Definition qgis.h:1574
SettingsOption
Settings options.
Definition qgis.h:534
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition qgis.h:3631
ProcessingSourceType
Processing data source types.
Definition qgis.h:3000
GpsQualityIndicator
GPS signal quality indicator.
Definition qgis.h:1592
DataItemProviderCapability
Capabilities for data item providers.
Definition qgis.h:733
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3219
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
Definition qgis.h:2398
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:3715
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
Definition qgis.h:1687
MapToolUnit
Type of unit of tolerance value from settings.
Definition qgis.h:4331
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:2844
ProcessingModelChildAlgorithmExecutionStatus
Reflects the status of a child algorithm in a Processing model.
Definition qgis.h:3294
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
Definition qgis.h:1654
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:3659
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
Definition qgis.h:594
GeometryValidityFlag
Geometry validity check flags.
Definition qgis.h:1741
QFlags< RasterProviderCapability > RasterProviderCapabilities
Raster data provider capabilities.
Definition qgis.h:4256
ExpressionType
Expression types.
Definition qgis.h:4701
MapLayerActionFlag
Map layer action flags.
Definition qgis.h:4024
MapLayerProperty
Generic map layer properties.
Definition qgis.h:1916
BufferSide
Side of line to buffer.
Definition qgis.h:1766
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1203
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
Definition qgis.h:4013
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
Definition qgis.h:4747
AltitudeClamping
Altitude clamping.
Definition qgis.h:3408
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:4729
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:2199
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
Definition qgis.h:1142
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
Definition qgis.h:3755
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1029
CoordinateDisplayType
Formats for displaying coordinates.
Definition qgis.h:3863
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3167
QFlags< VectorRenderingSimplificationFlag > VectorRenderingSimplificationFlags
Simplification flags for vector feature rendering.
Definition qgis.h:2597
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:2817
GpsFixStatus
GPS fix status.
Definition qgis.h:1559
AnnotationItemNodeType
Annotation item node types.
Definition qgis.h:2127
static const char * QGIS_DEV_VERSION
The development version.
Definition qgis.h:82
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:827
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
Definition qgis.h:2343
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
Definition qgis.h:2052
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
Definition qgis.h:1227
AngularDirection
Angular directions.
Definition qgis.h:2932
DriveType
Drive types.
Definition qgis.h:880
UnitType
Unit types.
Definition qgis.h:4346
ContentStatus
Status for fetched or stored content.
Definition qgis.h:1515
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
Definition qgis.h:1477
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition qgis.h:559
LayoutUnit
Layout measurement units.
Definition qgis.h:4514
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:3816
Q_ENUM(GnssConstellation)
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:2682
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Definition qgis.h:3733
Point3DShape
3D point shape types.
Definition qgis.h:3550
GeometryOperationResult
Success or failure of a geometry operation.
Definition qgis.h:1712
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
Definition qgis.h:5083
BrowserItemState
Browser item states.
Definition qgis.h:695
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:4642
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
Definition qgis.h:4790
FeatureRequestFilterType
Types of feature request filters.
Definition qgis.h:1859
MarkerClipMode
Marker clipping modes.
Definition qgis.h:2775
GpsNavigationStatus
GPS navigation status.
Definition qgis.h:1612
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:2099
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:2606
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Definition qgis.h:3309
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Definition qgis.h:1950
Statistic
Available generic statistics.
Definition qgis.h:5001
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:579
AngleUnit
Units of angles.
Definition qgis.h:4449
CaptureTechnique
Capture technique.
Definition qgis.h:313
SpatialIndexPresence
Enumeration of spatial index presence states.
Definition qgis.h:368
BrowserItemCapability
Browser item capabilities.
Definition qgis.h:708
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition qgis.h:4672
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition qgis.h:3956
LayerTreeInsertionMethod
Layer tree insertion methods.
Definition qgis.h:3933
RasterProviderCapability
Raster data provider capabilities.
Definition qgis.h:4236
LineClipMode
Line clipping modes.
Definition qgis.h:2789
VectorRenderingSimplificationFlag
Simplification flags for vector feature rendering.
Definition qgis.h:2582
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
Definition qgis.h:1745
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition qgis.h:782
VsiHandlerType
GDAL VSI handler types.
Definition qgis.h:4903
SettingsTreeNodeType
Type of tree node.
Definition qgis.h:464
TilePixelRatio
DpiMode enum.
Definition qgis.h:2872
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:4579
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition qgis.h:995
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
Definition qgis.h:3637
LabelPrioritization
Label prioritization.
Definition qgis.h:934
GradientColorSource
Gradient color sources.
Definition qgis.h:2704
FileFilterType
Type of file filters.
Definition qgis.h:1108
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:948
RasterLayerType
Raster layer types.
Definition qgis.h:4113
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
Definition qgis.h:332
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:4152
VectorExportResult
Vector layer export result codes.
Definition qgis.h:806
DistanceUnit
Units of distance.
Definition qgis.h:4363
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:2270
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition qgis.h:638
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:2748
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
Definition qgis.h:2117
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1054
ScaleMethod
Scale methods.
Definition qgis.h:434
SldExportOption
SLD export options.
Definition qgis.h:506
VectorSimplificationAlgorithm
Simplification algorithms for vector features.
Definition qgis.h:2566
FilePathType
File path types.
Definition qgis.h:1346
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:3500
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:4687
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:2763
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
Definition qgis.h:521
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:3946
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:4657
FeatureRequestFlag
Flags for controlling feature requests.
Definition qgis.h:1831
VertexType
Types of vertex.
Definition qgis.h:2619
ShaderInterpolationMethod
Color ramp shader interpolation methods.
Definition qgis.h:1158
DataProviderFlag
Generic data provider flags.
Definition qgis.h:1944
Q_ENUM(GpsNavigationStatus)
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg)
Definition qgis.h:4881
GeometryValidationEngine
Available engines for validating geometries.
Definition qgis.h:1754
TransactionMode
Transaction mode.
Definition qgis.h:3395
Q_ENUM(ScaleToTileZoomLevelMethod)
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:4265
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:4129
GpsInformationComponent
GPS information component.
Definition qgis.h:1626
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:2958
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3026
FileOperationFlag
File operation flags.
Definition qgis.h:1901
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
Definition qgis.h:749
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:3745
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
Definition qgis.h:1672
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Definition qgis.h:644
QFlags< RasterInterfaceCapability > RasterInterfaceCapabilities
Raster interface capabilities.
Definition qgis.h:4223
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
Definition qgis.h:4047
TemporalNavigationMode
Temporal navigation modes.
Definition qgis.h:2153
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:3247
AreaUnit
Units of area.
Definition qgis.h:4401
StringStatistic
Available string statistics.
Definition qgis.h:5063
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:3354
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:4919
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:862
QFlags< SnappingType > SnappingTypes
Snapping types.
Definition qgis.h:570
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:2832
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1044
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
Definition qgis.h:4799
TextLayoutMode
Text layout modes.
Definition qgis.h:2483
PropertyType
Property types.
Definition qgis.h:492
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2377
LayerFilter
Filter for layers.
Definition qgis.h:133
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
Definition qgis.h:1146
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition qgis.h:1217
CrsType
Coordinate reference system types.
Definition qgis.h:1962
SensorThingsEntity
OGC SensorThings API entity types.
Definition qgis.h:5119
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1329
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:3337
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:3783
RasterFileWriterResult
Raster file export results.
Definition qgis.h:1312
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition qgis.h:2138
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
Definition qgis.h:3088
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:2971
ActionType
Action types.
Definition qgis.h:3983
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:897
PlaybackOperation
Media playback operations.
Definition qgis.h:2182
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
Definition qgis.h:667
QFlags< TextRendererFlag > TextRendererFlags
Definition qgis.h:2911
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:4593
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:3686
MarkerShape
Marker shapes.
Definition qgis.h:2633
LegendJsonRenderFlag
Legend JSON export flags.
Definition qgis.h:3968
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:4280
RasterElevationMode
Raster layer elevation modes.
Definition qgis.h:3447
Capitalization
String capitalization options.
Definition qgis.h:2889
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:2255
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1066
LabelQuadrantPosition
Label quadrant positions.
Definition qgis.h:1009
QFlags< PlotToolFlag > PlotToolFlags
Definition qgis.h:3538
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:2920
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition qgis.h:1125
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:837
TextOrientation
Text orientations.
Definition qgis.h:2468
PythonMacroMode
Authorisation to run Python Macros.
Definition qgis.h:340
TemporalUnit
Temporal units.
Definition qgis.h:4470
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
Definition qgis.h:1248
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
Definition qgis.h:625
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:909
CrsDefinitionFormat
CRS definition formats.
Definition qgis.h:3322
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:1888
QFlags< ProcessingParameterTypeFlag > ProcessingParameterTypeFlags
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3182
TileAvailability
Possible availability states for a tile within a tile matrix.
Definition qgis.h:4766
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:3518
BrowserItemType
Browser item types.
Definition qgis.h:676
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
Definition qgis.h:1848
SettingsType
Types of settings entries.
Definition qgis.h:445
QFlags< SettingsOption > SettingsOptions
Definition qgis.h:539
RasterTemporalMode
Raster layer temporal modes.
Definition qgis.h:2240
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1286
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:2423
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:274
RelationshipType
Relationship types.
Definition qgis.h:3802
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:3912
RasterInterfaceCapability
Raster interface capabilities.
Definition qgis.h:4203
JoinStyle
Join styles for buffers.
Definition qgis.h:1791
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:3671
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
Definition qgis.h:5110
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:2551
FieldDuplicatePolicy
Duplicate policy for fields.
Definition qgis.h:3369
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:4608
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Definition qgis.h:1906
DpiMode
DpiMode enum.
Definition qgis.h:2858
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition qgis.h:758
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3076
AltitudeBinding
Altitude binding.
Definition qgis.h:3421
Q_ENUM(ProcessingProviderFlag)
TiledSceneRendererFlag
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:4859
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:3998
ShaderClassificationMethod
Color ramp shader classification methods.
Definition qgis.h:1173
ZonalStatisticResult
Zonal statistics result codes.
Definition qgis.h:4951
ScriptLanguage
Scripting languages.
Definition qgis.h:3889
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
Definition qgis.h:722
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
Definition qgis.h:387
TiledSceneProviderCapability
Tiled scene data provider capabilities.
Definition qgis.h:4780
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:1092
RasterBandStatistic
Available raster band statistics.
Definition qgis.h:5092
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
Definition qgis.h:4757
QFlags< ZonalStatistic > ZonalStatistics
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:4942
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:2227
TextRenderFormat
Options for rendering text.
Definition qgis.h:2409
DataType
Raster data types.
Definition qgis.h:288
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
Definition qgis.h:2963
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition qgis.h:1132
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:4316
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
Definition qgis.h:1257
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition qgis.h:3593
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
Definition qgis.h:2312
RelationshipCapability
Relationship capabilities.
Definition qgis.h:3842
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:4167
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:3581
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:4827
LayerType
Types of layers that can be added to a map.
Definition qgis.h:114
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
Definition qgis.h:2103
FieldOrigin
Field origin.
Definition qgis.h:1374
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
Definition qgis.h:5029
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition qgis.h:3534
RenderUnit
Rendering size units.
Definition qgis.h:4494
CoordinateOrder
Order of coordinates.
Definition qgis.h:2037
SelectionFlag
Flags which control feature selection behavior.
Definition qgis.h:1467
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
Definition qgis.h:481
EndCapStyle
End cap styles for buffers.
Definition qgis.h:1778
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
Definition qgis.h:4850
QFlags< MapLayerActionFlag > MapLayerActionFlags
Map layer action flags.
Definition qgis.h:4036
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
Definition qgis.h:1921
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:1683
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
Definition qgis.h:2443
FieldDomainType
Types of field domain.
Definition qgis.h:3382
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2387
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2353
RasterPipeInterfaceRole
Raster pipe interface roles.
Definition qgis.h:1186
CoverageValidityResult
Coverage validity results.
Definition qgis.h:1804
Aggregate
Available aggregates to calculate.
Definition qgis.h:4969
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
Definition qgis.h:620
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
Definition qgis.h:2113
MapBoxGlStyleSourceType
Available MapBox GL style source types.
Definition qgis.h:3764
LayoutUnitType
Types of layout units.
Definition qgis.h:4534
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:400
DashPatternLineEndingRule
Dash pattern line ending rules.
Definition qgis.h:2802
FieldMetadataProperty
Standard field metadata values.
Definition qgis.h:1415
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:4840
RasterRendererCapability
Raster renderer capabilities.
Definition qgis.h:1238
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition qgis.h:1503
HistoryProviderBackend
History provider backends.
Definition qgis.h:2984
RasterExportType
Raster file export types.
Definition qgis.h:1299
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition qgis.h:1358
TextVerticalAlignment
Text vertical alignment.
Definition qgis.h:2535
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:3828
GradientType
Gradient types.
Definition qgis.h:2718
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
Definition qgis.h:3924
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:3619
GpsFeatureType
GPS feature types.
Definition qgis.h:1697
VectorLayerTypeFlag
Vector layer type flags.
Definition qgis.h:327
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition qgis.h:1817
RangeLimits
Describes how the limits of a range are handled.
Definition qgis.h:3433
QFlags< ProjectFlag > ProjectFlags
Definition qgis.h:3525
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:2215
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3208
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
Definition qgis.h:845
VectorEditResult
Specifies the result of a vector layer edit operation.
Definition qgis.h:1488
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:412
Axis
Cartesian axes.
Definition qgis.h:2086
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
Definition qgis.h:3854
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:585
VolumeUnit
Units of volume.
Definition qgis.h:4426
AttributeEditorType
Attribute editor types.
Definition qgis.h:4623
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
Definition qgis.h:3972
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
Definition qgis.h:4599
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
Definition qgis.h:657
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:1875
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition qgis.h:611
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3130
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:3646
MeshElevationMode
Mesh layer elevation modes.
Definition qgis.h:3461
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:3701
SnappingMode
SnappingMode defines on which layer the snapping is performed.
Definition qgis.h:547
SymbolType
Symbol types.
Definition qgis.h:420
RasterColorInterpretation
Raster color interpretation.
Definition qgis.h:4083
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:3606
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:2454
Q_ENUM(ProcessingAlgorithmFlag)
RendererUsage
Usage of the renderer.
Definition qgis.h:2945
SettingsTreeNodeOption
Options for named list nodes.
Definition qgis.h:476
BabelFormatCapability
Babel GPS format capabilities.
Definition qgis.h:1664
PostgresRelKind
Postgres database relkind options.
Definition qgis.h:4558
GpsConnectionType
GPS connection types.
Definition qgis.h:1530
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
Definition qgis.h:4584
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
Definition qgis.h:3117
LoadStyleFlag
Flags for loading layer styles.
Definition qgis.h:160
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:3474
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
Definition qgis.h:4739
MetadataDateType
Date types for metadata.
Definition qgis.h:4065
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
Definition qgis.h:2280
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3141
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:4182
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:2516
SymbolFlag
Flags controlling behavior of symbols.
Definition qgis.h:606
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition qgis.h:3487
HttpMethod
Different methods of HTTP requests.
Definition qgis.h:794
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:201
QFlags< SldExportOption > SldExportOptions
Definition qgis.h:512
SymbolCoordinateReference
Symbol coordinate reference modes.
Definition qgis.h:2733
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3039
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:4815
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
Definition qgis.h:5054
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1428
InputControllerType
Input controller types.
Definition qgis.h:4546
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:2907
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1455
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:1987
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:3278
QFlags< MarkerLinePlacement > MarkerLinePlacements
Definition qgis.h:2693
CrsWktVariant
Coordinate reference system WKT formatting variants.
Definition qgis.h:2067
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:4872
AutoRefreshMode
Map layer automatic refresh modes.
Definition qgis.h:1931
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3050
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1391
SettingsOrigin
The setting origin describes where a setting is stored.
Definition qgis.h:3876
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3193
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:921
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:4716
QFlags< LayerFilter > LayerFilters
Definition qgis.h:151
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:3265
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:2301
TextComponent
Text components.
Definition qgis.h:2500
DateTimeStatistic
Available date/time statistics.
Definition qgis.h:5038
AnimationState
Animation states.
Definition qgis.h:2169
TransformDirection
Indicates the direction (forward or inverse) of a transform.
Definition qgis.h:2289
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:3569
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3153
QFlags< HistoryProviderBackend > HistoryProviderBackends
Definition qgis.h:2989
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition qgis.h:969
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1406
UpsideDownLabelHandling
Handling techniques for upside down labels.
Definition qgis.h:1077
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:1544
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3233
MapSettingsFlag
Flags which adjust the way maps are rendered.
Definition qgis.h:2321
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
Definition qgis.h:853
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
Definition qgis.h:3102
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1441
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.
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.
Represent settings entry and provides methods for reading and writing settings values.
RAII signal blocking class.
Definition qgis.h:5329
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:5347
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:5336
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:355
@ 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:5960
const double DEFAULT_LINE_WIDTH
Definition qgis.h:5998
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:5852
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:5675
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:5382
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:5539
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:5656
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:5714
const long GEO_EPSG_CRS_ID
Magic number for a geographic coord sys in EpsgCrsId ID format.
Definition qgis.h:5984
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:5522
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:5736
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:6013
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:5639
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference)
Definition qgis.h:5476
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:5556
const QList< T > qgsEnumList()
Returns a list all enum entries.
Definition qgis.h:5622
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:5506
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
Definition qgis.h:5465
CONSTLATIN1STRING geoProj4()
PROJ4 string that represents a geographic coord sys.
Definition qgis.h:5948
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:5427
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:5369
const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition qgis.h:6001
QMap< QString, QString > QgsStringMap
Definition qgis.h:6003
#define CONSTLATIN1STRING
Definition qgis.h:5901
CONSTLATIN1STRING geoWkt()
Wkt string that represents a geographic coord sys.
Definition qgis.h:5940
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:5482
const int USER_CRS_START_ID
Magick number that determines whether a projection crsid is a system (srs.db) or user (~/....
Definition qgis.h:5990
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:5447
const long GEOSRID
Magic number for a geographic coord sys in POSTGIS SRID.
Definition qgis.h:5978
#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:5866
CONSTLATIN1STRING geoEpsgCrsAuthId()
Geographic coord sys from EPSG authority.
Definition qgis.h:5954
const long GEOCRS_ID
Magic number for a geographic coord sys in QGIS srs.db tbl_srs.srs_id.
Definition qgis.h:5981
const double DEFAULT_POINT_SIZE
Magic number that determines the default point size for point symbols.
Definition qgis.h:5997
#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