QGIS API Documentation 3.38.0-Grenoble (exported)
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 = 2,
581 };
582 Q_ENUM( SymbolRenderHint )
585 Q_FLAG( SymbolRenderHints )
586
592 enum class SymbolRotationMode : int
593 {
594 RespectMapRotation,
595 IgnoreMapRotation,
596 };
597 Q_ENUM( SymbolRotationMode )
598
599
604 enum class SymbolFlag : int SIP_ENUM_BASETYPE( IntFlag )
605 {
606 RendererShouldUseSymbolLevels = 1 << 0,
607 };
608 Q_ENUM( SymbolFlag )
610 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
611 Q_FLAG( SymbolFlags )
612
619 {
620 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
621 };
622 Q_ENUM( SymbolPreviewFlag )
625 Q_FLAG( SymbolPreviewFlags )
626
636 enum class SymbolLayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
637 {
638 DisableFeatureClipping = 1 << 0,
639 };
640 Q_ENUM( SymbolLayerFlag )
643 Q_FLAG( SymbolLayerFlags )
644
654 enum class SymbolLayerUserFlag : int SIP_ENUM_BASETYPE( IntFlag )
655 {
656 DisableSelectionRecoloring = 1 << 0,
657 };
658 Q_ENUM( SymbolLayerUserFlag )
659
660
666 Q_FLAG( SymbolLayerUserFlags )
667
674 {
675 Collection,
676 Directory,
677 Layer,
678 Error,
679 Favorites,
680 Project,
681 Custom,
682 Fields,
683 Field,
684 };
685 Q_ENUM( BrowserItemType )
686
687
693 {
694 NotPopulated,
695 Populating,
696 Populated,
697 };
698 Q_ENUM( BrowserItemState )
699
700
706 {
707 NoCapabilities = 0,
708 SetCrs = 1 << 0,
709 Fertile = 1 << 1,
710 Fast = 1 << 2,
711 Collapse = 1 << 3,
712 Rename = 1 << 4,
713 Delete = 1 << 5,
714 ItemRepresentsFile = 1 << 6,
715 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
716 };
717 Q_ENUM( BrowserItemCapability )
721
730 {
731 NoCapabilities SIP_MONKEYPATCH_COMPAT_NAME( NoDataCapabilities ) = 0,
732 Files SIP_MONKEYPATCH_COMPAT_NAME( File ) = 1,
733 Directories SIP_MONKEYPATCH_COMPAT_NAME( Dir ) = 1 << 1,
734 Databases SIP_MONKEYPATCH_COMPAT_NAME( Database ) = 1 << 2,
735 NetworkSources SIP_MONKEYPATCH_COMPAT_NAME( Net ) = 1 << 3,
736 };
737 Q_ENUM( DataItemProviderCapability )
738
739
748
755 {
756 NoType,
757 Vector,
758 Raster,
759 Point,
760 Line,
761 Polygon,
762 TableLayer,
763 Database,
764 Table,
765 Plugin,
766 Mesh,
767 VectorTile,
768 PointCloud,
769 TiledScene,
770 };
771 Q_ENUM( BrowserLayerType )
772
773
779 {
780 Default,
781 NeverMonitor,
782 AlwaysMonitor,
783 };
784 Q_ENUM( BrowserDirectoryMonitoring )
785
786
790 enum class HttpMethod : int
791 {
792 Get = 0,
793 Post = 1
794 };
795 Q_ENUM( HttpMethod )
796
797
803 {
804 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
805 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
806 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
807 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
808 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
809 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
810 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
811 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
812 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
813 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
814 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
815 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
816 };
817 Q_ENUM( VectorExportResult )
818
819
824 {
825 FieldAliases = 1 << 0,
826 FieldComments = 1 << 2,
827 };
828 Q_ENUM( VectorFileWriterCapability )
829
830
836
842 {
843 SubsetStringFilter = 1 << 1,
844 GeometryColumn = 1 << 2,
845 PrimaryKeys = 1 << 3,
846 UnstableFeatureIds = 1 << 4
847 };
848 Q_ENUM( SqlLayerDefinitionCapability )
852
858 enum class SqlKeywordCategory : int
859 {
860 Keyword,
861 Constant,
862 Function,
863 Geospatial,
864 Operator,
865 Math,
866 Aggregate,
867 String,
868 Identifier
869 };
870 Q_ENUM( SqlKeywordCategory )
871
872
876 enum class DriveType : int
877 {
878 Unknown,
879 Invalid,
880 Removable,
881 Fixed,
882 Remote,
883 CdRom,
884 RamDisk,
885 Cloud,
886 };
887 Q_ENUM( DriveType )
888
889
894 {
895 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
896 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
897 };
898 Q_ENUM( ActionStart )
899
900
905 enum class UnplacedLabelVisibility : int
906 {
907 FollowEngineSetting,
908 NeverShow,
909 };
910 Q_ENUM( UnplacedLabelVisibility )
911
912
917 enum class LabelOverlapHandling : int
918 {
919 PreventOverlap,
920 AllowOverlapIfRequired,
921 AllowOverlapAtNoCost,
922 };
923 Q_ENUM( LabelOverlapHandling )
924
925
930 enum class LabelPrioritization : int
931 {
932 PreferCloser,
933 PreferPositionOrdering,
934 };
935 Q_ENUM( LabelPrioritization )
936
937
945 {
946 AroundPoint,
947 OverPoint,
948 Line,
949 Curved,
950 Horizontal,
951 Free,
952 OrderedPositionsAroundPoint,
953 PerimeterCurved,
954 OutsidePolygons,
955 };
956 Q_ENUM( LabelPlacement )
957
958
966 {
967 TopLeft,
968 TopSlightlyLeft,
969 TopMiddle,
970 TopSlightlyRight,
971 TopRight,
972 MiddleLeft,
973 MiddleRight,
974 BottomLeft,
975 BottomSlightlyLeft,
976 BottomMiddle,
977 BottomSlightlyRight,
978 BottomRight,
979 OverPoint,
980 };
981 Q_ENUM( LabelPredefinedPointPosition )
982
983
992 {
993 FromPoint,
994 FromSymbolBounds,
995 };
996 Q_ENUM( LabelOffsetType )
997
998
1006 {
1007 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
1008 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
1009 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
1010 Left SIP_MONKEYPATCH_COMPAT_NAME( QuadrantLeft ),
1011 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
1012 Right SIP_MONKEYPATCH_COMPAT_NAME( QuadrantRight ),
1013 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
1014 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
1015 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
1016 };
1017 Q_ENUM( LabelQuadrantPosition )
1018
1019
1026 {
1027 OnLine = 1,
1028 AboveLine = 2,
1029 BelowLine = 4,
1030 MapOrientation = 8,
1031 };
1032 Q_ENUM( LabelLinePlacementFlag )
1033
1034
1042 Q_FLAG( LabelLinePlacementFlags )
1043
1051 {
1052 AllowPlacementOutsideOfPolygon = 1 << 0,
1053 AllowPlacementInsideOfPolygon = 1 << 1,
1054 };
1055 Q_ENUM( LabelPolygonPlacementFlag )
1056
1057
1065
1074 {
1075 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
1076 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
1077 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
1078 };
1079 Q_ENUM( UpsideDownLabelHandling )
1080
1081
1089 {
1090 Left SIP_MONKEYPATCH_COMPAT_NAME( MultiLeft ) = 0,
1091 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
1092 Right SIP_MONKEYPATCH_COMPAT_NAME( MultiRight ),
1093 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
1094 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
1095 };
1096 Q_ENUM( LabelMultiLineAlignment )
1097
1098
1105 {
1106 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
1107 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1108 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1109 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1110 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1111 VectorTile,
1112 TiledScene,
1113 };
1114 Q_ENUM( FileFilterType )
1115
1116
1121 enum class SublayerQueryFlag : int SIP_ENUM_BASETYPE( IntFlag )
1122 {
1123 FastScan = 1 << 0,
1124 ResolveGeometryType = 1 << 1,
1125 CountFeatures = 1 << 2,
1126 IncludeSystemTables = 1 << 3,
1127 };
1130 Q_ENUM( SublayerQueryFlag )
1131 Q_FLAG( SublayerQueryFlags )
1132
1133
1138 enum class SublayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
1139 {
1140 SystemTable = 1 << 0,
1141 };
1143 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1144 Q_ENUM( SublayerFlag )
1145 Q_FLAG( SublayerFlags )
1146
1147
1155 {
1156 Linear SIP_MONKEYPATCH_COMPAT_NAME( Interpolated ) = 0,
1157 Discrete = 1,
1158 Exact = 2,
1159 };
1160 Q_ENUM( ShaderInterpolationMethod )
1161
1162
1170 {
1171 Continuous = 1,
1172 EqualInterval = 2,
1173 Quantile = 3,
1174 };
1175 Q_ENUM( ShaderClassificationMethod )
1176
1177
1183 {
1184 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1185 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1186 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1187 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1188 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1189 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1190 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1191 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1192 };
1193 Q_ENUM( RasterPipeInterfaceRole )
1194
1195
1200 {
1202 ResampleFilter,
1204 Provider
1205 };
1206 Q_ENUM( RasterResamplingStage )
1207
1208
1213 enum class RasterRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
1214 {
1215 InternalLayerOpacityHandling = 1 << 0,
1216 UseNoDataForOutOfRangePixels = 1 << 1,
1217 };
1218
1225
1226 Q_ENUM( RasterRendererFlag )
1227 Q_FLAG( RasterRendererFlags )
1228
1229
1235 {
1236 UsesMultipleBands = 1 << 0,
1237 };
1238 Q_ENUM( RasterRendererCapability )
1239
1240
1247
1254 {
1255 Generic = 0,
1256 PixelCount = 1,
1257 Name = 2,
1258 Min = 3,
1259 Max = 4,
1260 MinMax = 5,
1261 Red = 6,
1262 Green = 7,
1263 Blue = 8,
1264 Alpha = 9,
1265 RedMin = 10,
1266 GreenMin = 11,
1267 BlueMin = 12,
1268 AlphaMin = 13,
1269 RedMax = 14,
1270 GreenMax = 15,
1271 BlueMax = 16,
1272 AlphaMax = 17,
1273 MaxCount
1274 };
1275 Q_ENUM( RasterAttributeTableFieldUsage )
1276
1277
1283 {
1284 Thematic = 0,
1285 Athematic = 1
1286 };
1287 Q_ENUM( RasterAttributeTableType )
1288
1289
1296 {
1297 Raw = 0,
1298 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1299 };
1300 Q_ENUM( RasterExportType )
1301
1302
1309 {
1310 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
1311 SourceProviderError = 1,
1312 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1313 CreateDatasourceError = 3,
1314 WriteError = 4,
1315 NoDataConflict = 5,
1316 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1317 };
1318 Q_ENUM( RasterFileWriterResult )
1319
1320
1325 enum class MeshEditingErrorType : int
1326 {
1327 NoError,
1328 InvalidFace,
1329 TooManyVerticesInFace,
1330 FlatFace,
1331 UniqueSharedVertex,
1332 InvalidVertex,
1333 ManifoldFace,
1334 };
1335 Q_ENUM( MeshEditingErrorType )
1336
1337
1342 enum class FilePathType : int
1343 {
1344 Absolute,
1345 Relative,
1346 };
1347 Q_ENUM( FilePathType )
1348
1349
1354 enum class SublayerPromptMode : int
1355 {
1356 AlwaysAsk,
1357 AskExcludingRasterBands,
1358 NeverAskSkip,
1359 NeverAskLoadAll,
1360 };
1361 Q_ENUM( SublayerPromptMode )
1362
1363
1371 {
1372 Unknown SIP_MONKEYPATCH_COMPAT_NAME( OriginUnknown ),
1373 Provider SIP_MONKEYPATCH_COMPAT_NAME( OriginProvider ),
1374 Join SIP_MONKEYPATCH_COMPAT_NAME( OriginJoin ),
1375 Edit SIP_MONKEYPATCH_COMPAT_NAME( OriginEdit ),
1376 Expression SIP_MONKEYPATCH_COMPAT_NAME( OriginExpression )
1377 };
1378 Q_ENUM( FieldOrigin )
1379
1380
1387 enum class FieldConfigurationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1388 {
1389 NoFlag = 0,
1390 NotSearchable = 1 << 1,
1391 HideFromWms = 1 << 2,
1392 HideFromWfs = 1 << 3,
1393 };
1394 Q_ENUM( FieldConfigurationFlag )
1395
1396
1404 Q_FLAG( FieldConfigurationFlags )
1405
1411 enum class FieldMetadataProperty : int
1412 {
1413 GeometryCrs = 0x1000,
1414 GeometryWkbType = 0x1001,
1415 CustomProperty = 0x100000,
1416 };
1417 Q_ENUM( FieldMetadataProperty )
1418
1419
1424 enum class SelectionRenderingMode : int
1425 {
1426 Default,
1427 CustomColor,
1428 CustomSymbol,
1429 };
1430 Q_ENUM( SelectionRenderingMode )
1431
1432
1438 {
1439 SetSelection,
1440 AddToSelection,
1441 IntersectSelection,
1442 RemoveFromSelection,
1443 };
1444 Q_ENUM( SelectBehavior )
1445
1446
1452 {
1453 Intersect,
1454 Within,
1455 };
1456 Q_ENUM( SelectGeometryRelationship )
1457
1458
1463 enum class SelectionFlag : int SIP_ENUM_BASETYPE( IntFlag )
1464 {
1465 SingleFeatureSelection = 1 << 0,
1466 ToggleSelection = 1 << 1,
1467 };
1468
1474 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1475
1476 Q_ENUM( SelectionFlag )
1477 Q_FLAG( SelectionFlags )
1478
1479
1485 {
1486 Success = 0,
1487 EmptyGeometry = 1,
1488 EditFailed = 2,
1489 FetchFeatureFailed = 3,
1490 InvalidLayer = 4,
1491 };
1492 Q_ENUM( VectorEditResult )
1493
1494
1500 {
1501 SemiTransparentCircle,
1502 Cross,
1503 NoMarker,
1504 };
1505 Q_ENUM( VertexMarkerType )
1506
1507
1511 enum class ContentStatus : int
1512 {
1513 NotStarted,
1514 Running,
1515 Finished,
1516 Failed,
1517 Canceled,
1518 };
1519 Q_ENUM( ContentStatus )
1520
1521
1526 enum class GpsConnectionType : int
1527 {
1528 Automatic,
1529 Internal,
1530 Serial,
1531 Gpsd,
1532 };
1533 Q_ENUM( GpsConnectionType )
1534
1535
1540 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
1541 {
1542 Disconnected,
1543 Connecting,
1544 Connected,
1545 };
1546 Q_ENUM( DeviceConnectionStatus )
1547
1548
1556 {
1557 NoData,
1558 NoFix,
1559 Fix2D,
1560 Fix3D
1561 };
1563
1564
1571 {
1572 Unknown,
1573 Gps,
1574 Glonass,
1575 Galileo,
1576 BeiDou,
1577 Qzss,
1578 Navic,
1579 Sbas,
1580 };
1582
1589 {
1590 Unknown = -1,
1591 Invalid,
1592 GPS,
1593 DGPS,
1594 PPS,
1595 RTK,
1596 FloatRTK,
1597 Estimated,
1598 Manual,
1599 Simulation,
1600 };
1601 Q_ENUM( GpsQualityIndicator )
1602
1603
1608 enum class GpsNavigationStatus : int
1609 {
1610 NotValid,
1611 Safe,
1612 Caution,
1613 Unsafe,
1614 };
1616
1622 enum class GpsInformationComponent : int SIP_ENUM_BASETYPE( IntFlag )
1623 {
1624 Location = 1 << 0,
1625 Altitude = 1 << 1,
1626 GroundSpeed = 1 << 2,
1627 Bearing = 1 << 3,
1628 TotalTrackLength = 1 << 4,
1629 TrackDistanceFromStart = 1 << 5,
1630 Pdop = 1 << 6,
1631 Hdop = 1 << 7,
1632 Vdop = 1 << 8,
1633 HorizontalAccuracy = 1 << 9,
1634 VerticalAccuracy = 1 << 10,
1635 HvAccuracy = 1 << 11,
1636 SatellitesUsed = 1 << 12,
1637 Timestamp = 1 << 13,
1638 TrackStartTime = 1 << 14,
1639 TrackEndTime = 1 << 15,
1640 TrackDistanceSinceLastPoint = 1 << 16,
1641 TrackTimeSinceLastPoint = 1 << 17,
1642 GeoidalSeparation = 1 << 18,
1643 EllipsoidAltitude = 1 << 19,
1644 };
1645
1652 Q_ENUM( GpsInformationComponent )
1653 Q_FLAG( GpsInformationComponents )
1654
1655
1660 enum class BabelFormatCapability : int SIP_ENUM_BASETYPE( IntFlag )
1661 {
1662 Import = 1 << 0,
1663 Export = 1 << 1,
1664 Waypoints = 1 << 2,
1665 Routes = 1 << 3,
1666 Tracks = 1 << 4,
1667 };
1670 Q_ENUM( BabelFormatCapability )
1671 Q_FLAG( BabelFormatCapabilities )
1672
1673
1679 enum class BabelCommandFlag : int SIP_ENUM_BASETYPE( IntFlag )
1680 {
1681 QuoteFilePaths = 1 << 0,
1682 };
1685 Q_ENUM( BabelCommandFlag )
1686 Q_FLAG( BabelCommandFlags )
1687
1688
1693 enum class GpsFeatureType : int
1694 {
1695 Waypoint,
1696 Route,
1697 Track,
1698 };
1699 Q_ENUM( GpsFeatureType )
1700
1701
1709 {
1710 Success = 0,
1711 NothingHappened = 1000,
1712 InvalidBaseGeometry,
1713 InvalidInputGeometryType,
1714 SelectionIsEmpty,
1715 SelectionIsGreaterThanOne,
1716 GeometryEngineError,
1717 LayerNotEditable,
1718 // Add part issues
1719 AddPartSelectedGeometryNotFound,
1720 AddPartNotMultiGeometry,
1721 // Add ring issues
1722 AddRingNotClosed,
1723 AddRingNotValid,
1724 AddRingCrossesExistingRings,
1725 AddRingNotInExistingFeature,
1726 // Split features
1727 SplitCannotSplitPoint,
1728 GeometryTypeHasChanged,
1729 };
1730 Q_ENUM( GeometryOperationResult )
1731
1732
1738 {
1739 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles ) = 1 << 0,
1740 };
1743 Q_ENUM( GeometryValidityFlag )
1744 Q_FLAG( GeometryValidityFlags )
1745
1746
1751 {
1752 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
1753 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
1754 };
1755 Q_ENUM( GeometryValidationEngine )
1756
1757
1767 Q_ENUM( BufferSide )
1768
1769
1775 {
1776 Round SIP_MONKEYPATCH_COMPAT_NAME( CapRound ) = 1,
1777 Flat SIP_MONKEYPATCH_COMPAT_NAME( CapFlat ),
1778 Square SIP_MONKEYPATCH_COMPAT_NAME( CapSquare ),
1779 };
1780 Q_ENUM( EndCapStyle )
1781
1782
1788 {
1789 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
1790 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
1791 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
1792 };
1793 Q_ENUM( JoinStyle )
1794
1795
1800 enum class CoverageValidityResult : int
1801 {
1802 Invalid = 0,
1803 Valid = 1,
1804 Error = 2,
1805 };
1806 Q_ENUM( CoverageValidityResult )
1807
1808
1813 enum class MakeValidMethod : int
1814 {
1815 Linework = 0,
1816 Structure = 1,
1817 };
1818 Q_ENUM( MakeValidMethod )
1819
1820
1828 {
1829 NoFlags = 0,
1830 NoGeometry = 1,
1831 SubsetOfAttributes = 2,
1832 ExactIntersect = 4,
1833 IgnoreStaticNodesDuringExpressionCompilation = 8,
1834 EmbeddedSymbols = 16,
1835 };
1836 Q_ENUM( FeatureRequestFlag )
1837
1838
1846 Q_FLAG( FeatureRequestFlags )
1847
1856 {
1857 NoFilter SIP_MONKEYPATCH_COMPAT_NAME( FilterNone ),
1858 Fid SIP_MONKEYPATCH_COMPAT_NAME( FilterFid ),
1859 Expression SIP_MONKEYPATCH_COMPAT_NAME( FilterExpression ),
1860 Fids SIP_MONKEYPATCH_COMPAT_NAME( FilterFids )
1861 };
1862 Q_ENUM( FeatureRequestFilterType )
1863
1864
1872 {
1873 NoCheck SIP_MONKEYPATCH_COMPAT_NAME( GeometryNoCheck ) = 0,
1874 SkipInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometrySkipInvalid ) = 1,
1875 AbortOnInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometryAbortOnInvalid ) = 2,
1876 };
1877 Q_ENUM( InvalidGeometryCheck )
1878
1879
1884 enum class SpatialFilterType : int
1885 {
1886 NoFilter,
1887 BoundingBox,
1888 DistanceWithin,
1889 };
1890 Q_ENUM( SpatialFilterType )
1891
1892
1897 enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1898 {
1899 IncludeMetadataFile = 1 << 0,
1900 IncludeStyleFile = 1 << 1,
1901 };
1904 Q_ENUM( FileOperationFlag )
1905 Q_FLAG( FileOperationFlags )
1906
1907
1912 enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
1913 {
1914 UsersCannotToggleEditing = 1 << 0,
1915 IsBasemapLayer = 1 << 1,
1916 };
1919 Q_ENUM( MapLayerProperty )
1920 Q_FLAG( MapLayerProperties )
1921
1922
1927 enum class AutoRefreshMode : int
1928 {
1929 Disabled = 0,
1930 ReloadData = 1,
1931 RedrawOnly = 2,
1932 };
1933 Q_ENUM( AutoRefreshMode )
1934
1935
1940 enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
1941 {
1942 IsBasemapSource = 1 << 1,
1943 FastExtent2D = 1 << 2,
1944 FastExtent3D = 1 << 3,
1945 };
1948 Q_ENUM( DataProviderFlag )
1949 Q_FLAG( DataProviderFlags )
1950
1951
1958 enum class CrsType : int
1959 {
1960 Unknown,
1961 Geodetic,
1962 Geocentric,
1963 Geographic2d,
1964 Geographic3d,
1965 Vertical,
1966 Projected,
1967 Compound,
1968 Temporal,
1969 Engineering,
1970 Bound,
1971 Other,
1972 DerivedProjected,
1973 };
1974 Q_ENUM( CrsType )
1975
1976
1983 enum class CrsAxisDirection : int
1984 {
1985 North,
1986 NorthNorthEast,
1987 NorthEast,
1988 EastNorthEast,
1989 East,
1990 EastSouthEast,
1991 SouthEast,
1992 SouthSouthEast,
1993 South,
1994 SouthSouthWest,
1995 SouthWest,
1996 WestSouthWest,
1997 West,
1998 WestNorthWest,
1999 NorthWest,
2000 NorthNorthWest,
2001 GeocentricX,
2002 GeocentricY,
2003 GeocentricZ,
2004 Up,
2005 Down,
2006 Forward,
2007 Aft,
2008 Port,
2009 Starboard,
2010 Clockwise,
2011 CounterClockwise,
2012 ColumnPositive,
2013 ColumnNegative,
2014 RowPositive,
2015 RowNegative,
2016 DisplayRight,
2017 DisplayLeft,
2018 DisplayUp,
2019 DisplayDown,
2020 Future,
2021 Past,
2022 Towards,
2023 AwayFrom,
2024 Unspecified,
2025 };
2026 Q_ENUM( CrsAxisDirection )
2027
2028
2033 enum class CoordinateOrder : int
2034 {
2035 Default,
2036 XY,
2037 YX,
2038 };
2039 Q_ENUM( CoordinateOrder )
2040
2041
2049 {
2050 ShortString,
2051 MediumString,
2052 FullString,
2053 };
2054 Q_ENUM( CrsIdentifierType )
2055
2056
2064 {
2065 Wkt1Gdal SIP_MONKEYPATCH_COMPAT_NAME( WKT1_GDAL ),
2066 Wkt1Esri SIP_MONKEYPATCH_COMPAT_NAME( WKT1_ESRI ),
2067 Wkt2_2015 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015 ),
2068 Wkt2_2015Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015_SIMPLIFIED ),
2069 Wkt2_2019 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019 ),
2070 Wkt2_2019Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019_SIMPLIFIED ),
2071 Preferred SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED ) = Wkt2_2019,
2072 PreferredSimplified SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_SIMPLIFIED ) = Wkt2_2019Simplified,
2073 PreferredGdal SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_GDAL ) = Wkt2_2019,
2074 };
2075 Q_ENUM( CrsWktVariant )
2076
2077
2082 enum class Axis : int
2083 {
2084 X,
2085 Y,
2086 Z
2087 };
2088 Q_ENUM( Axis )
2089
2090
2095 enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
2096 {
2097 ScaleDependentBoundingBox = 1 << 0,
2098 };
2101 Q_ENUM( AnnotationItemFlag )
2102 Q_FLAG( AnnotationItemFlags )
2103
2104
2109 enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
2110 {
2111 FlagNoCreationTools = 1 << 0,
2112 };
2115 Q_ENUM( AnnotationItemGuiFlag )
2116 Q_FLAG( AnnotationItemGuiFlags )
2117
2118
2123 enum class AnnotationItemNodeType : int
2124 {
2125 VertexHandle,
2126 };
2127 Q_ENUM( AnnotationItemNodeType )
2128
2129
2135 {
2136 Success,
2137 Invalid,
2138 ItemCleared,
2139 };
2140 Q_ENUM( AnnotationItemEditOperationResult )
2141
2142
2150 {
2151 Disabled SIP_MONKEYPATCH_COMPAT_NAME( NavigationOff ),
2152 Animated,
2153 FixedRange,
2154 Movie,
2155 };
2156 Q_ENUM( TemporalNavigationMode )
2157
2158
2166 {
2167 Forward,
2168 Reverse,
2169 Idle,
2170 };
2171 Q_ENUM( AnimationState )
2172
2173
2178 enum class PlaybackOperation : int
2179 {
2180 SkipToStart,
2181 PreviousFrame,
2182 PlayReverse,
2183 Pause,
2184 PlayForward,
2185 NextFrame,
2186 SkipToEnd,
2187 };
2188 Q_ENUM( PlaybackOperation )
2189
2190
2196 {
2197 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2198 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
2199 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
2200 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
2201 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
2202 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ),
2203 };
2204 Q_ENUM( VectorTemporalMode )
2205
2206
2212 {
2213 IncludeBeginExcludeEnd = 0,
2214 IncludeBeginIncludeEnd,
2215 };
2216 Q_ENUM( VectorTemporalLimitMode )
2217
2218
2224 {
2225 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
2226 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
2227 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2228 };
2229 Q_ENUM( VectorDataProviderTemporalMode )
2230
2231
2237 {
2238 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2239 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
2240 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ) = 2,
2241 FixedRangePerBand = 3,
2242 RepresentsTemporalValues = 4,
2243 };
2244 Q_ENUM( RasterTemporalMode )
2245
2246
2252 {
2253 MatchUsingWholeRange,
2254 MatchExactUsingStartOfRange,
2255 MatchExactUsingEndOfRange,
2256 FindClosestMatchToStartOfRange,
2257 FindClosestMatchToEndOfRange
2258 };
2259 Q_ENUM( TemporalIntervalMatchMethod )
2260
2261
2267 {
2268 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
2269 };
2270 Q_ENUM( RasterTemporalCapabilityFlag )
2271
2272
2279
2286 {
2287 Forward SIP_MONKEYPATCH_COMPAT_NAME( ForwardTransform ),
2288 Reverse SIP_MONKEYPATCH_COMPAT_NAME( ReverseTransform )
2289 };
2290 Q_ENUM( TransformDirection )
2291
2292
2298 {
2299 BallparkTransformsAreAppropriate = 1 << 0,
2300 IgnoreImpossibleTransformations = 1 << 1,
2301 };
2302 Q_ENUM( CoordinateTransformationFlag )
2303
2304
2311
2318 {
2319 Antialiasing = 0x01,
2320 DrawEditingInfo = 0x02,
2321 ForceVectorOutput = 0x04,
2322 UseAdvancedEffects = 0x08,
2323 DrawLabeling = 0x10,
2324 UseRenderingOptimization = 0x20,
2325 DrawSelection = 0x40,
2326 DrawSymbolBounds = 0x80,
2327 RenderMapTile = 0x100,
2328 RenderPartialOutput = 0x200,
2329 RenderPreviewJob = 0x400,
2330 RenderBlocking = 0x800,
2331 LosslessImageRendering = 0x1000,
2332 Render3DMap = 0x2000,
2333 HighQualityImageTransforms = 0x4000,
2334 SkipSymbolRendering = 0x8000,
2335 ForceRasterMasks = 0x10000,
2336 RecordProfile = 0x20000,
2337 };
2340 Q_ENUM( MapSettingsFlag )
2341 Q_FLAG( MapSettingsFlags )
2342
2343
2349 {
2350 DrawEditingInfo = 0x01,
2351 ForceVectorOutput = 0x02,
2352 UseAdvancedEffects = 0x04,
2353 UseRenderingOptimization = 0x08,
2354 DrawSelection = 0x10,
2355 DrawSymbolBounds = 0x20,
2356 RenderMapTile = 0x40,
2357 Antialiasing = 0x80,
2358 RenderPartialOutput = 0x100,
2359 RenderPreviewJob = 0x200,
2360 RenderBlocking = 0x400,
2361 RenderSymbolPreview = 0x800,
2362 LosslessImageRendering = 0x1000,
2363 ApplyScalingWorkaroundForTextRendering = 0x2000,
2364 Render3DMap = 0x4000,
2365 ApplyClipAfterReprojection = 0x8000,
2366 RenderingSubSymbol = 0x10000,
2367 HighQualityImageTransforms = 0x20000,
2368 SkipSymbolRendering = 0x40000,
2369 RecordProfile = 0x80000,
2370 };
2373 Q_ENUM( RenderContextFlag )
2374 Q_FLAG( RenderContextFlags )
2375
2376
2381 enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2382 {
2383 RenderPartialOutputs = 1 << 0,
2384 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2385 };
2386 Q_ENUM( MapLayerRendererFlag )
2387
2388
2394 Q_FLAG( MapLayerRendererFlags )
2395
2396 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
2397 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
2398
2404 {
2405 AlwaysOutlines SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysOutlines ),
2406 AlwaysText SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysText ),
2407 };
2408 Q_ENUM( TextRenderFormat )
2409
2410
2418 {
2419 UseAllLabels = 1 << 1,
2420 UsePartialCandidates = 1 << 2,
2421 // TODO QGIS 4.0: remove
2422 RenderOutlineLabels = 1 << 3,
2423 DrawLabelRectOnly = 1 << 4,
2424 DrawCandidates = 1 << 5,
2425 DrawUnplacedLabels = 1 << 6,
2426 CollectUnplacedLabels = 1 << 7,
2427 DrawLabelMetrics = 1 << 8,
2428 };
2429 Q_ENUM( LabelingFlag )
2430
2431
2439 Q_FLAG( LabelingFlags )
2440
2449 {
2450 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
2451 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
2452 };
2453 Q_ENUM( LabelPlacementEngineVersion )
2454
2455
2463 {
2464 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
2465 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
2466 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
2467 };
2468 Q_ENUM( TextOrientation )
2469
2470
2478 {
2479 Rectangle SIP_MONKEYPATCH_COMPAT_NAME( Rect ),
2480 Point,
2481 Labeling SIP_MONKEYPATCH_COMPAT_NAME( Label ),
2482 RectangleCapHeightBased,
2483 RectangleAscentBased,
2484 };
2485 Q_ENUM( TextLayoutMode )
2486
2487
2495 {
2496 Text,
2497 Buffer,
2498 Background,
2499 Shadow,
2500 };
2501 Q_ENUM( TextComponent )
2502
2503
2511 {
2512 Left SIP_MONKEYPATCH_COMPAT_NAME( AlignLeft ),
2513 Center SIP_MONKEYPATCH_COMPAT_NAME( AlignCenter ),
2514 Right SIP_MONKEYPATCH_COMPAT_NAME( AlignRight ),
2515 Justify SIP_MONKEYPATCH_COMPAT_NAME( AlignJustify ),
2516 };
2517 Q_ENUM( TextHorizontalAlignment )
2518
2519
2530 {
2531 Top SIP_MONKEYPATCH_COMPAT_NAME( AlignTop ),
2532 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
2533 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
2534 };
2535 Q_ENUM( TextVerticalAlignment )
2536
2537
2546 {
2547 Normal,
2548 SuperScript,
2549 SubScript,
2550 };
2551 Q_ENUM( TextCharacterVerticalAlignment )
2552
2553
2561 {
2562 Distance = 0,
2563 SnapToGrid = 1,
2564 Visvalingam = 2,
2565 SnappedToGridGlobal = 3,
2566 };
2567 Q_ENUM( VectorSimplificationAlgorithm )
2568
2569
2577 {
2578 NoSimplification = 0,
2579 GeometrySimplification = 1,
2580 AntialiasingSimplification = 2,
2581 FullSimplification = 3,
2582 };
2583 Q_ENUM( VectorRenderingSimplificationFlag )
2584
2585
2594
2601 {
2602 Generic,
2603 ShadowOffset,
2604 BlurSize,
2605 GlowSpread,
2606 };
2607 Q_ENUM( RenderSubcomponentProperty )
2608
2609
2614 {
2615 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
2616 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
2617 };
2618 Q_ENUM( VertexType )
2619
2620
2628 {
2629 Square,
2630 Diamond,
2631 Pentagon,
2632 Hexagon,
2633 Triangle,
2634 EquilateralTriangle,
2635 Star,
2636 Arrow,
2637 Circle,
2638 Cross,
2639 CrossFill,
2640 Cross2,
2641 Line,
2642 ArrowHead,
2643 ArrowHeadFilled,
2644 SemiCircle,
2645 ThirdCircle,
2646 QuarterCircle,
2647 QuarterSquare,
2648 HalfSquare,
2649 DiagonalHalfSquare,
2650 RightHalfTriangle,
2651 LeftHalfTriangle,
2652 Octagon,
2653 SquareWithCorners,
2654 AsteriskFill,
2655 HalfArc,
2656 ThirdArc,
2657 QuarterArc,
2658 ParallelogramRight,
2659 ParallelogramLeft,
2660 Trapezoid,
2661 Shield,
2662 DiamondStar,
2663 Heart,
2664 Decagon,
2665 RoundedSquare,
2666 };
2667 Q_ENUM( MarkerShape )
2668
2669
2677 {
2678 Interval = 1 << 0,
2679 Vertex = 1 << 1,
2680 LastVertex = 1 << 2,
2681 FirstVertex = 1 << 3,
2682 CentralPoint = 1 << 4,
2683 CurvePoint = 1 << 5,
2684 SegmentCenter = 1 << 6,
2685 InnerVertices = 1 << 7,
2686 };
2687 Q_ENUM( MarkerLinePlacement )
2689 Q_FLAG( MarkerLinePlacements )
2690
2699 {
2700 SimpleTwoColor,
2701 ColorRamp,
2702 };
2703 Q_ENUM( GradientColorSource )
2704
2705
2713 {
2714 Linear,
2715 Radial,
2716 Conical,
2717 };
2718 Q_ENUM( GradientType )
2719
2720
2728 {
2729 Feature,
2730 Viewport,
2731 };
2732 Q_ENUM( SymbolCoordinateReference )
2733
2734
2743 {
2744 Pad,
2745 Reflect,
2746 Repeat,
2747 };
2748 Q_ENUM( GradientSpread )
2749
2750
2758 {
2759 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
2760 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
2761 };
2762 Q_ENUM( PointCountMethod )
2763
2764
2769 enum class MarkerClipMode : int
2770 {
2771 NoClipping,
2772 Shape,
2773 CentroidWithin,
2774 CompletelyWithin,
2775 };
2776 Q_ENUM( MarkerClipMode )
2777
2778
2783 enum class LineClipMode : int
2784 {
2785 ClipPainterOnly,
2786 ClipToIntersection,
2787 NoClipping,
2788 };
2789 Q_ENUM( LineClipMode )
2790
2791
2797 {
2798 NoRule,
2799 FullDash,
2800 HalfDash,
2801 FullGap,
2802 HalfGap,
2803 };
2804 Q_ENUM( DashPatternLineEndingRule )
2805
2806
2812 {
2813 ScaleBothDashAndGap,
2814 ScaleDashOnly,
2815 ScaleGapOnly,
2816 };
2817 Q_ENUM( DashPatternSizeAdjustment )
2818
2819
2827 {
2828 Color SIP_MONKEYPATCH_COMPAT_NAME( GraduatedColor ),
2829 Size SIP_MONKEYPATCH_COMPAT_NAME( GraduatedSize ),
2830 };
2831 Q_ENUM( GraduatedMethod )
2832
2833
2839 {
2840 NoLabels,
2841 EveryLabel,
2842 FirstLabel,
2843 LastLabel,
2844 FirstAndLastLabels,
2845 };
2846 Q_ENUM( PlotAxisSuffixPlacement )
2847
2848
2852 enum class DpiMode
2853 {
2854 All = 7,
2855 Off = 0,
2856 QGIS = 1,
2857 UMN = 2,
2858 GeoServer = 4,
2859 };
2860 Q_ENUM( DpiMode )
2861
2862
2867 {
2868 Undefined = 0,
2869 StandardDpi = 1,
2870 HighDpi = 2,
2871 };
2872 Q_ENUM( TilePixelRatio )
2873
2874 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
2875
2876
2884 {
2885 MixedCase = 0,
2886 AllUppercase = 1,
2887 AllLowercase = 2,
2888 ForceFirstLetterToCapital = 4,
2889 SmallCaps = 5,
2890 TitleCase = 1004,
2891 UpperCamelCase = 1005,
2892 AllSmallCaps = 1006,
2893 };
2894 Q_ENUM( Capitalization )
2895
2896
2901 enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2902 {
2903 WrapLines = 1 << 0,
2904 };
2905 Q_ENUM( TextRendererFlag )
2907 Q_FLAG( TextRendererFlags )
2908
2915 {
2916 MapBox,
2917 Esri,
2918 };
2920
2927 {
2928 Clockwise,
2929 CounterClockwise,
2930 NoOrientation,
2931 };
2932 Q_ENUM( AngularDirection )
2933
2934
2939 enum class RendererUsage : int
2940 {
2941 View,
2942 Export,
2943 Unknown,
2944 };
2945 Q_ENUM( RendererUsage )
2946
2947
2952 enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
2953 {
2954 Sync3DTo2D = 1 << 0,
2955 Sync2DTo3D = 1 << 1,
2956 };
2957 Q_ENUM( ViewSyncModeFlag )
2959
2966 {
2967 Always,
2968 WhenOutsideVisibleExtent,
2969 Never,
2970 };
2971 Q_ENUM( MapRecenteringMode )
2972
2973
2978 enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
2979 {
2980 LocalProfile = 1 << 0,
2981// Project = 1 << 1, //!< QGIS Project (not yet implemented)
2982 };
2983 Q_ENUM( HistoryProviderBackend )
2985 Q_FLAG( HistoryProviderBackends )
2986
2995 {
2996 MapLayer SIP_MONKEYPATCH_COMPAT_NAME( TypeMapLayer ) = -2,
2997 VectorAnyGeometry SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorAnyGeometry ) = -1,
2998 VectorPoint SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPoint ) = 0,
2999 VectorLine SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorLine ) = 1,
3000 VectorPolygon SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPolygon ) = 2,
3001 Raster SIP_MONKEYPATCH_COMPAT_NAME( TypeRaster ) = 3,
3002 File SIP_MONKEYPATCH_COMPAT_NAME( TypeFile ) = 4,
3003 Vector SIP_MONKEYPATCH_COMPAT_NAME( TypeVector ) = 5,
3004 Mesh SIP_MONKEYPATCH_COMPAT_NAME( TypeMesh ) = 6,
3005 Plugin SIP_MONKEYPATCH_COMPAT_NAME( TypePlugin ) = 7,
3006 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( TypePointCloud ) = 8,
3007 Annotation SIP_MONKEYPATCH_COMPAT_NAME( TypeAnnotation ) = 9,
3008 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorTile ) = 10
3009 };
3010 Q_ENUM( ProcessingSourceType )
3011
3012
3013
3021 {
3022 DeemphasiseSearchResults SIP_MONKEYPATCH_COMPAT_NAME( FlagDeemphasiseSearchResults ) = 1 << 1,
3023 CompatibleWithVirtualRaster SIP_MONKEYPATCH_COMPAT_NAME( FlagCompatibleWithVirtualRaster ) = 1 << 2,
3024 };
3026
3035 Q_FLAG( ProcessingProviderFlags )
3036
3037
3045 {
3046 HideFromToolbox SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromToolbox ) = 1 << 1,
3047 HideFromModeler SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromModeler ) = 1 << 2,
3048 SupportsBatch SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsBatch ) = 1 << 3,
3049 CanCancel SIP_MONKEYPATCH_COMPAT_NAME( FlagCanCancel ) = 1 << 4,
3050 RequiresMatchingCrs SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresMatchingCrs ) = 1 << 5,
3051 NoThreading SIP_MONKEYPATCH_COMPAT_NAME( FlagNoThreading ) = 1 << 6,
3052 DisplayNameIsLiteral SIP_MONKEYPATCH_COMPAT_NAME( FlagDisplayNameIsLiteral ) = 1 << 7,
3053 SupportsInPlaceEdits SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsInPlaceEdits ) = 1 << 8,
3054 KnownIssues SIP_MONKEYPATCH_COMPAT_NAME( FlagKnownIssues ) = 1 << 9,
3055 CustomException SIP_MONKEYPATCH_COMPAT_NAME( FlagCustomException ) = 1 << 10,
3056 PruneModelBranchesBasedOnAlgorithmResults SIP_MONKEYPATCH_COMPAT_NAME( FlagPruneModelBranchesBasedOnAlgorithmResults ) = 1 << 11,
3057 SkipGenericModelLogging SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGenericModelLogging ) = 1 << 12,
3058 NotAvailableInStandaloneTool SIP_MONKEYPATCH_COMPAT_NAME( FlagNotAvailableInStandaloneTool ) = 1 << 13,
3059 RequiresProject SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresProject ) = 1 << 14,
3060 Deprecated SIP_MONKEYPATCH_COMPAT_NAME( FlagDeprecated ) = HideFromToolbox | HideFromModeler,
3061 };
3063
3072 Q_FLAG( ProcessingAlgorithmFlags )
3073
3074
3083 {
3084 NotAvailable,
3085 Available,
3086 };
3087 Q_ENUM( ProcessingPropertyAvailability )
3088
3089
3097 {
3098 DefaultLevel = 0,
3099 Verbose,
3100 ModelDebug,
3101 };
3102 Q_ENUM( ProcessingLogLevel )
3103
3104
3112 {
3113 OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck ) = 1 << 0,
3114 CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature ) = 1 << 1,
3115 };
3116 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3117
3118
3127
3136 {
3137 SkipGeometryValidityChecks SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGeometryValidityChecks ) = 1 << 1,
3138 };
3139 Q_ENUM( ProcessingFeatureSourceFlag )
3140
3141
3150
3162 {
3163 ExposeToModeler = 1
3164 };
3165 Q_ENUM( ProcessingParameterTypeFlag )
3166
3167
3179
3188 {
3189 Advanced SIP_MONKEYPATCH_COMPAT_NAME( FlagAdvanced ) = 1 << 1,
3190 Hidden SIP_MONKEYPATCH_COMPAT_NAME( FlagHidden ) = 1 << 2,
3191 Optional SIP_MONKEYPATCH_COMPAT_NAME( FlagOptional ) = 1 << 3,
3192 IsModelOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagIsModelOutput ) = 1 << 4,
3193 };
3194 Q_ENUM( ProcessingParameterFlag )
3195
3196
3204 Q_FLAG( ProcessingParameterFlags )
3205
3214 {
3215 File = 0,
3216 Folder,
3217 };
3218 Q_ENUM( ProcessingFileParameterBehavior )
3219
3220
3228 {
3229 Integer,
3230 Double,
3231 };
3232 Q_ENUM( ProcessingNumberParameterType )
3233
3234
3242 {
3243 Any = -1,
3244 Numeric = 0,
3245 String = 1,
3246 DateTime = 2,
3247 Binary = 3,
3248 Boolean = 4,
3249 };
3250 Q_ENUM( ProcessingFieldParameterDataType )
3251
3252
3260 {
3261 DateTime,
3262 Date,
3263 Time,
3264 };
3265 Q_ENUM( ProcessingDateTimeParameterDataType )
3266
3267
3273 {
3274 ModelParameter,
3275 ChildOutput,
3276 StaticValue,
3277 Expression,
3278 ExpressionText,
3279 ModelOutput,
3280 };
3281 Q_ENUM( ProcessingModelChildParameterSource )
3282
3283
3289 {
3290 NotExecuted,
3291 Success,
3292 Failed,
3293 };
3294 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
3295
3296
3304 {
3305 Vertices,
3306 StructureLines,
3307 BreakLines
3308 };
3309 Q_ENUM( ProcessingTinInputLayerType )
3310
3311
3317 {
3318 Wkt SIP_MONKEYPATCH_COMPAT_NAME( FormatWkt ),
3319 Proj SIP_MONKEYPATCH_COMPAT_NAME( FormatProj ),
3320 };
3321 Q_ENUM( CrsDefinitionFormat )
3322
3323
3331 enum class FieldDomainSplitPolicy : int
3332 {
3333 DefaultValue,
3334 Duplicate,
3335 GeometryRatio,
3336 UnsetField,
3337 };
3338 Q_ENUM( FieldDomainSplitPolicy )
3339
3340
3348 enum class FieldDomainMergePolicy : int
3349 {
3350 DefaultValue,
3351 Sum,
3352 GeometryWeighted,
3353 };
3354 Q_ENUM( FieldDomainMergePolicy )
3355
3356
3363 enum class FieldDuplicatePolicy : int
3364 {
3365 DefaultValue,
3366 Duplicate,
3367 UnsetField,
3368 };
3369 Q_ENUM( FieldDuplicatePolicy )
3370
3371
3376 enum class FieldDomainType : int
3377 {
3378 Coded,
3379 Range,
3380 Glob,
3381 };
3382 Q_ENUM( FieldDomainType )
3383
3384
3389 enum class TransactionMode : int
3390 {
3391 Disabled = 0,
3392 AutomaticGroups = 1,
3393 BufferedGroups = 2,
3394 };
3395 Q_ENUM( TransactionMode )
3396
3397
3402 enum class AltitudeClamping : int
3403 {
3404 Absolute,
3405 Relative,
3406 Terrain,
3407 };
3408 Q_ENUM( AltitudeClamping )
3409
3410
3415 enum class AltitudeBinding : int
3416 {
3417 Vertex,
3418 Centroid,
3419 };
3420 Q_ENUM( AltitudeBinding )
3421
3422
3427 enum class RangeLimits : int
3428 {
3429 IncludeBoth = 0,
3430 IncludeLowerExcludeUpper,
3431 ExcludeLowerIncludeUpper,
3432 ExcludeBoth,
3433 };
3434 Q_ENUM( RangeLimits )
3435
3436
3441 enum class RasterElevationMode : int
3442 {
3443 FixedElevationRange = 0,
3444 RepresentsElevationSurface = 1,
3445 FixedRangePerBand = 2,
3446 DynamicRangePerBand = 3,
3447 };
3448 Q_ENUM( RasterElevationMode )
3449
3450
3455 enum class MeshElevationMode : int
3456 {
3457 FixedElevationRange = 0,
3458 FromVertices = 1,
3459 FixedRangePerGroup = 2,
3460 };
3461 Q_ENUM( MeshElevationMode )
3462
3463
3469 {
3470 NoConstraint,
3471 Perpendicular,
3472 Parallel
3473 };
3474 Q_ENUM( BetweenLineConstraint )
3475
3476
3481 enum class LineExtensionSide : int
3482 {
3483 BeforeVertex,
3484 AfterVertex,
3485 NoVertex,
3486 };
3487 Q_ENUM( LineExtensionSide )
3488
3489
3490
3494 enum class CadConstraintType : int
3495 {
3496 Generic,
3497 Angle,
3498 Distance,
3499 XCoordinate,
3500 YCoordinate,
3501 ZValue,
3502 MValue,
3503 };
3504 Q_ENUM( CadConstraintType )
3505
3506
3507
3512 enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
3513 {
3514 EvaluateDefaultValuesOnProviderSide = 1 << 0,
3515 TrustStoredLayerStatistics = 1 << 1,
3516 RememberLayerEditStatusBetweenSessions = 1 << 2,
3517 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
3518 };
3519 Q_ENUM( ProjectFlag )
3520 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
3521 Q_FLAG( ProjectFlags )
3522
3528 enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
3529 {
3530 ShowContextMenu = 1 << 0,
3531 };
3532 Q_ENUM( PlotToolFlag )
3533 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
3534 Q_FLAG( PlotToolFlags )
3535
3536
3544 enum class Point3DShape : int
3545 {
3546 Cylinder,
3547 Sphere,
3548 Cone,
3549 Cube,
3550 Torus,
3551 Plane,
3552 ExtrudedText,
3553 Model,
3554 Billboard,
3555 };
3556 Q_ENUM( Point3DShape )
3557
3558
3563 enum class LightSourceType : int
3564 {
3565 Point,
3566 Directional,
3567 };
3568 Q_ENUM( LightSourceType )
3569
3570
3575 enum class NavigationMode : int
3576 {
3577 TerrainBased,
3578 Walk
3579 };
3580 Q_ENUM( NavigationMode )
3581
3582
3587 enum class VerticalAxisInversion : int
3588 {
3589 Never,
3590 WhenDragging,
3591 Always,
3592 };
3593 Q_ENUM( VerticalAxisInversion )
3594
3595
3601 {
3602 Line,
3603 FillBelow,
3604 FillAbove,
3605 };
3607
3613 enum class VectorProfileType : int
3614 {
3615 IndividualFeatures,
3616 ContinuousSurface,
3617 };
3619
3625 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
3626 {
3627 RespectsMaximumErrorMapUnit = 1 << 0,
3628 RespectsDistanceRange = 1 << 1,
3629 RespectsElevationRange = 1 << 2,
3630 };
3631 Q_ENUM( ProfileGeneratorFlag )
3633 Q_FLAG( ProfileGeneratorFlags )
3634
3640 enum class ProfileExportType : int
3641 {
3642 Features3D,
3643 Profile2D,
3644 DistanceVsElevationTable,
3645 };
3647
3654 {
3655 Square,
3656 Circle,
3657 };
3658 Q_ENUM( PointCloudSymbol )
3659
3660
3666 {
3667 Default,
3668 BottomToTop,
3669 TopToBottom,
3670 };
3671 Q_ENUM( PointCloudDrawOrder )
3672
3673
3681 {
3682 AllowIntersections,
3683 AvoidIntersectionsCurrentLayer,
3684 AvoidIntersectionsLayers,
3685 };
3686 Q_ENUM( AvoidIntersectionsMode )
3687
3688
3696 {
3697 Qgz,
3698 Qgs,
3699 };
3700 Q_ENUM( ProjectFileFormat )
3701
3702
3710 {
3711 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers ) = 1 << 0,
3712 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts ) = 1 << 1,
3713 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata ) = 1 << 2,
3714 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
3715 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
3716 DontLoadProjectStyles = 1 << 5,
3717 ForceReadOnlyLayers = 1 << 6,
3718 };
3719 Q_ENUM( ProjectReadFlag )
3720
3721
3729 Q_FLAG( ProjectReadFlags )
3730
3739 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
3740 {
3741 ProjectStyles = 1 << 0,
3742 };
3743 Q_ENUM( ProjectCapability )
3744
3745
3751 Q_FLAG( ProjectCapabilities )
3752
3759 {
3760 Vector,
3761 Raster,
3762 RasterDem,
3763 GeoJson,
3764 Image,
3765 Video,
3766 Unknown,
3767 };
3768 Q_ENUM( MapBoxGlStyleSourceType )
3769
3770
3778 {
3779 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
3780 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
3781 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
3782 GlobeServer,
3783 GPServer,
3784 GeocodeServer,
3785 Unknown,
3786 };
3787 Q_ENUM( ArcGisRestServiceType )
3788
3789
3797 {
3798 Normal,
3799 Generated,
3800 };
3801 Q_ENUM( RelationshipType )
3802
3803
3811 {
3812 Association,
3813 Composition,
3814 };
3815 Q_ENUM( RelationshipStrength )
3816
3817
3823 {
3824 OneToOne,
3825 OneToMany,
3826 ManyToOne,
3827 ManyToMany,
3828 };
3829 Q_ENUM( RelationshipCardinality )
3830
3831
3836 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
3837 {
3838 MultipleFieldKeys = 1 << 0,
3839 ForwardPathLabel = 1 << 1,
3840 BackwardPathLabel = 1 << 2,
3841 };
3842 Q_ENUM( RelationshipCapability )
3843
3844
3850 Q_FLAG( RelationshipCapabilities )
3851
3857 enum class CoordinateDisplayType : int
3858 {
3859 MapCrs,
3860 MapGeographic,
3861 CustomCrs,
3862 };
3863 Q_ENUM( CoordinateDisplayType )
3864
3865
3870 enum class SettingsOrigin : int
3871 {
3872 Any,
3873 Global,
3874 Local,
3875 };
3876 Q_ENUM( SettingsOrigin )
3877
3878
3883 enum class ScriptLanguage : int
3884 {
3885 Css,
3886 QgisExpression,
3887 Html,
3888 JavaScript,
3889 Json,
3890 Python,
3891 R,
3892 Sql,
3893 Batch,
3894 Bash,
3895 Unknown,
3896 };
3897 Q_ENUM( ScriptLanguage )
3898
3899
3907 {
3908 Reformat = 1 << 0,
3909 CheckSyntax = 1 << 1,
3910 ToggleComment = 1 << 2,
3911 };
3912 Q_ENUM( ScriptLanguageCapability )
3913
3914
3921
3928 {
3929 AboveInsertionPoint,
3930 TopOfTree,
3931 OptimalInInsertionGroup,
3932 };
3933 Q_ENUM( LayerTreeInsertionMethod )
3934
3935
3940 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
3941 {
3942 SkipVisibilityCheck = 1 << 0,
3943 };
3944 Q_ENUM( LayerTreeFilterFlag )
3945
3946
3952 Q_FLAG( LayerTreeFilterFlags )
3953
3954
3962 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
3963 {
3964 ShowRuleDetails = 1 << 0,
3965 };
3966 Q_ENUM( LegendJsonRenderFlag )
3968 Q_FLAG( LegendJsonRenderFlags )
3969
3977 enum class ActionType : int
3978 {
3979 Invalid,
3980 MapLayerAction,
3981 AttributeAction
3982 };
3983 Q_ENUM( ActionType )
3984
3985
3992 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
3993 {
3994 Layer = 1 << 0,
3995 SingleFeature = 1 << 1,
3996 MultipleFeatures = 1 << 2,
3997 AllActions = Layer | SingleFeature | MultipleFeatures
3998 };
3999 Q_ENUM( MapLayerActionTarget )
4000
4001
4009 Q_FLAG( MapLayerActionTargets )
4010
4018 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
4019 {
4020 EnabledOnlyWhenEditable = 1 << 1,
4021 };
4022 Q_ENUM( MapLayerActionFlag )
4023
4024
4032 Q_FLAG( MapLayerActionFlags )
4033
4042 {
4043 Generic,
4044 GenericPython,
4045 Mac,
4046 Windows,
4047 Unix,
4048 OpenUrl,
4049 SubmitUrlEncoded,
4050 SubmitUrlMultipart,
4051 };
4052 Q_ENUM( AttributeActionType )
4053
4054
4060 {
4061 Created,
4062 Published,
4063 Revised,
4064 Superseded,
4065 };
4066 Q_ENUM( MetadataDateType )
4067
4068
4078 {
4079 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
4080 GrayIndex = 1,
4081 PaletteIndex = 2,
4082 RedBand = 3,
4083 GreenBand = 4,
4084 BlueBand = 5,
4085 AlphaBand = 6,
4086 HueBand = 7,
4087 SaturationBand = 8,
4088 LightnessBand = 9,
4089 CyanBand = 10,
4090 MagentaBand = 11,
4091 YellowBand = 12,
4092 BlackBand = 13,
4093 YCbCr_YBand = 14,
4094 YCbCr_CbBand = 15,
4095 YCbCr_CrBand = 16,
4096 ContinuousPalette = 17
4097 };
4098 Q_ENUM( RasterColorInterpretation )
4099
4100
4108 {
4109 GrayOrUndefined,
4110 Palette,
4111 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
4112 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
4113 };
4114 Q_ENUM( RasterLayerType )
4115
4116
4124 {
4125 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
4126 SingleBandGray,
4127 SingleBandPseudoColor,
4128 PalettedColor,
4129 PalettedSingleBandGray,
4130 PalettedSingleBandPseudoColor,
4131 PalettedMultiBandColor,
4132 MultiBandSingleBandGray,
4133 MultiBandSingleBandPseudoColor,
4134 MultiBandColor,
4135 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
4136 };
4137 Q_ENUM( RasterDrawingStyle )
4138
4139
4146 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
4147 {
4148 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
4149 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
4150 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
4151 };
4152 Q_ENUM( RasterPyramidFormat )
4153
4154
4162 {
4163 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
4164 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
4165 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
4166 };
4167 Q_ENUM( RasterBuildPyramidOption )
4168
4169
4177 {
4178 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
4179 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
4180 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
4181 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
4182 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
4183 };
4184 Q_ENUM( RasterIdentifyFormat )
4185
4186 // TODO QGIS 4 -- remove NoCapabilities and rely on RasterInterfaceCapabilities() instead
4187 // remove deprecated members
4188 // Remove "Identify" member, and replace with combinations of IdentifyValue/IdentifyText/etc
4189
4190
4198 {
4199 NoCapabilities = 0,
4200 Size = 1 << 1,
4201 Create = 1 << 2,
4202 Remove = 1 << 3,
4203 BuildPyramids = 1 << 4,
4204 Identify = 1 << 5,
4205 IdentifyValue = 1 << 6,
4206 IdentifyText = 1 << 7,
4207 IdentifyHtml = 1 << 8,
4208 IdentifyFeature = 1 << 9,
4209 Prefetch = 1 << 10,
4210 };
4211 Q_ENUM( RasterInterfaceCapability )
4212
4213
4220
4221 // TODO QGIS 4 -- remove NoProviderCapabilities and rely on RasterProviderCapabilities() instead
4222
4231 {
4232 NoProviderCapabilities = 0,
4233 ReadLayerMetadata = 1 << 1,
4234 WriteLayerMetadata = 1 << 2,
4235 ProviderHintBenefitsFromResampling = 1 << 3,
4236 ProviderHintCanPerformProviderResampling = 1 << 4,
4237 ReloadData = 1 << 5,
4238 DpiDependentData = 1 << 6,
4239 NativeRasterAttributeTable = 1 << 7,
4240 BuildPyramids = 1 << 8,
4241 };
4242 Q_ENUM( RasterProviderCapability )
4243
4244
4253
4260 {
4261 HighestElevation,
4262 NewerElevation,
4263 };
4264 Q_ENUM( ElevationMapCombineMethod )
4265
4266
4275 {
4276 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
4277 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
4278 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
4279 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
4280 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
4281 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
4282 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
4283 Burn SIP_MONKEYPATCH_COMPAT_NAME( BlendBurn ),
4284 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
4285 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
4286 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
4287 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
4288 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
4289 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
4290 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
4291 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
4292 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
4293 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
4294 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
4295 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
4296 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
4297 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
4298 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
4299 Xor SIP_MONKEYPATCH_COMPAT_NAME( BlendXor ),
4300 };
4301 Q_ENUM( BlendMode )
4302
4303
4311 {
4312 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
4313 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
4314 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
4315 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
4316 };
4317 Q_ENUM( SystemOfMeasurement )
4318
4319
4326 {
4327 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
4328 Pixels,
4329 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
4330 };
4331 Q_ENUM( MapToolUnit )
4332
4333
4341 {
4342 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
4343 Area SIP_MONKEYPATCH_COMPAT_NAME( TypeArea ),
4344 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
4345 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
4346 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
4347 };
4348 Q_ENUM( UnitType )
4349
4350
4358 {
4359 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
4360 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
4361 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
4362 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
4363 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
4364 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
4365 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
4366 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
4367 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
4368 Inches,
4369 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
4370 };
4371 Q_ENUM( DistanceUnit )
4372
4373
4381 {
4382 Standard,
4383 Geographic,
4384 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
4385 };
4386 Q_ENUM( DistanceUnitType )
4387
4388
4396 {
4397 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
4398 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
4399 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
4400 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
4401 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
4402 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
4403 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
4404 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
4405 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
4406 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
4407 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
4408 SquareInches,
4409 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
4410 };
4411 Q_ENUM( AreaUnit )
4412
4413
4421 {
4422 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
4423 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
4424 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
4425 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
4426 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
4427 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
4428 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
4429 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
4430 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
4431 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
4432 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
4433 };
4434 Q_ENUM( VolumeUnit )
4435
4436
4444 {
4445 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
4446 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
4447 Gon SIP_MONKEYPATCH_COMPAT_NAME( AngleGon ),
4448 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
4449 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
4450 Turn SIP_MONKEYPATCH_COMPAT_NAME( AngleTurn ),
4451 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
4452 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
4453 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
4454 };
4455 Q_ENUM( AngleUnit )
4456
4457
4465 {
4466 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
4467 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
4468 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
4469 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
4470 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
4471 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
4472 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
4473 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
4474 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
4475 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
4476 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
4477 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
4478 };
4479 Q_ENUM( TemporalUnit )
4480
4481
4489 {
4490 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
4491 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
4492 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
4493 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
4494 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
4495 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
4496 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
4497 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
4498 };
4499 Q_ENUM( RenderUnit )
4500
4501
4509 {
4510 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
4511 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
4512 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
4513 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
4514 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
4515 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
4516 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
4517 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
4518 };
4519 Q_ENUM( LayoutUnit )
4520
4521
4529 {
4530 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
4531 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
4532 };
4533 Q_ENUM( LayoutUnitType )
4534
4535
4540 enum class InputControllerType : int
4541 {
4542 Map2D,
4543 Map3D
4544 };
4546
4553 {
4554 NotSet,
4555 Unknown,
4556 OrdinaryTable,
4557 Index,
4558 Sequence,
4559 View,
4560 MaterializedView,
4561 CompositeType,
4562 ToastTable,
4563 ForeignTable,
4564 PartitionedTable,
4565 };
4566 Q_ENUM( PostgresRelKind )
4567
4568
4574 {
4575 SetFieldComment = 1 << 0,
4576 SetFieldAlias = 1 << 1,
4577 };
4578 Q_ENUM( DatabaseProviderConnectionCapability2 )
4581
4588 {
4589 SaveToDatabase = 1 << 1,
4590 LoadFromDatabase = 1 << 2,
4591 DeleteFromDatabase = 1 << 3
4592 };
4596
4597
4603 {
4604 LastProfile,
4605 DefaultProfile,
4606 AskUser,
4607 };
4608 Q_ENUM( UserProfileSelectionPolicy )
4609
4610
4618 {
4619 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
4620 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
4621 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
4622 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
4623 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
4624 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
4625 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
4626 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
4627 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
4628 };
4629 Q_ENUM( AttributeEditorType )
4630
4631
4637 {
4638 GroupBox,
4639 Tab,
4640 Row,
4641 };
4642 Q_ENUM( AttributeEditorContainerType )
4643
4644
4652 {
4653 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
4654 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
4655 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
4656 };
4657 Q_ENUM( AttributeFormLayout )
4658
4659
4667 {
4668 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
4669 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
4670 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
4671 };
4672 Q_ENUM( AttributeFormSuppression )
4673
4674
4682 {
4683 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
4684 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
4685 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
4686 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
4687 };
4688 Q_ENUM( AttributeFormPythonInitCodeSource )
4689
4690
4696 {
4697 Qgis,
4698 PointCloud,
4699 RasterCalculator,
4700 };
4701 Q_ENUM( ExpressionType )
4702
4703
4711 {
4712 NoSymbology = 0,
4713 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
4714 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
4715 };
4716 Q_ENUM( FeatureSymbologyExport )
4717
4718
4723 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
4724 {
4725 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
4726 };
4727 Q_ENUM( VectorTileProviderFlag )
4728
4729
4735 Q_FLAG( VectorTileProviderFlags )
4736
4742 {
4743 ReadLayerMetadata = 1 << 1,
4744 };
4745 Q_ENUM( VectorTileProviderCapability )
4746
4747
4754
4761 {
4762 Available,
4763 NotAvailable,
4764 AvailableNoChildren,
4765 UseLowerZoomLevelTile,
4766 };
4767 Q_ENUM( TileAvailability )
4768
4769
4775 {
4776 ReadLayerMetadata = 1 << 1,
4777 };
4778 Q_ENUM( TiledSceneProviderCapability )
4779
4780
4787
4794 {
4795 Region,
4796 OrientedBox,
4797 Sphere,
4798 };
4799 Q_ENUM( TiledSceneBoundingVolumeType )
4800
4801
4810 {
4811 Replacement,
4812 Additive,
4813 };
4814 Q_ENUM( TileRefinementProcess )
4815
4816
4822 {
4823 NoChildren,
4824 Available,
4825 NeedFetching,
4826 };
4827 Q_ENUM( TileChildrenAvailability )
4828
4829
4834 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
4835 {
4836 NoHierarchyFetch = 1 << 0,
4837 };
4838 Q_ENUM( TiledSceneRequestFlag )
4839
4840
4846 Q_FLAG( TiledSceneRequestFlags )
4847
4853 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
4854 {
4855 RequiresTextures = 1 << 0,
4856 ForceRasterRender = 1 << 1,
4857 RendersTriangles = 1 << 2,
4858 RendersLines = 1 << 3,
4859 };
4860 Q_ENUM( TiledSceneRendererFlag )
4861
4862
4868 Q_FLAG( TiledSceneRendererFlags )
4869
4875 enum class GdalResampleAlgorithm : int
4876 {
4877 RA_NearestNeighbour = 0,
4878 RA_Bilinear = 1,
4879 RA_Cubic = 2,
4880 RA_CubicSpline = 3,
4881 RA_Lanczos = 4,
4882 RA_Average = 5,
4883 RA_Mode = 6,
4884 RA_Max = 8,
4885 RA_Min = 9,
4886 RA_Median = 10,
4887 RA_Q1 = 11,
4888 RA_Q3 = 12,
4889 };
4890 Q_ENUM( GdalResampleAlgorithm )
4891
4892
4893
4898 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
4899 {
4900 Count = 1,
4901 Sum = 2,
4902 Mean = 4,
4903 Median = 8,
4904 StDev = 16,
4905 Min = 32,
4906 Max = 64,
4907 Range = 128,
4908 Minority = 256,
4909 Majority = 512,
4910 Variety = 1024,
4911 Variance = 2048,
4912 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
4913 Default = Count | Sum | Mean,
4914 };
4915 Q_ENUM( ZonalStatistic )
4916
4917
4923 Q_FLAG( ZonalStatistics )
4924
4930 enum class ZonalStatisticResult : int
4931 {
4932 Success = 0,
4933 LayerTypeWrong = 1,
4934 LayerInvalid,
4935 RasterInvalid,
4936 RasterBandInvalid,
4937 FailedToCreateField = 8,
4938 Canceled = 9
4939 };
4940 Q_ENUM( ZonalStatisticResult )
4941
4942
4949 {
4950 Count,
4951 CountDistinct,
4952 CountMissing,
4953 Min,
4954 Max,
4955 Sum,
4956 Mean,
4957 Median,
4958 StDev,
4959 StDevSample,
4960 Range,
4961 Minority,
4962 Majority,
4963 FirstQuartile,
4964 ThirdQuartile,
4965 InterQuartileRange,
4966 StringMinimumLength,
4967 StringMaximumLength,
4968 StringConcatenate,
4969 GeometryCollect,
4970 ArrayAggregate,
4971 StringConcatenateUnique
4972 };
4973 Q_ENUM( Aggregate )
4974
4975
4981 {
4982 Count = 1 << 0,
4983 CountMissing = 1 << 15,
4984 Sum = 1 << 1,
4985 Mean = 1 << 2,
4986 Median = 1 << 3,
4987 StDev = 1 << 4,
4988 StDevSample = 1 << 5,
4989 Min = 1 << 6,
4990 Max = 1 << 7,
4991 Range = 1 << 8,
4992 Minority = 1 << 9,
4993 Majority = 1 << 10,
4994 Variety = 1 << 11,
4995 FirstQuartile = 1 << 12,
4996 ThirdQuartile = 1 << 13,
4997 InterQuartileRange = 1 << 14,
4998 First = 1 << 16,
4999 Last = 1 << 17,
5000 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
5001 };
5002 Q_ENUM( Statistic )
5003
5004
5010 Q_FLAG( Statistics )
5011
5018 {
5019 Count = 1,
5020 CountDistinct = 2,
5021 CountMissing = 4,
5022 Min = 8,
5023 Max = 16,
5024 Range = 32,
5025 All = Count | CountDistinct | CountMissing | Min | Max | Range,
5026 };
5027 Q_ENUM( DateTimeStatistic )
5028
5029
5035 Q_FLAG( DateTimeStatistics )
5036
5043 {
5044 Count = 1,
5045 CountDistinct = 2,
5046 CountMissing = 4,
5047 Min = 8,
5048 Max = 16,
5049 MinimumLength = 32,
5050 MaximumLength = 64,
5051 MeanLength = 128,
5052 Minority = 256,
5053 Majority = 512,
5054 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
5055 };
5056 Q_ENUM( StringStatistic )
5057
5058
5064 Q_FLAG( StringStatistics )
5065
5072 {
5073 NoStatistic = 0,
5074 Min = 1,
5075 Max = 1 << 1,
5076 Range = 1 << 2,
5077 Sum = 1 << 3,
5078 Mean = 1 << 4,
5079 StdDev = 1 << 5,
5080 SumOfSquares = 1 << 6,
5081 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
5082 };
5083 Q_ENUM( RasterBandStatistic )
5084
5085
5091 Q_FLAG( RasterBandStatistics )
5092
5098 enum class SensorThingsEntity : int
5099 {
5100 Invalid,
5101 Thing,
5102 Location,
5103 HistoricalLocation,
5104 Datastream,
5105 Sensor,
5106 ObservedProperty,
5107 Observation,
5108 FeatureOfInterest,
5109 MultiDatastream,
5110 };
5111 Q_ENUM( SensorThingsEntity )
5112
5113
5116 static const double DEFAULT_SEARCH_RADIUS_MM;
5117
5119 static const float DEFAULT_MAPTOPIXEL_THRESHOLD;
5120
5126 static const QColor DEFAULT_HIGHLIGHT_COLOR;
5127
5131 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
5132
5136 static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
5137
5143 static const double SCALE_PRECISION;
5144
5149 static const double DEFAULT_Z_COORDINATE;
5150
5156 static const double DEFAULT_M_COORDINATE;
5157
5162 static const double UI_SCALE_FACTOR;
5163
5167 static const double DEFAULT_SNAP_TOLERANCE;
5168
5172 static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS;
5173
5179 static QString defaultProjectScales();
5180
5186 static int geosVersionInt();
5187
5193 static int geosVersionMajor();
5194
5200 static int geosVersionMinor();
5201
5207 static int geosVersionPatch();
5208
5214 static QString geosVersion();
5215};
5216
5219
5292
5293// hack to workaround warnings when casting void pointers
5294// retrieved from QLibrary::resolve to function pointers.
5295// It's assumed that this works on all systems supporting
5296// QLibrary
5297#define cast_to_fptr(f) f
5298
5299
5307// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
5308template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
5309{
5310 public:
5311
5316 explicit QgsSignalBlocker( Object *object )
5317 : mObject( object )
5318 , mPreviousState( object->blockSignals( true ) )
5319 {}
5320
5322 {
5323 mObject->blockSignals( mPreviousState );
5324 }
5325
5327 Object *operator->() { return mObject; }
5328
5329 private:
5330
5331 Object *mObject = nullptr;
5332 bool mPreviousState;
5333
5334};
5335
5348// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
5349template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
5350{
5351 return QgsSignalBlocker<Object>( object );
5352}
5353
5355CORE_EXPORT uint qHash( const QVariant &variant );
5356
5362inline QString qgsDoubleToString( double a, int precision = 17 )
5363{
5364 QString str;
5365 if ( precision )
5366 {
5367 if ( precision < 0 )
5368 {
5369 const double roundFactor = std::pow( 10, -precision );
5370 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
5371 }
5372 else
5373 {
5374 str = QString::number( a, 'f', precision );
5375 if ( str.contains( QLatin1Char( '.' ) ) )
5376 {
5377 // remove ending 0s
5378 int idx = str.length() - 1;
5379 while ( str.at( idx ) == '0' && idx > 1 )
5380 {
5381 idx--;
5382 }
5383 if ( idx < str.length() - 1 )
5384 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
5385 }
5386 }
5387 }
5388 else
5389 {
5390 str = QString::number( a, 'f', precision );
5391 }
5392 // avoid printing -0
5393 // see https://bugreports.qt.io/browse/QTBUG-71439
5394 if ( str == QLatin1String( "-0" ) )
5395 {
5396 return QLatin1String( "0" );
5397 }
5398 return str;
5399}
5400
5407inline bool qgsNanCompatibleEquals( double a, double b )
5408{
5409 const bool aIsNan = std::isnan( a );
5410 const bool bIsNan = std::isnan( b );
5411 if ( aIsNan || bIsNan )
5412 return aIsNan && bIsNan;
5413
5414 return a == b;
5415}
5416
5417#ifndef SIP_RUN
5418
5426template<typename T>
5427inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
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 const T diff = a - b;
5435 return diff >= -epsilon && diff <= epsilon;
5436}
5437#endif
5438
5445inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
5446{
5447 return qgsNumberNear<double>( a, b, epsilon );
5448}
5449
5456inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
5457{
5458 return qgsNumberNear<float>( a, b, epsilon );
5459}
5460
5462inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
5463{
5464 const bool aIsNan = std::isnan( a );
5465 const bool bIsNan = std::isnan( b );
5466 if ( aIsNan || bIsNan )
5467 return aIsNan && bIsNan;
5468
5469 // The most simple would be to print numbers as %.xe and compare as strings
5470 // but that is probably too costly
5471 // Then the fastest would be to set some bits directly, but little/big endian
5472 // has to be considered (maybe TODO)
5473 // Is there a better way?
5474 int aexp, bexp;
5475 const double ar = std::frexp( a, &aexp );
5476 const double br = std::frexp( b, &bexp );
5477
5478 return aexp == bexp &&
5479 std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
5480}
5481
5486inline double qgsRound( double number, int places )
5487{
5488 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
5489 const double scaleFactor = std::pow( 10.0, places );
5490 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
5491}
5492
5493#ifndef SIP_RUN
5494
5501template<class Key, class Value>
5502QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
5503{
5504 QString result;
5505 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
5506 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
5507
5508 result.chop( separator.size() );
5509 return result;
5510}
5511
5518template<class Key, class Value>
5519QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
5520{
5521 QString result;
5522 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
5523 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
5524
5525 result.chop( separator.size() );
5526 return result;
5527}
5528
5535template<class T>
5536QString qgsSetJoin( const QSet<T> &set, const QString &separator )
5537{
5538 QString result;
5539 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
5540 result += QString( "%1%2" ).arg( *it ).arg( separator );
5541
5542 result.chop( separator.size() );
5543 return result;
5544}
5545
5547
5557namespace qgis
5558{
5559
5572 template<typename To, typename From> inline To down_cast( From *f )
5573 {
5574 static_assert(
5575 ( std::is_base_of<From,
5576 typename std::remove_pointer<To>::type>::value ),
5577 "target type not derived from source type" );
5578 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
5579 return static_cast<To>( f );
5580 }
5581
5582 template<class T>
5583 QSet<T> listToSet( const QList<T> &list )
5584 {
5585 return QSet<T>( list.begin(), list.end() );
5586 }
5587
5588 template<class T>
5589 QList<T> setToList( const QSet<T> &set )
5590 {
5591 return QList<T>( set.begin(), set.end() );
5592 }
5593}
5594
5596#endif
5597
5602template<class T> const QList<T> qgsEnumList() SIP_SKIP
5603{
5604 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5605 Q_ASSERT( metaEnum.isValid() );
5606 QList<T> enumList;
5607 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
5608 {
5609 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
5610 }
5611 return enumList;
5612}
5613
5619template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
5620{
5621 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5622 Q_ASSERT( metaEnum.isValid() );
5623 QMap<T, QString> enumMap;
5624 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
5625 {
5626 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
5627 }
5628 return enumMap;
5629}
5630
5636template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
5637{
5638 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5639 Q_ASSERT( metaEnum.isValid() );
5640 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
5641 if ( returnOk )
5642 {
5643 *returnOk = key ? true : false;
5644 }
5645 return QString::fromUtf8( key );
5646}
5647
5655template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
5656{
5657 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5658 Q_ASSERT( metaEnum.isValid() );
5659 bool ok = false;
5660 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
5661 if ( returnOk )
5662 {
5663 *returnOk = ok;
5664 }
5665 if ( ok )
5666 {
5667 return v;
5668 }
5669 else
5670 {
5671 // if conversion has failed, try with conversion from int value
5672 if ( tryValueAsKey )
5673 {
5674 bool canConvert = false;
5675 const int intValue = key.toInt( &canConvert );
5676 if ( canConvert && metaEnum.valueToKey( intValue ) )
5677 {
5678 if ( returnOk )
5679 {
5680 *returnOk = true;
5681 }
5682 return static_cast<T>( intValue );
5683 }
5684 }
5685 }
5686 return defaultValue;
5687}
5688
5694template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
5695{
5696 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5697 Q_ASSERT( metaEnum.isValid() );
5698 int intValue = static_cast<int>( value );
5699 const QByteArray ba = metaEnum.valueToKeys( intValue );
5700 // check that the int value does correspond to a flag
5701 // see https://stackoverflow.com/a/68495949/1548052
5702 const int intValueCheck = metaEnum.keysToValue( ba );
5703 bool ok = intValue == intValueCheck;
5704 if ( returnOk )
5705 *returnOk = ok;
5706 return ok ? QString::fromUtf8( ba ) : QString();
5707}
5708
5716template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
5717{
5718 if ( keys.isEmpty() )
5719 {
5720 if ( returnOk )
5721 {
5722 *returnOk = false;
5723 }
5724 return defaultValue;
5725 }
5726 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5727 Q_ASSERT( metaEnum.isValid() );
5728 bool ok = false;
5729 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
5730 if ( returnOk )
5731 {
5732 *returnOk = ok;
5733 }
5734 if ( ok )
5735 {
5736 return v;
5737 }
5738 else
5739 {
5740 // if conversion has failed, try with conversion from int value
5741 if ( tryValueAsKey )
5742 {
5743 bool canConvert = false;
5744 const int intValue = keys.toInt( &canConvert );
5745 if ( canConvert )
5746 {
5747 const QByteArray keys = metaEnum.valueToKeys( intValue );
5748 const int intValueCheck = metaEnum.keysToValue( keys );
5749 if ( intValue == intValueCheck )
5750 {
5751 if ( returnOk )
5752 {
5753 *returnOk = true;
5754 }
5755 return T( intValue );
5756 }
5757 }
5758 }
5759 }
5760 return defaultValue;
5761}
5762
5763
5772CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
5773
5782CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
5783
5793CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
5794
5804CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
5805
5814CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
5815
5822CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
5823
5824#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
5825
5832inline bool operator> ( const QVariant &v1, const QVariant &v2 )
5833{
5834 return qgsVariantGreaterThan( v1, v2 );
5835}
5836
5846inline bool operator< ( const QVariant &v1, const QVariant &v2 )
5847{
5848 return qgsVariantLessThan( v1, v2 );
5849}
5850#endif
5851
5852
5853#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
5854
5858template<> CORE_EXPORT bool qMapLessThanKey<QVariantList>( const QVariantList &key1, const QVariantList &key2 ) SIP_SKIP;
5859#endif
5860
5861CORE_EXPORT QString qgsVsiPrefix( const QString &path );
5862
5868void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
5869
5874void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
5875
5876#ifndef SIP_RUN
5877
5878#ifdef _MSC_VER
5879#define CONSTLATIN1STRING inline const QLatin1String
5880#else
5881#define CONSTLATIN1STRING constexpr QLatin1String
5882#endif
5883
5885class ScopedIntIncrementor
5886{
5887 public:
5888
5889 ScopedIntIncrementor( int *variable )
5890 : mVariable( variable )
5891 {
5892 ( *mVariable )++;
5893 }
5894
5895 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
5896 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
5897
5898 void release()
5899 {
5900 if ( mVariable )
5901 ( *mVariable )--;
5902
5903 mVariable = nullptr;
5904 }
5905
5906 ~ScopedIntIncrementor()
5907 {
5908 release();
5909 }
5910
5911 private:
5912 int *mVariable = nullptr;
5913};
5915
5921{
5922 return QLatin1String(
5923 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]] )"""
5924 );
5925}
5926
5929{
5930 return QLatin1String( "+proj=longlat +datum=WGS84 +no_defs" );
5931}
5932
5935{
5936 return QLatin1String( "EPSG:4326" );
5937}
5938
5941{
5942 return QLatin1String( "NONE" );
5943}
5944
5946
5948const int PREVIEW_JOB_DELAY_MS = 250;
5949
5951const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
5952
5954
5955#endif
5956
5958const long GEOSRID = 4326;
5959
5961const long GEOCRS_ID = 3452;
5962
5964const long GEO_EPSG_CRS_ID = 4326;
5965
5970const int USER_CRS_START_ID = 100000;
5971
5972//
5973// Constants for point symbols
5974//
5975
5977const double DEFAULT_POINT_SIZE = 2.0;
5978const double DEFAULT_LINE_WIDTH = 0.26;
5979
5981const double DEFAULT_SEGMENT_EPSILON = 1e-8;
5982
5983typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
5984
5993typedef unsigned long long qgssize;
5994
5995#ifndef SIP_RUN
5996#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
5997
5998#define Q_NOWARN_DEPRECATED_PUSH \
5999 _Pragma("GCC diagnostic push") \
6000 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
6001#define Q_NOWARN_DEPRECATED_POP \
6002 _Pragma("GCC diagnostic pop");
6003#define Q_NOWARN_UNREACHABLE_PUSH
6004#define Q_NOWARN_UNREACHABLE_POP
6005
6006#elif defined(_MSC_VER)
6007
6008#define Q_NOWARN_DEPRECATED_PUSH \
6009 __pragma(warning(push)) \
6010 __pragma(warning(disable:4996))
6011#define Q_NOWARN_DEPRECATED_POP \
6012 __pragma(warning(pop))
6013#define Q_NOWARN_UNREACHABLE_PUSH \
6014 __pragma(warning(push)) \
6015 __pragma(warning(disable:4702))
6016#define Q_NOWARN_UNREACHABLE_POP \
6017 __pragma(warning(pop))
6018
6019#else
6020
6021#define Q_NOWARN_DEPRECATED_PUSH
6022#define Q_NOWARN_DEPRECATED_POP
6023#define Q_NOWARN_UNREACHABLE_PUSH
6024#define Q_NOWARN_UNREACHABLE_POP
6025
6026#endif
6027#endif
6028
6029#ifndef QGISEXTERN
6030#ifdef Q_OS_WIN
6031# define QGISEXTERN extern "C" __declspec( dllexport )
6032#else
6033# if defined(__GNUC__) || defined(__clang__)
6034# define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
6035# else
6036# define QGISEXTERN extern "C"
6037# endif
6038#endif
6039#endif
6040#endif
6041
6042// see https://infektor.net/posts/2017-01-19-using-cpp17-attributes-today.html#using-the-nodiscard-attribute
6043#if __cplusplus >= 201703L
6044#define NODISCARD [[nodiscard]]
6045#elif defined(__clang__)
6046#define NODISCARD [[nodiscard]]
6047#elif defined(_MSC_VER)
6048#define NODISCARD // no support
6049#elif defined(__has_cpp_attribute)
6050#if __has_cpp_attribute(nodiscard)
6051#define NODISCARD [[nodiscard]]
6052#elif __has_cpp_attribute(gnu::warn_unused_result)
6053#define NODISCARD [[gnu::warn_unused_result]]
6054#else
6055#define NODISCARD Q_REQUIRED_RESULT
6056#endif
6057#else
6058#define NODISCARD Q_REQUIRED_RESULT
6059#endif
6060
6061#if __cplusplus >= 201703L
6062#define MAYBE_UNUSED [[maybe_unused]]
6063#elif defined(__clang__)
6064#define MAYBE_UNUSED [[maybe_unused]]
6065#elif defined(_MSC_VER)
6066#define MAYBE_UNUSED // no support
6067#elif defined(__has_cpp_attribute)
6068#if __has_cpp_attribute(gnu::unused)
6069#define MAYBE_UNUSED [[gnu::unused]]
6070#else
6071#define MAYBE_UNUSED
6072#endif
6073#else
6074#define MAYBE_UNUSED
6075#endif
6076
6077#ifndef FINAL
6078#define FINAL final
6079#endif
6080
6081#ifndef SIP_RUN
6082#ifdef _MSC_VER
6083#define BUILTIN_UNREACHABLE \
6084 __assume(false);
6085#elif defined(__GNUC__) && !defined(__clang__)
6086// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
6087// like:
6088// switch( mVariableThatCanOnlyBeXorY )
6089// {
6090// case X:
6091// return "foo";
6092// case Y:
6093// return "foo";
6094// }
6095// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
6096#define BUILTIN_UNREACHABLE \
6097 __builtin_unreachable();
6098#else
6099#define BUILTIN_UNREACHABLE
6100#endif
6101#endif // SIP_RUN
6102
6103#ifdef SIP_RUN
6104
6109QString CORE_EXPORT geoWkt();
6110
6112QString CORE_EXPORT geoProj4();
6113
6115QString CORE_EXPORT geoEpsgCrsAuthId();
6116
6118QString CORE_EXPORT geoNone();
6119
6120#endif
The Qgis class provides global constants for use throughout the application.
Definition qgis.h:54
DistanceUnitType
Types of distance units.
Definition qgis.h:4381
GnssConstellation
GNSS constellation.
Definition qgis.h:1571
SettingsOption
Settings options.
Definition qgis.h:534
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition qgis.h:3626
ProcessingSourceType
Processing data source types.
Definition qgis.h:2995
GpsQualityIndicator
GPS signal quality indicator.
Definition qgis.h:1589
DataItemProviderCapability
Capabilities for data item providers.
Definition qgis.h:730
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3214
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
Definition qgis.h:2393
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:3710
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
Definition qgis.h:1684
MapToolUnit
Type of unit of tolerance value from settings.
Definition qgis.h:4326
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:2839
ProcessingModelChildAlgorithmExecutionStatus
Reflects the status of a child algorithm in a Processing model.
Definition qgis.h:3289
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
Definition qgis.h:1651
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:3654
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
Definition qgis.h:593
GeometryValidityFlag
Geometry validity check flags.
Definition qgis.h:1738
QFlags< RasterProviderCapability > RasterProviderCapabilities
Raster data provider capabilities.
Definition qgis.h:4251
ExpressionType
Expression types.
Definition qgis.h:4696
MapLayerActionFlag
Map layer action flags.
Definition qgis.h:4019
MapLayerProperty
Generic map layer properties.
Definition qgis.h:1913
BufferSide
Side of line to buffer.
Definition qgis.h:1763
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1200
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
Definition qgis.h:4008
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
Definition qgis.h:4742
AltitudeClamping
Altitude clamping.
Definition qgis.h:3403
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:4724
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:2196
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
Definition qgis.h:1139
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
Definition qgis.h:3750
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1026
CoordinateDisplayType
Formats for displaying coordinates.
Definition qgis.h:3858
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3162
QFlags< VectorRenderingSimplificationFlag > VectorRenderingSimplificationFlags
Simplification flags for vector feature rendering.
Definition qgis.h:2592
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:2812
GpsFixStatus
GPS fix status.
Definition qgis.h:1556
AnnotationItemNodeType
Annotation item node types.
Definition qgis.h:2124
static const char * QGIS_DEV_VERSION
The development version.
Definition qgis.h:82
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:824
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
Definition qgis.h:2339
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
Definition qgis.h:2049
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
Definition qgis.h:1224
AngularDirection
Angular directions.
Definition qgis.h:2927
DriveType
Drive types.
Definition qgis.h:877
UnitType
Unit types.
Definition qgis.h:4341
ContentStatus
Status for fetched or stored content.
Definition qgis.h:1512
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
Definition qgis.h:1474
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition qgis.h:559
LayoutUnit
Layout measurement units.
Definition qgis.h:4509
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:3811
Q_ENUM(GnssConstellation)
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:2677
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Definition qgis.h:3728
Point3DShape
3D point shape types.
Definition qgis.h:3545
GeometryOperationResult
Success or failure of a geometry operation.
Definition qgis.h:1709
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
Definition qgis.h:5063
BrowserItemState
Browser item states.
Definition qgis.h:693
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:4637
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
Definition qgis.h:4785
FeatureRequestFilterType
Types of feature request filters.
Definition qgis.h:1856
MarkerClipMode
Marker clipping modes.
Definition qgis.h:2770
GpsNavigationStatus
GPS navigation status.
Definition qgis.h:1609
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:2096
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:2601
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Definition qgis.h:3304
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Definition qgis.h:1947
Statistic
Available generic statistics.
Definition qgis.h:4981
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:579
AngleUnit
Units of angles.
Definition qgis.h:4444
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:706
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition qgis.h:4667
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition qgis.h:3951
LayerTreeInsertionMethod
Layer tree insertion methods.
Definition qgis.h:3928
RasterProviderCapability
Raster data provider capabilities.
Definition qgis.h:4231
LineClipMode
Line clipping modes.
Definition qgis.h:2784
VectorRenderingSimplificationFlag
Simplification flags for vector feature rendering.
Definition qgis.h:2577
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
Definition qgis.h:1742
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition qgis.h:779
SettingsTreeNodeType
Type of tree node.
Definition qgis.h:464
TilePixelRatio
DpiMode enum.
Definition qgis.h:2867
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:4574
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition qgis.h:992
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
Definition qgis.h:3632
LabelPrioritization
Label prioritization.
Definition qgis.h:931
GradientColorSource
Gradient color sources.
Definition qgis.h:2699
FileFilterType
Type of file filters.
Definition qgis.h:1105
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:945
RasterLayerType
Raster layer types.
Definition qgis.h:4108
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
Definition qgis.h:332
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:4147
VectorExportResult
Vector layer export result codes.
Definition qgis.h:803
DistanceUnit
Units of distance.
Definition qgis.h:4358
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:2267
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition qgis.h:637
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:2743
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
Definition qgis.h:2114
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1051
ScaleMethod
Scale methods.
Definition qgis.h:434
SldExportOption
SLD export options.
Definition qgis.h:506
VectorSimplificationAlgorithm
Simplification algorithms for vector features.
Definition qgis.h:2561
FilePathType
File path types.
Definition qgis.h:1343
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:3495
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:4682
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:2758
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:3941
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:4652
FeatureRequestFlag
Flags for controlling feature requests.
Definition qgis.h:1828
VertexType
Types of vertex.
Definition qgis.h:2614
ShaderInterpolationMethod
Color ramp shader interpolation methods.
Definition qgis.h:1155
DataProviderFlag
Generic data provider flags.
Definition qgis.h:1941
Q_ENUM(GpsNavigationStatus)
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg)
Definition qgis.h:4876
GeometryValidationEngine
Available engines for validating geometries.
Definition qgis.h:1751
TransactionMode
Transaction mode.
Definition qgis.h:3390
Q_ENUM(ScaleToTileZoomLevelMethod)
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:4260
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:4124
GpsInformationComponent
GPS information component.
Definition qgis.h:1623
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:2953
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3021
FileOperationFlag
File operation flags.
Definition qgis.h:1898
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
Definition qgis.h:746
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:3740
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
Definition qgis.h:1669
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Definition qgis.h:642
QFlags< RasterInterfaceCapability > RasterInterfaceCapabilities
Raster interface capabilities.
Definition qgis.h:4218
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
Definition qgis.h:4042
TemporalNavigationMode
Temporal navigation modes.
Definition qgis.h:2150
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:3242
AreaUnit
Units of area.
Definition qgis.h:4396
StringStatistic
Available string statistics.
Definition qgis.h:5043
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:3349
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:4899
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:859
QFlags< SnappingType > SnappingTypes
Snapping types.
Definition qgis.h:570
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:2827
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1041
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
Definition qgis.h:4794
TextLayoutMode
Text layout modes.
Definition qgis.h:2478
PropertyType
Property types.
Definition qgis.h:492
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2372
LayerFilter
Filter for layers.
Definition qgis.h:133
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
Definition qgis.h:1143
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition qgis.h:1214
CrsType
Coordinate reference system types.
Definition qgis.h:1959
SensorThingsEntity
OGC SensorThings API entity types.
Definition qgis.h:5099
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1326
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:3332
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:3778
RasterFileWriterResult
Raster file export results.
Definition qgis.h:1309
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition qgis.h:2135
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
Definition qgis.h:3083
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:2966
ActionType
Action types.
Definition qgis.h:3978
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:894
PlaybackOperation
Media playback operations.
Definition qgis.h:2179
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
Definition qgis.h:665
QFlags< TextRendererFlag > TextRendererFlags
Definition qgis.h:2906
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:4588
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:3681
MarkerShape
Marker shapes.
Definition qgis.h:2628
LegendJsonRenderFlag
Legend JSON export flags.
Definition qgis.h:3963
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:4275
RasterElevationMode
Raster layer elevation modes.
Definition qgis.h:3442
Capitalization
String capitalization options.
Definition qgis.h:2884
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:2252
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1063
LabelQuadrantPosition
Label quadrant positions.
Definition qgis.h:1006
QFlags< PlotToolFlag > PlotToolFlags
Definition qgis.h:3533
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:2915
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition qgis.h:1122
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:834
TextOrientation
Text orientations.
Definition qgis.h:2463
PythonMacroMode
Authorisation to run Python Macros.
Definition qgis.h:340
TemporalUnit
Temporal units.
Definition qgis.h:4465
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
Definition qgis.h:1245
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
Definition qgis.h:624
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:906
CrsDefinitionFormat
CRS definition formats.
Definition qgis.h:3317
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:1885
QFlags< ProcessingParameterTypeFlag > ProcessingParameterTypeFlags
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3177
TileAvailability
Possible availability states for a tile within a tile matrix.
Definition qgis.h:4761
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:3513
BrowserItemType
Browser item types.
Definition qgis.h:674
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
Definition qgis.h:1845
SettingsType
Types of settings entries.
Definition qgis.h:445
QFlags< SettingsOption > SettingsOptions
Definition qgis.h:539
RasterTemporalMode
Raster layer temporal modes.
Definition qgis.h:2237
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1283
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:2418
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:274
RelationshipType
Relationship types.
Definition qgis.h:3797
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:3907
RasterInterfaceCapability
Raster interface capabilities.
Definition qgis.h:4198
JoinStyle
Join styles for buffers.
Definition qgis.h:1788
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:3666
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
Definition qgis.h:5090
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:2546
FieldDuplicatePolicy
Duplicate policy for fields.
Definition qgis.h:3364
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:4603
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Definition qgis.h:1903
DpiMode
DpiMode enum.
Definition qgis.h:2853
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition qgis.h:755
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3071
AltitudeBinding
Altitude binding.
Definition qgis.h:3416
Q_ENUM(ProcessingProviderFlag)
TiledSceneRendererFlag
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:4854
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:3993
ShaderClassificationMethod
Color ramp shader classification methods.
Definition qgis.h:1170
ZonalStatisticResult
Zonal statistics result codes.
Definition qgis.h:4931
ScriptLanguage
Scripting languages.
Definition qgis.h:3884
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
Definition qgis.h:719
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:4775
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:1089
RasterBandStatistic
Available raster band statistics.
Definition qgis.h:5072
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
Definition qgis.h:4752
QFlags< ZonalStatistic > ZonalStatistics
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:4922
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:2224
TextRenderFormat
Options for rendering text.
Definition qgis.h:2404
DataType
Raster data types.
Definition qgis.h:288
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
Definition qgis.h:2958
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition qgis.h:1129
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:4311
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
Definition qgis.h:1254
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition qgis.h:3588
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
Definition qgis.h:2309
RelationshipCapability
Relationship capabilities.
Definition qgis.h:3837
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:4162
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:3576
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:4822
LayerType
Types of layers that can be added to a map.
Definition qgis.h:114
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
Definition qgis.h:2100
FieldOrigin
Field origin.
Definition qgis.h:1371
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
Definition qgis.h:5009
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition qgis.h:3529
RenderUnit
Rendering size units.
Definition qgis.h:4489
CoordinateOrder
Order of coordinates.
Definition qgis.h:2034
SelectionFlag
Flags which control feature selection behavior.
Definition qgis.h:1464
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
Definition qgis.h:481
EndCapStyle
End cap styles for buffers.
Definition qgis.h:1775
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
Definition qgis.h:4845
QFlags< MapLayerActionFlag > MapLayerActionFlags
Map layer action flags.
Definition qgis.h:4031
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
Definition qgis.h:1918
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:1680
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
Definition qgis.h:2438
FieldDomainType
Types of field domain.
Definition qgis.h:3377
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2382
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2349
RasterPipeInterfaceRole
Raster pipe interface roles.
Definition qgis.h:1183
CoverageValidityResult
Coverage validity results.
Definition qgis.h:1801
Aggregate
Available aggregates to calculate.
Definition qgis.h:4949
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
Definition qgis.h:619
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
Definition qgis.h:2110
MapBoxGlStyleSourceType
Available MapBox GL style source types.
Definition qgis.h:3759
LayoutUnitType
Types of layout units.
Definition qgis.h:4529
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:2797
FieldMetadataProperty
Standard field metadata values.
Definition qgis.h:1412
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:4835
RasterRendererCapability
Raster renderer capabilities.
Definition qgis.h:1235
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition qgis.h:1500
HistoryProviderBackend
History provider backends.
Definition qgis.h:2979
RasterExportType
Raster file export types.
Definition qgis.h:1296
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition qgis.h:1355
TextVerticalAlignment
Text vertical alignment.
Definition qgis.h:2530
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:3823
GradientType
Gradient types.
Definition qgis.h:2713
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
Definition qgis.h:3919
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:3614
GpsFeatureType
GPS feature types.
Definition qgis.h:1694
VectorLayerTypeFlag
Vector layer type flags.
Definition qgis.h:327
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition qgis.h:1814
RangeLimits
Describes how the limits of a range are handled.
Definition qgis.h:3428
QFlags< ProjectFlag > ProjectFlags
Definition qgis.h:3520
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:2212
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3203
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
Definition qgis.h:842
VectorEditResult
Specifies the result of a vector layer edit operation.
Definition qgis.h:1485
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:412
Axis
Cartesian axes.
Definition qgis.h:2083
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
Definition qgis.h:3849
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:584
VolumeUnit
Units of volume.
Definition qgis.h:4421
AttributeEditorType
Attribute editor types.
Definition qgis.h:4618
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
Definition qgis.h:3967
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
Definition qgis.h:4594
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
Definition qgis.h:655
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:1872
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition qgis.h:610
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3125
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:3641
MeshElevationMode
Mesh layer elevation modes.
Definition qgis.h:3456
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:3696
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:4078
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:3601
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:2449
Q_ENUM(ProcessingAlgorithmFlag)
RendererUsage
Usage of the renderer.
Definition qgis.h:2940
SettingsTreeNodeOption
Options for named list nodes.
Definition qgis.h:476
BabelFormatCapability
Babel GPS format capabilities.
Definition qgis.h:1661
PostgresRelKind
Postgres database relkind options.
Definition qgis.h:4553
GpsConnectionType
GPS connection types.
Definition qgis.h:1527
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
Definition qgis.h:4579
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
Definition qgis.h:3112
LoadStyleFlag
Flags for loading layer styles.
Definition qgis.h:160
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:3469
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
Definition qgis.h:4734
MetadataDateType
Date types for metadata.
Definition qgis.h:4060
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
Definition qgis.h:2277
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3136
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:4177
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:2511
SymbolFlag
Flags controlling behavior of symbols.
Definition qgis.h:605
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition qgis.h:3482
HttpMethod
Different methods of HTTP requests.
Definition qgis.h:791
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:2728
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3034
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:4810
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
Definition qgis.h:5034
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1425
InputControllerType
Input controller types.
Definition qgis.h:4541
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:2902
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1452
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:1984
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:3273
QFlags< MarkerLinePlacement > MarkerLinePlacements
Definition qgis.h:2688
CrsWktVariant
Coordinate reference system WKT formatting variants.
Definition qgis.h:2064
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:4867
AutoRefreshMode
Map layer automatic refresh modes.
Definition qgis.h:1928
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3045
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1388
SettingsOrigin
The setting origin describes where a setting is stored.
Definition qgis.h:3871
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3188
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:918
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:4711
QFlags< LayerFilter > LayerFilters
Definition qgis.h:151
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:3260
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:2298
TextComponent
Text components.
Definition qgis.h:2495
DateTimeStatistic
Available date/time statistics.
Definition qgis.h:5018
AnimationState
Animation states.
Definition qgis.h:2166
TransformDirection
Indicates the direction (forward or inverse) of a transform.
Definition qgis.h:2286
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:3564
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3148
QFlags< HistoryProviderBackend > HistoryProviderBackends
Definition qgis.h:2984
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition qgis.h:966
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1403
UpsideDownLabelHandling
Handling techniques for upside down labels.
Definition qgis.h:1074
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:1541
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3228
MapSettingsFlag
Flags which adjust the way maps are rendered.
Definition qgis.h:2318
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
Definition qgis.h:850
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
Definition qgis.h:3097
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1438
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:5309
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:5327
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:5316
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:5940
const double DEFAULT_LINE_WIDTH
Definition qgis.h:5978
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:5832
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:5655
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:5362
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:5519
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:5636
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:5694
const long GEO_EPSG_CRS_ID
Magic number for a geographic coord sys in EpsgCrsId ID format.
Definition qgis.h:5964
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:5502
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:5716
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:5993
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:5619
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference)
Definition qgis.h:5456
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:5536
const QList< T > qgsEnumList()
Returns a list all enum entries.
Definition qgis.h:5602
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:5486
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
Definition qgis.h:5445
CONSTLATIN1STRING geoProj4()
PROJ4 string that represents a geographic coord sys.
Definition qgis.h:5928
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:5407
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:5349
const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition qgis.h:5981
QMap< QString, QString > QgsStringMap
Definition qgis.h:5983
#define CONSTLATIN1STRING
Definition qgis.h:5881
CONSTLATIN1STRING geoWkt()
Wkt string that represents a geographic coord sys.
Definition qgis.h:5920
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:5462
const int USER_CRS_START_ID
Magick number that determines whether a projection crsid is a system (srs.db) or user (~/....
Definition qgis.h:5970
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:5427
const long GEOSRID
Magic number for a geographic coord sys in POSTGIS SRID.
Definition qgis.h:5958
#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:5846
CONSTLATIN1STRING geoEpsgCrsAuthId()
Geographic coord sys from EPSG authority.
Definition qgis.h:5934
const long GEOCRS_ID
Magic number for a geographic coord sys in QGIS srs.db tbl_srs.srs_id.
Definition qgis.h:5961
const double DEFAULT_POINT_SIZE
Magic number that determines the default point size for point symbols.
Definition qgis.h:5977
#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