QGIS API Documentation 3.36.0-Maidenhead (09951dc0acf)
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
182 {
183 Unknown = 0,
184 Point = 1,
185 LineString = 2,
186 Polygon = 3,
187 Triangle = 17,
188 MultiPoint = 4,
189 MultiLineString = 5,
190 MultiPolygon = 6,
191 GeometryCollection = 7,
192 CircularString = 8,
193 CompoundCurve = 9,
194 CurvePolygon = 10,
195 MultiCurve = 11,
196 MultiSurface = 12,
197 NoGeometry = 100,
198 PointZ = 1001,
199 LineStringZ = 1002,
200 PolygonZ = 1003,
201 TriangleZ = 1017,
202 MultiPointZ = 1004,
203 MultiLineStringZ = 1005,
204 MultiPolygonZ = 1006,
205 GeometryCollectionZ = 1007,
206 CircularStringZ = 1008,
207 CompoundCurveZ = 1009,
208 CurvePolygonZ = 1010,
209 MultiCurveZ = 1011,
210 MultiSurfaceZ = 1012,
211 PointM = 2001,
212 LineStringM = 2002,
213 PolygonM = 2003,
214 TriangleM = 2017,
215 MultiPointM = 2004,
216 MultiLineStringM = 2005,
217 MultiPolygonM = 2006,
218 GeometryCollectionM = 2007,
219 CircularStringM = 2008,
220 CompoundCurveM = 2009,
221 CurvePolygonM = 2010,
222 MultiCurveM = 2011,
223 MultiSurfaceM = 2012,
224 PointZM = 3001,
225 LineStringZM = 3002,
226 PolygonZM = 3003,
227 MultiPointZM = 3004,
228 MultiLineStringZM = 3005,
229 MultiPolygonZM = 3006,
230 GeometryCollectionZM = 3007,
231 CircularStringZM = 3008,
232 CompoundCurveZM = 3009,
233 CurvePolygonZM = 3010,
234 MultiCurveZM = 3011,
235 MultiSurfaceZM = 3012,
236 TriangleZM = 3017,
237 Point25D = 0x80000001,
238 LineString25D,
239 Polygon25D,
240 MultiPoint25D,
241 MultiLineString25D,
242 MultiPolygon25D
243 };
244 Q_ENUM( WkbType )
245
246
255 {
256 Point SIP_MONKEYPATCH_COMPAT_NAME( PointGeometry ),
257 Line SIP_MONKEYPATCH_COMPAT_NAME( LineGeometry ),
258 Polygon SIP_MONKEYPATCH_COMPAT_NAME( PolygonGeometry ),
259 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownGeometry ),
260 Null SIP_MONKEYPATCH_COMPAT_NAME( NullGeometry ),
261 };
262 Q_ENUM( GeometryType )
263
264
269 {
270 UnknownDataType = 0,
271 Byte = 1,
272 Int8 = 14,
273 UInt16 = 2,
274 Int16 = 3,
275 UInt32 = 4,
276 Int32 = 5,
277 Float32 = 6,
278 Float64 = 7,
279 CInt16 = 8,
280 CInt32 = 9,
281 CFloat32 = 10,
282 CFloat64 = 11,
283 ARGB32 = 12,
284 ARGB32_Premultiplied = 13
285 };
286 Q_ENUM( DataType )
287
288
293 enum class CaptureTechnique : int
294 {
295 StraightSegments,
296 CircularString,
297 Streaming,
298 Shape,
299 };
300 Q_ENUM( CaptureTechnique )
301
302
307 enum class VectorLayerTypeFlag : int SIP_ENUM_BASETYPE( IntFlag )
308 {
309 SqlQuery = 1 << 0
310 };
311 Q_ENUM( VectorLayerTypeFlag )
313 Q_DECLARE_FLAGS( VectorLayerTypeFlags, VectorLayerTypeFlag )
314 Q_FLAG( VectorLayerTypeFlags )
315
316
321 {
322 Never = 0,
323 Ask = 1,
324 SessionOnly = 2,
325 Always = 3,
326 NotForThisSession,
327 };
328 Q_ENUM( PythonMacroMode )
329
330
336 {
337 Uncounted = -2,
338 UnknownCount = -1,
339 };
340 Q_ENUM( FeatureCountState )
341
342
349 {
350 Unknown SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexUnknown ) = 0,
351 NotPresent SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexNotPresent ) = 1,
352 Present SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexPresent ) = 2,
353 };
354 Q_ENUM( SpatialIndexPresence )
355
356
368 {
369 NoFeaturesAvailable = 0,
370 FeaturesAvailable,
371 FeaturesMaybeAvailable
372 };
373 Q_ENUM( FeatureAvailability )
374
375
381 {
382 EditAlias = 1 << 0,
383 EditComment = 1 << 1,
384 };
385
386 Q_ENUM( VectorDataProviderAttributeEditCapability )
387
388
393 Q_DECLARE_FLAGS( VectorDataProviderAttributeEditCapabilities, VectorDataProviderAttributeEditCapability )
394 Q_FLAG( VectorDataProviderAttributeEditCapabilities )
395
396
401 {
402 Marker,
403 Line,
404 Fill,
405 Hybrid
406 };
407 Q_ENUM( SymbolType )
408
409
415 {
416 ScaleArea,
417 ScaleDiameter
418 };
419 Q_ENUM( ScaleMethod )
420
421
426 {
427 Custom,
428 Variant,
429 String,
430 StringList,
431 VariantMap,
432 Bool,
433 Integer,
434 Double,
435 EnumFlag,
436 Color
437 };
438 Q_ENUM( SettingsType )
439
440
445 {
446 Root,
447 Standard,
448 NamedList,
449 };
450 Q_ENUM( SettingsTreeNodeType )
451
452
456 enum class SettingsTreeNodeOption : int SIP_ENUM_BASETYPE( IntFlag )
457 {
458 NamedListSelectedItemSetting = 1 << 0,
459 };
460
461 Q_ENUM( SettingsTreeNodeOption )
462 Q_DECLARE_FLAGS( SettingsTreeNodeOptions, SettingsTreeNodeOption )
463 Q_FLAG( SettingsTreeNodeOptions )
464
465
473 {
474 Invalid SIP_MONKEYPATCH_COMPAT_NAME( InvalidProperty ),
475 Static SIP_MONKEYPATCH_COMPAT_NAME( StaticProperty ),
476 Field SIP_MONKEYPATCH_COMPAT_NAME( FieldBasedProperty ),
477 Expression SIP_MONKEYPATCH_COMPAT_NAME( ExpressionBasedProperty ),
478 };
479 Q_ENUM( PropertyType )
480
481
486 enum class SldExportOption : int SIP_ENUM_BASETYPE( IntFlag )
487 {
488 NoOptions = 0,
489 Svg = 1 << 0,
490 Png = 1 << 1,
491 };
492 Q_ENUM( SldExportOption )
493 Q_DECLARE_FLAGS( SldExportOptions, SldExportOption )
494 Q_FLAG( SldExportOptions )
495
496
501 enum class SldExportVendorExtension : int SIP_ENUM_BASETYPE( IntFlag )
502 {
503 NoVendorExtension = 0,
504 GeoServerVendorExtension = 1 << 1,
505 DeegreeVendorExtension = 1 << 2,
506 };
507 Q_ENUM( SldExportVendorExtension )
508
509
510
514 enum class SettingsOption : int SIP_ENUM_BASETYPE( IntFlag )
515 {
516 SaveFormerValue = 1 << 1, //<! Save the former value of the settings
517 SaveEnumFlagAsInt = 1 << 2,
518 };
519 Q_ENUM( SettingsOption )
520 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
521 Q_FLAG( SettingsOptions )
522
523
528 {
529 ActiveLayer = 1,
530 AllLayers = 2,
531 AdvancedConfiguration = 3,
532 };
533 Q_ENUM( SnappingMode )
534
535
540 {
541 NoSnap SIP_MONKEYPATCH_COMPAT_NAME( NoSnapFlag ) = 0,
542 Vertex SIP_MONKEYPATCH_COMPAT_NAME( VertexFlag ) = 1 << 0,
543 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentFlag ) = 1 << 1,
544 Area SIP_MONKEYPATCH_COMPAT_NAME( AreaFlag ) = 1 << 2,
545 Centroid SIP_MONKEYPATCH_COMPAT_NAME( CentroidFlag ) = 1 << 3,
546 MiddleOfSegment SIP_MONKEYPATCH_COMPAT_NAME( MiddleOfSegmentFlag ) = 1 << 4,
547 LineEndpoint SIP_MONKEYPATCH_COMPAT_NAME( LineEndpointFlag ) = 1 << 5,
548 };
549 Q_ENUM( SnappingType )
551 Q_DECLARE_FLAGS( SnappingTypes, SnappingType ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsSnappingConfig, SnappingTypeFlag )
552 Q_FLAG( SnappingTypes )
553
560 {
561 DynamicRotation = 2,
562 };
563 Q_ENUM( SymbolRenderHint )
565 Q_DECLARE_FLAGS( SymbolRenderHints, SymbolRenderHint ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsSymbol, RenderHints )
566 Q_FLAG( SymbolRenderHints )
567
573 enum class SymbolRotationMode : int
574 {
575 RespectMapRotation,
576 IgnoreMapRotation,
577 };
578 Q_ENUM( SymbolRotationMode )
579
580
585 enum class SymbolFlag : int SIP_ENUM_BASETYPE( IntFlag )
586 {
587 RendererShouldUseSymbolLevels = 1 << 0,
588 };
589 Q_ENUM( SymbolFlag )
591 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
592 Q_FLAG( SymbolFlags )
593
594
600 {
601 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
602 };
603 Q_ENUM( SymbolPreviewFlag )
605 Q_DECLARE_FLAGS( SymbolPreviewFlags, SymbolPreviewFlag ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsSymbol, SymbolPreviewFlags )
606 Q_FLAG( SymbolPreviewFlags )
607
617 enum class SymbolLayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
618 {
619 DisableFeatureClipping = 1 << 0,
620 };
621 Q_ENUM( SymbolLayerFlag )
623 Q_DECLARE_FLAGS( SymbolLayerFlags, SymbolLayerFlag )
624 Q_FLAG( SymbolLayerFlags )
625
626
635 enum class SymbolLayerUserFlag : int SIP_ENUM_BASETYPE( IntFlag )
636 {
637 DisableSelectionRecoloring = 1 << 0,
638 };
639 Q_ENUM( SymbolLayerUserFlag )
640
641
646 Q_DECLARE_FLAGS( SymbolLayerUserFlags, SymbolLayerUserFlag )
647 Q_FLAG( SymbolLayerUserFlags )
648
649
655 {
656 Collection,
657 Directory,
658 Layer,
659 Error,
660 Favorites,
661 Project,
662 Custom,
663 Fields,
664 Field,
665 };
666 Q_ENUM( BrowserItemType )
667
668
674 {
675 NotPopulated,
676 Populating,
677 Populated,
678 };
679 Q_ENUM( BrowserItemState )
680
681
687 {
688 NoCapabilities = 0,
689 SetCrs = 1 << 0,
690 Fertile = 1 << 1,
691 Fast = 1 << 2,
692 Collapse = 1 << 3,
693 Rename = 1 << 4,
694 Delete = 1 << 5,
695 ItemRepresentsFile = 1 << 6,
696 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
697 };
698 Q_ENUM( BrowserItemCapability )
700 Q_DECLARE_FLAGS( BrowserItemCapabilities, BrowserItemCapability ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsDataItem, Capabilities )
701 Q_FLAG( BrowserItemCapabilities )
702
711 {
712 NoCapabilities SIP_MONKEYPATCH_COMPAT_NAME( NoDataCapabilities ) = 0,
713 Files SIP_MONKEYPATCH_COMPAT_NAME( File ) = 1,
714 Directories SIP_MONKEYPATCH_COMPAT_NAME( Dir ) = 1 << 1,
715 Databases SIP_MONKEYPATCH_COMPAT_NAME( Database ) = 1 << 2,
716 NetworkSources SIP_MONKEYPATCH_COMPAT_NAME( Net ) = 1 << 3,
717 };
718 Q_ENUM( DataItemProviderCapability )
719
720
727 Q_DECLARE_FLAGS( DataItemProviderCapabilities, DataItemProviderCapability ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsDataProvider, DataCapabilities )
728 Q_FLAG( DataItemProviderCapabilities )
729
736 {
737 NoType,
738 Vector,
739 Raster,
740 Point,
741 Line,
742 Polygon,
743 TableLayer,
744 Database,
745 Table,
746 Plugin,
747 Mesh,
748 VectorTile,
749 PointCloud,
750 TiledScene,
751 };
752 Q_ENUM( BrowserLayerType )
753
754
760 {
761 Default,
762 NeverMonitor,
763 AlwaysMonitor,
764 };
765 Q_ENUM( BrowserDirectoryMonitoring )
766
767
771 enum class HttpMethod : int
772 {
773 Get = 0,
774 Post = 1
775 };
776 Q_ENUM( HttpMethod )
777
778
784 {
785 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
786 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
787 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
788 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
789 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
790 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
791 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
792 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
793 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
794 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
795 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
796 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
797 };
798 Q_ENUM( VectorExportResult )
799
800
805 {
806 FieldAliases = 1 << 0,
807 FieldComments = 1 << 2,
808 };
809 Q_ENUM( VectorFileWriterCapability )
810
811
815 Q_DECLARE_FLAGS( VectorFileWriterCapabilities, VectorFileWriterCapability )
816 Q_FLAG( VectorFileWriterCapabilities )
817
818
823 {
824 SubsetStringFilter = 1 << 1,
825 GeometryColumn = 1 << 2,
826 PrimaryKeys = 1 << 3,
827 UnstableFeatureIds = 1 << 4
828 };
829 Q_ENUM( SqlLayerDefinitionCapability )
831 Q_DECLARE_FLAGS( SqlLayerDefinitionCapabilities, SqlLayerDefinitionCapability )
832 Q_FLAG( SqlLayerDefinitionCapabilities )
833
834
839 enum class SqlKeywordCategory : int
840 {
841 Keyword,
842 Constant,
843 Function,
844 Geospatial,
845 Operator,
846 Math,
847 Aggregate,
848 String,
849 Identifier
850 };
851 Q_ENUM( SqlKeywordCategory )
852
853
857 enum class DriveType : int
858 {
859 Unknown,
860 Invalid,
861 Removable,
862 Fixed,
863 Remote,
864 CdRom,
865 RamDisk,
866 Cloud,
867 };
868 Q_ENUM( DriveType )
869
870
875 {
876 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
877 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
878 };
879 Q_ENUM( ActionStart )
880
881
886 enum class UnplacedLabelVisibility : int
887 {
888 FollowEngineSetting,
889 NeverShow,
890 };
891 Q_ENUM( UnplacedLabelVisibility )
892
893
898 enum class LabelOverlapHandling : int
899 {
900 PreventOverlap,
901 AllowOverlapIfRequired,
902 AllowOverlapAtNoCost,
903 };
904 Q_ENUM( LabelOverlapHandling )
905
906
914 {
915 AroundPoint,
916 OverPoint,
917 Line,
918 Curved,
919 Horizontal,
920 Free,
921 OrderedPositionsAroundPoint,
922 PerimeterCurved,
923 OutsidePolygons,
924 };
925 Q_ENUM( LabelPlacement )
926
927
935 {
936 TopLeft,
937 TopSlightlyLeft,
938 TopMiddle,
939 TopSlightlyRight,
940 TopRight,
941 MiddleLeft,
942 MiddleRight,
943 BottomLeft,
944 BottomSlightlyLeft,
945 BottomMiddle,
946 BottomSlightlyRight,
947 BottomRight,
948 };
949 Q_ENUM( LabelPredefinedPointPosition )
950
951
960 {
961 FromPoint,
962 FromSymbolBounds,
963 };
964 Q_ENUM( LabelOffsetType )
965
966
974 {
975 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
976 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
977 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
978 Left SIP_MONKEYPATCH_COMPAT_NAME( QuadrantLeft ),
979 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
980 Right SIP_MONKEYPATCH_COMPAT_NAME( QuadrantRight ),
981 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
982 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
983 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
984 };
985 Q_ENUM( LabelQuadrantPosition )
986
987
994 {
995 OnLine = 1,
996 AboveLine = 2,
997 BelowLine = 4,
998 MapOrientation = 8,
999 };
1000 Q_ENUM( LabelLinePlacementFlag )
1001
1002
1009 Q_DECLARE_FLAGS( LabelLinePlacementFlags, LabelLinePlacementFlag ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsLabeling, LinePlacementFlags )
1010 Q_FLAG( LabelLinePlacementFlags )
1011
1019 {
1020 AllowPlacementOutsideOfPolygon = 1 << 0,
1021 AllowPlacementInsideOfPolygon = 1 << 1,
1022 };
1023 Q_ENUM( LabelPolygonPlacementFlag )
1024
1025
1031 Q_DECLARE_FLAGS( LabelPolygonPlacementFlags, LabelPolygonPlacementFlag )
1032 Q_FLAG( LabelPolygonPlacementFlags )
1033
1034
1042 {
1043 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
1044 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
1045 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
1046 };
1047 Q_ENUM( UpsideDownLabelHandling )
1048
1049
1057 {
1058 Left SIP_MONKEYPATCH_COMPAT_NAME( MultiLeft ) = 0,
1059 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
1060 Right SIP_MONKEYPATCH_COMPAT_NAME( MultiRight ),
1061 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
1062 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
1063 };
1064 Q_ENUM( LabelMultiLineAlignment )
1065
1066
1073 {
1074 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
1075 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1076 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1077 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1078 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1079 VectorTile,
1080 TiledScene,
1081 };
1082 Q_ENUM( FileFilterType )
1083
1084
1089 enum class SublayerQueryFlag : int SIP_ENUM_BASETYPE( IntFlag )
1090 {
1091 FastScan = 1 << 0,
1092 ResolveGeometryType = 1 << 1,
1093 CountFeatures = 1 << 2,
1094 IncludeSystemTables = 1 << 3,
1095 };
1097 Q_DECLARE_FLAGS( SublayerQueryFlags, SublayerQueryFlag )
1098 Q_ENUM( SublayerQueryFlag )
1099 Q_FLAG( SublayerQueryFlags )
1100
1101
1106 enum class SublayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
1107 {
1108 SystemTable = 1 << 0,
1109 };
1111 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1112 Q_ENUM( SublayerFlag )
1113 Q_FLAG( SublayerFlags )
1114
1115
1121 {
1122 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1123 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1124 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1125 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1126 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1127 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1128 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1129 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1130 };
1131 Q_ENUM( RasterPipeInterfaceRole )
1132
1133
1138 {
1140 ResampleFilter,
1142 Provider
1143 };
1144 Q_ENUM( RasterResamplingStage )
1145
1146
1151 enum class RasterRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
1152 {
1153 InternalLayerOpacityHandling = 1 << 0,
1154 };
1155
1161 Q_DECLARE_FLAGS( RasterRendererFlags, RasterRendererFlag )
1162
1163 Q_ENUM( RasterRendererFlag )
1164 Q_FLAG( RasterRendererFlags )
1165
1166
1172 {
1173 Generic = 0,
1174 PixelCount = 1,
1175 Name = 2,
1176 Min = 3,
1177 Max = 4,
1178 MinMax = 5,
1179 Red = 6,
1180 Green = 7,
1181 Blue = 8,
1182 Alpha = 9,
1183 RedMin = 10,
1184 GreenMin = 11,
1185 BlueMin = 12,
1186 AlphaMin = 13,
1187 RedMax = 14,
1188 GreenMax = 15,
1189 BlueMax = 16,
1190 AlphaMax = 17,
1191 MaxCount
1192 };
1193 Q_ENUM( RasterAttributeTableFieldUsage )
1194
1195
1201 {
1202 Thematic = 0,
1203 Athematic = 1
1204 };
1205 Q_ENUM( RasterAttributeTableType )
1206
1207
1214 {
1215 Raw = 0,
1216 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1217 };
1218 Q_ENUM( RasterExportType )
1219
1220
1227 {
1228 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
1229 SourceProviderError = 1,
1230 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1231 CreateDatasourceError = 3,
1232 WriteError = 4,
1233 NoDataConflict = 5,
1234 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1235 };
1236 Q_ENUM( RasterFileWriterResult )
1237
1238
1243 enum class MeshEditingErrorType : int
1244 {
1245 NoError,
1246 InvalidFace,
1247 TooManyVerticesInFace,
1248 FlatFace,
1249 UniqueSharedVertex,
1250 InvalidVertex,
1251 ManifoldFace,
1252 };
1253 Q_ENUM( MeshEditingErrorType )
1254
1255
1260 enum class FilePathType : int
1261 {
1262 Absolute,
1263 Relative,
1264 };
1265 Q_ENUM( FilePathType )
1266
1267
1272 enum class SublayerPromptMode : int
1273 {
1274 AlwaysAsk,
1275 AskExcludingRasterBands,
1276 NeverAskSkip,
1277 NeverAskLoadAll,
1278 };
1279 Q_ENUM( SublayerPromptMode )
1280
1281
1288 enum class FieldConfigurationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1289 {
1290 NoFlag = 0,
1291 NotSearchable = 1 << 1,
1292 HideFromWms = 1 << 2,
1293 HideFromWfs = 1 << 3,
1294 };
1295 Q_ENUM( FieldConfigurationFlag )
1296
1297
1304 Q_DECLARE_FLAGS( FieldConfigurationFlags, FieldConfigurationFlag )
1305 Q_FLAG( FieldConfigurationFlags )
1306
1307
1312 enum class FieldMetadataProperty : int
1313 {
1314 GeometryCrs = 0x1000,
1315 GeometryWkbType = 0x1001,
1316 CustomProperty = 0x100000,
1317 };
1318 Q_ENUM( FieldMetadataProperty )
1319
1320
1325 enum class SelectionRenderingMode : int
1326 {
1327 Default,
1328 CustomColor,
1329 CustomSymbol,
1330 };
1331 Q_ENUM( SelectionRenderingMode )
1332
1333
1339 {
1340 SetSelection,
1341 AddToSelection,
1342 IntersectSelection,
1343 RemoveFromSelection,
1344 };
1345 Q_ENUM( SelectBehavior )
1346
1347
1353 {
1354 Intersect,
1355 Within,
1356 };
1357 Q_ENUM( SelectGeometryRelationship )
1358
1359
1364 enum class SelectionFlag : int SIP_ENUM_BASETYPE( IntFlag )
1365 {
1366 SingleFeatureSelection = 1 << 0,
1367 ToggleSelection = 1 << 1,
1368 };
1369
1375 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1376
1377 Q_ENUM( SelectionFlag )
1378 Q_FLAG( SelectionFlags )
1379
1380
1386 {
1387 Success = 0,
1388 EmptyGeometry = 1,
1389 EditFailed = 2,
1390 FetchFeatureFailed = 3,
1391 InvalidLayer = 4,
1392 };
1393 Q_ENUM( VectorEditResult )
1394
1395
1401 {
1402 SemiTransparentCircle,
1403 Cross,
1404 NoMarker,
1405 };
1406 Q_ENUM( VertexMarkerType )
1407
1408
1412 enum class ContentStatus : int
1413 {
1414 NotStarted,
1415 Running,
1416 Finished,
1417 Failed,
1418 Canceled,
1419 };
1420 Q_ENUM( ContentStatus )
1421
1422
1427 enum class GpsConnectionType : int
1428 {
1429 Automatic,
1430 Internal,
1431 Serial,
1432 Gpsd,
1433 };
1434 Q_ENUM( GpsConnectionType )
1435
1436
1441 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
1442 {
1443 Disconnected,
1444 Connecting,
1445 Connected,
1446 };
1447 Q_ENUM( DeviceConnectionStatus )
1448
1449
1457 {
1458 NoData,
1459 NoFix,
1460 Fix2D,
1461 Fix3D
1462 };
1464
1465
1472 {
1473 Unknown,
1474 Gps,
1475 Glonass,
1476 Galileo,
1477 BeiDou,
1478 Qzss,
1479 Navic,
1480 Sbas,
1481 };
1483
1490 {
1491 Unknown = -1,
1492 Invalid,
1493 GPS,
1494 DGPS,
1495 PPS,
1496 RTK,
1497 FloatRTK,
1498 Estimated,
1499 Manual,
1500 Simulation,
1501 };
1502 Q_ENUM( GpsQualityIndicator )
1503
1504
1509 enum class GpsInformationComponent : int SIP_ENUM_BASETYPE( IntFlag )
1510 {
1511 Location = 1 << 0,
1512 Altitude = 1 << 1,
1513 GroundSpeed = 1 << 2,
1514 Bearing = 1 << 3,
1515 TotalTrackLength = 1 << 4,
1516 TrackDistanceFromStart = 1 << 5,
1517 Pdop = 1 << 6,
1518 Hdop = 1 << 7,
1519 Vdop = 1 << 8,
1520 HorizontalAccuracy = 1 << 9,
1521 VerticalAccuracy = 1 << 10,
1522 HvAccuracy = 1 << 11,
1523 SatellitesUsed = 1 << 12,
1524 Timestamp = 1 << 13,
1525 TrackStartTime = 1 << 14,
1526 TrackEndTime = 1 << 15,
1527 TrackDistanceSinceLastPoint = 1 << 16,
1528 TrackTimeSinceLastPoint = 1 << 17,
1529 GeoidalSeparation = 1 << 18,
1530 EllipsoidAltitude = 1 << 19,
1531 };
1532
1538 Q_DECLARE_FLAGS( GpsInformationComponents, GpsInformationComponent )
1539 Q_ENUM( GpsInformationComponent )
1540 Q_FLAG( GpsInformationComponents )
1541
1542
1547 enum class BabelFormatCapability : int SIP_ENUM_BASETYPE( IntFlag )
1548 {
1549 Import = 1 << 0,
1550 Export = 1 << 1,
1551 Waypoints = 1 << 2,
1552 Routes = 1 << 3,
1553 Tracks = 1 << 4,
1554 };
1556 Q_DECLARE_FLAGS( BabelFormatCapabilities, BabelFormatCapability )
1557 Q_ENUM( BabelFormatCapability )
1558 Q_FLAG( BabelFormatCapabilities )
1559
1560
1566 enum class BabelCommandFlag : int SIP_ENUM_BASETYPE( IntFlag )
1567 {
1568 QuoteFilePaths = 1 << 0,
1569 };
1571 Q_DECLARE_FLAGS( BabelCommandFlags, BabelCommandFlag )
1572 Q_ENUM( BabelCommandFlag )
1573 Q_FLAG( BabelCommandFlags )
1574
1575
1580 enum class GpsFeatureType : int
1581 {
1582 Waypoint,
1583 Route,
1584 Track,
1585 };
1586 Q_ENUM( GpsFeatureType )
1587
1588
1596 {
1597 Success = 0,
1598 NothingHappened = 1000,
1599 InvalidBaseGeometry,
1600 InvalidInputGeometryType,
1601 SelectionIsEmpty,
1602 SelectionIsGreaterThanOne,
1603 GeometryEngineError,
1604 LayerNotEditable,
1605 // Add part issues
1606 AddPartSelectedGeometryNotFound,
1607 AddPartNotMultiGeometry,
1608 // Add ring issues
1609 AddRingNotClosed,
1610 AddRingNotValid,
1611 AddRingCrossesExistingRings,
1612 AddRingNotInExistingFeature,
1613 // Split features
1614 SplitCannotSplitPoint,
1615 GeometryTypeHasChanged,
1616 };
1617 Q_ENUM( GeometryOperationResult )
1618
1619
1625 {
1626 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles ) = 1 << 0,
1627 };
1630 Q_ENUM( GeometryValidityFlag )
1631 Q_FLAG( GeometryValidityFlags )
1632
1633
1638 {
1639 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
1640 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
1641 };
1642 Q_ENUM( GeometryValidationEngine )
1643
1644
1654 Q_ENUM( BufferSide )
1655
1656
1662 {
1663 Round SIP_MONKEYPATCH_COMPAT_NAME( CapRound ) = 1,
1664 Flat SIP_MONKEYPATCH_COMPAT_NAME( CapFlat ),
1665 Square SIP_MONKEYPATCH_COMPAT_NAME( CapSquare ),
1666 };
1667 Q_ENUM( EndCapStyle )
1668
1669
1675 {
1676 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
1677 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
1678 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
1679 };
1680 Q_ENUM( JoinStyle )
1681
1682
1687 enum class CoverageValidityResult : int
1688 {
1689 Invalid = 0,
1690 Valid = 1,
1691 Error = 2,
1692 };
1693 Q_ENUM( CoverageValidityResult )
1694
1695
1700 enum class MakeValidMethod : int
1701 {
1702 Linework = 0,
1703 Structure = 1,
1704 };
1705 Q_ENUM( MakeValidMethod )
1706
1707
1715 {
1716 NoFlags = 0,
1717 NoGeometry = 1,
1718 SubsetOfAttributes = 2,
1719 ExactIntersect = 4,
1720 IgnoreStaticNodesDuringExpressionCompilation = 8,
1721 EmbeddedSymbols = 16,
1722 };
1723 Q_ENUM( FeatureRequestFlag )
1724
1725
1732 Q_DECLARE_FLAGS( FeatureRequestFlags, FeatureRequestFlag ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsFeatureRequest, Flags )
1733 Q_FLAG( FeatureRequestFlags )
1734
1743 {
1744 NoFilter SIP_MONKEYPATCH_COMPAT_NAME( FilterNone ),
1745 Fid SIP_MONKEYPATCH_COMPAT_NAME( FilterFid ),
1746 Expression SIP_MONKEYPATCH_COMPAT_NAME( FilterExpression ),
1747 Fids SIP_MONKEYPATCH_COMPAT_NAME( FilterFids )
1748 };
1749 Q_ENUM( FeatureRequestFilterType )
1750
1751
1759 {
1760 NoCheck SIP_MONKEYPATCH_COMPAT_NAME( GeometryNoCheck ) = 0,
1761 SkipInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometrySkipInvalid ) = 1,
1762 AbortOnInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometryAbortOnInvalid ) = 2,
1763 };
1764 Q_ENUM( InvalidGeometryCheck )
1765
1766
1771 enum class SpatialFilterType : int
1772 {
1773 NoFilter,
1774 BoundingBox,
1775 DistanceWithin,
1776 };
1777 Q_ENUM( SpatialFilterType )
1778
1779
1784 enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1785 {
1786 IncludeMetadataFile = 1 << 0,
1787 IncludeStyleFile = 1 << 1,
1788 };
1790 Q_DECLARE_FLAGS( FileOperationFlags, FileOperationFlag )
1791 Q_ENUM( FileOperationFlag )
1792 Q_FLAG( FileOperationFlags )
1793
1794
1799 enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
1800 {
1801 UsersCannotToggleEditing = 1 << 0,
1802 IsBasemapLayer = 1 << 1,
1803 };
1805 Q_DECLARE_FLAGS( MapLayerProperties, MapLayerProperty )
1806 Q_ENUM( MapLayerProperty )
1807 Q_FLAG( MapLayerProperties )
1808
1809
1814 enum class AutoRefreshMode : int
1815 {
1816 Disabled = 0,
1817 ReloadData = 1,
1818 RedrawOnly = 2,
1819 };
1820 Q_ENUM( AutoRefreshMode )
1821
1822
1827 enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
1828 {
1829 IsBasemapSource = 1 << 1,
1830 };
1832 Q_DECLARE_FLAGS( DataProviderFlags, DataProviderFlag )
1833 Q_ENUM( DataProviderFlag )
1834 Q_FLAG( DataProviderFlags )
1835
1836
1843 enum class CrsType : int
1844 {
1845 Unknown,
1846 Geodetic,
1847 Geocentric,
1848 Geographic2d,
1849 Geographic3d,
1850 Vertical,
1851 Projected,
1852 Compound,
1853 Temporal,
1854 Engineering,
1855 Bound,
1856 Other,
1857 DerivedProjected,
1858 };
1859 Q_ENUM( CrsType )
1860
1861
1868 enum class CrsAxisDirection : int
1869 {
1870 North,
1871 NorthNorthEast,
1872 NorthEast,
1873 EastNorthEast,
1874 East,
1875 EastSouthEast,
1876 SouthEast,
1877 SouthSouthEast,
1878 South,
1879 SouthSouthWest,
1880 SouthWest,
1881 WestSouthWest,
1882 West,
1883 WestNorthWest,
1884 NorthWest,
1885 NorthNorthWest,
1886 GeocentricX,
1887 GeocentricY,
1888 GeocentricZ,
1889 Up,
1890 Down,
1891 Forward,
1892 Aft,
1893 Port,
1894 Starboard,
1895 Clockwise,
1896 CounterClockwise,
1897 ColumnPositive,
1898 ColumnNegative,
1899 RowPositive,
1900 RowNegative,
1901 DisplayRight,
1902 DisplayLeft,
1903 DisplayUp,
1904 DisplayDown,
1905 Future,
1906 Past,
1907 Towards,
1908 AwayFrom,
1909 Unspecified,
1910 };
1911 Q_ENUM( CrsAxisDirection )
1912
1913
1918 enum class CoordinateOrder : int
1919 {
1920 Default,
1921 XY,
1922 YX,
1923 };
1924 Q_ENUM( CoordinateOrder )
1925
1926
1934 {
1935 ShortString,
1936 MediumString,
1937 FullString,
1938 };
1939 Q_ENUM( CrsIdentifierType )
1940
1941
1949 {
1950 Wkt1Gdal SIP_MONKEYPATCH_COMPAT_NAME( WKT1_GDAL ),
1951 Wkt1Esri SIP_MONKEYPATCH_COMPAT_NAME( WKT1_ESRI ),
1952 Wkt2_2015 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015 ),
1953 Wkt2_2015Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015_SIMPLIFIED ),
1954 Wkt2_2019 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019 ),
1955 Wkt2_2019Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019_SIMPLIFIED ),
1956 Preferred SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED ) = Wkt2_2019,
1957 PreferredSimplified SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_SIMPLIFIED ) = Wkt2_2019Simplified,
1958 PreferredGdal SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_GDAL ) = Wkt2_2019,
1959 };
1960 Q_ENUM( CrsWktVariant )
1961
1962
1967 enum class Axis : int
1968 {
1969 X,
1970 Y,
1971 Z
1972 };
1973 Q_ENUM( Axis )
1974
1975
1980 enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
1981 {
1982 ScaleDependentBoundingBox = 1 << 0,
1983 };
1985 Q_DECLARE_FLAGS( AnnotationItemFlags, AnnotationItemFlag )
1986 Q_ENUM( AnnotationItemFlag )
1987 Q_FLAG( AnnotationItemFlags )
1988
1989
1994 enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
1995 {
1996 FlagNoCreationTools = 1 << 0,
1997 };
1999 Q_DECLARE_FLAGS( AnnotationItemGuiFlags, AnnotationItemGuiFlag )
2000 Q_ENUM( AnnotationItemGuiFlag )
2001 Q_FLAG( AnnotationItemGuiFlags )
2002
2003
2008 enum class AnnotationItemNodeType : int
2009 {
2010 VertexHandle,
2011 };
2012 Q_ENUM( AnnotationItemNodeType )
2013
2014
2020 {
2021 Success,
2022 Invalid,
2023 ItemCleared,
2024 };
2025 Q_ENUM( AnnotationItemEditOperationResult )
2026
2027
2035 {
2036 Disabled SIP_MONKEYPATCH_COMPAT_NAME( NavigationOff ),
2037 Animated,
2038 FixedRange,
2039 Movie,
2040 };
2041 Q_ENUM( TemporalNavigationMode )
2042
2043
2051 {
2052 Forward,
2053 Reverse,
2054 Idle,
2055 };
2056 Q_ENUM( AnimationState )
2057
2058
2063 enum class PlaybackOperation : int
2064 {
2065 SkipToStart,
2066 PreviousFrame,
2067 PlayReverse,
2068 Pause,
2069 PlayForward,
2070 NextFrame,
2071 SkipToEnd,
2072 };
2073 Q_ENUM( PlaybackOperation )
2074
2075
2081 {
2082 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2083 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
2084 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
2085 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
2086 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
2087 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ),
2088 };
2089 Q_ENUM( VectorTemporalMode )
2090
2091
2097 {
2098 IncludeBeginExcludeEnd = 0,
2099 IncludeBeginIncludeEnd,
2100 };
2101 Q_ENUM( VectorTemporalLimitMode )
2102
2103
2109 {
2110 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
2111 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
2112 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2113 };
2114 Q_ENUM( VectorDataProviderTemporalMode )
2115
2116
2122 {
2123 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2124 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
2125 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ) = 2,
2126 };
2127 Q_ENUM( RasterTemporalMode )
2128
2129
2135 {
2136 MatchUsingWholeRange,
2137 MatchExactUsingStartOfRange,
2138 MatchExactUsingEndOfRange,
2139 FindClosestMatchToStartOfRange,
2140 FindClosestMatchToEndOfRange
2141 };
2142 Q_ENUM( TemporalIntervalMatchMethod )
2143
2144
2150 {
2151 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
2152 };
2153 Q_ENUM( RasterTemporalCapabilityFlag )
2154
2155
2160 Q_DECLARE_FLAGS( RasterTemporalCapabilityFlags, RasterTemporalCapabilityFlag )
2161 Q_FLAG( RasterTemporalCapabilityFlags )
2162
2163
2169 {
2170 Forward SIP_MONKEYPATCH_COMPAT_NAME( ForwardTransform ),
2171 Reverse SIP_MONKEYPATCH_COMPAT_NAME( ReverseTransform )
2172 };
2173 Q_ENUM( TransformDirection )
2174
2175
2181 {
2182 BallparkTransformsAreAppropriate = 1 << 0,
2183 IgnoreImpossibleTransformations = 1 << 1,
2184 };
2185 Q_ENUM( CoordinateTransformationFlag )
2186
2187
2192 Q_DECLARE_FLAGS( CoordinateTransformationFlags, CoordinateTransformationFlag )
2193 Q_FLAG( CoordinateTransformationFlags )
2194
2195
2201 {
2202 Antialiasing = 0x01,
2203 DrawEditingInfo = 0x02,
2204 ForceVectorOutput = 0x04,
2205 UseAdvancedEffects = 0x08,
2206 DrawLabeling = 0x10,
2207 UseRenderingOptimization = 0x20,
2208 DrawSelection = 0x40,
2209 DrawSymbolBounds = 0x80,
2210 RenderMapTile = 0x100,
2211 RenderPartialOutput = 0x200,
2212 RenderPreviewJob = 0x400,
2213 RenderBlocking = 0x800,
2214 LosslessImageRendering = 0x1000,
2215 Render3DMap = 0x2000,
2216 HighQualityImageTransforms = 0x4000,
2217 SkipSymbolRendering = 0x8000,
2218 ForceRasterMasks = 0x10000,
2219 RecordProfile = 0x20000,
2220 };
2223 Q_ENUM( MapSettingsFlag )
2224 Q_FLAG( MapSettingsFlags )
2225
2226
2232 {
2233 DrawEditingInfo = 0x01,
2234 ForceVectorOutput = 0x02,
2235 UseAdvancedEffects = 0x04,
2236 UseRenderingOptimization = 0x08,
2237 DrawSelection = 0x10,
2238 DrawSymbolBounds = 0x20,
2239 RenderMapTile = 0x40,
2240 Antialiasing = 0x80,
2241 RenderPartialOutput = 0x100,
2242 RenderPreviewJob = 0x200,
2243 RenderBlocking = 0x400,
2244 RenderSymbolPreview = 0x800,
2245 LosslessImageRendering = 0x1000,
2246 ApplyScalingWorkaroundForTextRendering = 0x2000,
2247 Render3DMap = 0x4000,
2248 ApplyClipAfterReprojection = 0x8000,
2249 RenderingSubSymbol = 0x10000,
2250 HighQualityImageTransforms = 0x20000,
2251 SkipSymbolRendering = 0x40000,
2252 RecordProfile = 0x80000,
2253 };
2256 Q_ENUM( RenderContextFlag )
2257 Q_FLAG( RenderContextFlags )
2258
2259
2264 enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2265 {
2266 RenderPartialOutputs = 1 << 0,
2267 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2268 };
2269 Q_ENUM( MapLayerRendererFlag )
2270
2271
2276 Q_DECLARE_FLAGS( MapLayerRendererFlags, MapLayerRendererFlag )
2277 Q_FLAG( MapLayerRendererFlags )
2278
2279 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
2280 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
2281
2282
2287 {
2288 AlwaysOutlines SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysOutlines ),
2289 AlwaysText SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysText ),
2290 };
2291 Q_ENUM( TextRenderFormat )
2292
2293
2301 {
2302 UseAllLabels = 1 << 1,
2303 UsePartialCandidates = 1 << 2,
2304 // TODO QGIS 4.0: remove
2305 RenderOutlineLabels = 1 << 3,
2306 DrawLabelRectOnly = 1 << 4,
2307 DrawCandidates = 1 << 5,
2308 DrawUnplacedLabels = 1 << 6,
2309 CollectUnplacedLabels = 1 << 7,
2310 DrawLabelMetrics = 1 << 8,
2311 };
2312 Q_ENUM( LabelingFlag )
2313
2314
2321 Q_DECLARE_FLAGS( LabelingFlags, LabelingFlag ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsLabelingEngineSettings, Flags )
2322 Q_FLAG( LabelingFlags )
2323
2332 {
2333 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
2334 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
2335 };
2336 Q_ENUM( LabelPlacementEngineVersion )
2337
2338
2346 {
2347 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
2348 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
2349 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
2350 };
2351 Q_ENUM( TextOrientation )
2352
2353
2361 {
2362 Rectangle SIP_MONKEYPATCH_COMPAT_NAME( Rect ),
2363 Point,
2364 Labeling SIP_MONKEYPATCH_COMPAT_NAME( Label ),
2365 RectangleCapHeightBased,
2366 RectangleAscentBased,
2367 };
2368 Q_ENUM( TextLayoutMode )
2369
2370
2378 {
2379 Text,
2380 Buffer,
2381 Background,
2382 Shadow,
2383 };
2384 Q_ENUM( TextComponent )
2385
2386
2394 {
2395 Left SIP_MONKEYPATCH_COMPAT_NAME( AlignLeft ),
2396 Center SIP_MONKEYPATCH_COMPAT_NAME( AlignCenter ),
2397 Right SIP_MONKEYPATCH_COMPAT_NAME( AlignRight ),
2398 Justify SIP_MONKEYPATCH_COMPAT_NAME( AlignJustify ),
2399 };
2400 Q_ENUM( TextHorizontalAlignment )
2401
2402
2413 {
2414 Top SIP_MONKEYPATCH_COMPAT_NAME( AlignTop ),
2415 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
2416 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
2417 };
2418 Q_ENUM( TextVerticalAlignment )
2419
2420
2429 {
2430 Normal,
2431 SuperScript,
2432 SubScript,
2433 };
2434 Q_ENUM( TextCharacterVerticalAlignment )
2435
2436
2442 {
2443 Generic,
2444 ShadowOffset,
2445 BlurSize,
2446 GlowSpread,
2447 };
2448 Q_ENUM( RenderSubcomponentProperty )
2449
2450
2455 {
2456 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
2457 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
2458 };
2459 Q_ENUM( VertexType )
2460
2461
2469 {
2470 Square,
2471 Diamond,
2472 Pentagon,
2473 Hexagon,
2474 Triangle,
2475 EquilateralTriangle,
2476 Star,
2477 Arrow,
2478 Circle,
2479 Cross,
2480 CrossFill,
2481 Cross2,
2482 Line,
2483 ArrowHead,
2484 ArrowHeadFilled,
2485 SemiCircle,
2486 ThirdCircle,
2487 QuarterCircle,
2488 QuarterSquare,
2489 HalfSquare,
2490 DiagonalHalfSquare,
2491 RightHalfTriangle,
2492 LeftHalfTriangle,
2493 Octagon,
2494 SquareWithCorners,
2495 AsteriskFill,
2496 HalfArc,
2497 ThirdArc,
2498 QuarterArc,
2499 ParallelogramRight,
2500 ParallelogramLeft,
2501 Trapezoid,
2502 Shield,
2503 DiamondStar,
2504 Heart,
2505 Decagon,
2506 RoundedSquare,
2507 };
2508 Q_ENUM( MarkerShape )
2509
2510
2518 {
2519 Interval = 1 << 0,
2520 Vertex = 1 << 1,
2521 LastVertex = 1 << 2,
2522 FirstVertex = 1 << 3,
2523 CentralPoint = 1 << 4,
2524 CurvePoint = 1 << 5,
2525 SegmentCenter = 1 << 6,
2526 InnerVertices = 1 << 7,
2527 };
2528 Q_ENUM( MarkerLinePlacement )
2529 Q_DECLARE_FLAGS( MarkerLinePlacements, MarkerLinePlacement )
2530 Q_FLAG( MarkerLinePlacements )
2531
2532
2540 {
2541 SimpleTwoColor,
2542 ColorRamp,
2543 };
2544 Q_ENUM( GradientColorSource )
2545
2546
2554 {
2555 Linear,
2556 Radial,
2557 Conical,
2558 };
2559 Q_ENUM( GradientType )
2560
2561
2569 {
2570 Feature,
2571 Viewport,
2572 };
2573 Q_ENUM( SymbolCoordinateReference )
2574
2575
2584 {
2585 Pad,
2586 Reflect,
2587 Repeat,
2588 };
2589 Q_ENUM( GradientSpread )
2590
2591
2599 {
2600 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
2601 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
2602 };
2603 Q_ENUM( PointCountMethod )
2604
2605
2610 enum class MarkerClipMode : int
2611 {
2612 NoClipping,
2613 Shape,
2614 CentroidWithin,
2615 CompletelyWithin,
2616 };
2617 Q_ENUM( MarkerClipMode )
2618
2619
2624 enum class LineClipMode : int
2625 {
2626 ClipPainterOnly,
2627 ClipToIntersection,
2628 NoClipping,
2629 };
2630 Q_ENUM( LineClipMode )
2631
2632
2638 {
2639 NoRule,
2640 FullDash,
2641 HalfDash,
2642 FullGap,
2643 HalfGap,
2644 };
2645 Q_ENUM( DashPatternLineEndingRule )
2646
2647
2653 {
2654 ScaleBothDashAndGap,
2655 ScaleDashOnly,
2656 ScaleGapOnly,
2657 };
2658 Q_ENUM( DashPatternSizeAdjustment )
2659
2660
2668 {
2669 Color SIP_MONKEYPATCH_COMPAT_NAME( GraduatedColor ),
2670 Size SIP_MONKEYPATCH_COMPAT_NAME( GraduatedSize ),
2671 };
2672 Q_ENUM( GraduatedMethod )
2673
2674
2680 {
2681 NoLabels,
2682 EveryLabel,
2683 FirstLabel,
2684 LastLabel,
2685 FirstAndLastLabels,
2686 };
2687 Q_ENUM( PlotAxisSuffixPlacement )
2688
2689
2693 enum class DpiMode
2694 {
2695 All = 7,
2696 Off = 0,
2697 QGIS = 1,
2698 UMN = 2,
2699 GeoServer = 4,
2700 };
2701 Q_ENUM( DpiMode )
2702
2703
2708 {
2709 Undefined = 0,
2710 StandardDpi = 1,
2711 HighDpi = 2,
2712 };
2713 Q_ENUM( TilePixelRatio )
2714
2715 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
2716
2717
2725 {
2726 MixedCase = 0,
2727 AllUppercase = 1,
2728 AllLowercase = 2,
2729 ForceFirstLetterToCapital = 4,
2730 SmallCaps = 5,
2731 TitleCase = 1004,
2732 UpperCamelCase = 1005,
2733 AllSmallCaps = 1006,
2734 };
2735 Q_ENUM( Capitalization )
2736
2737
2742 enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2743 {
2744 WrapLines = 1 << 0,
2745 };
2746 Q_ENUM( TextRendererFlag )
2747 Q_DECLARE_FLAGS( TextRendererFlags, TextRendererFlag )
2748 Q_FLAG( TextRendererFlags )
2749
2750
2756 {
2757 MapBox,
2758 Esri,
2759 };
2761
2768 {
2769 Clockwise,
2770 CounterClockwise,
2771 NoOrientation,
2772 };
2773 Q_ENUM( AngularDirection )
2774
2775
2780 enum class RendererUsage : int
2781 {
2782 View,
2783 Export,
2784 Unknown,
2785 };
2786 Q_ENUM( RendererUsage )
2787
2788
2793 enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
2794 {
2795 Sync3DTo2D = 1 << 0,
2796 Sync2DTo3D = 1 << 1,
2797 };
2798 Q_ENUM( ViewSyncModeFlag )
2799 Q_DECLARE_FLAGS( ViewSyncModeFlags, ViewSyncModeFlag )
2800
2801
2807 {
2808 Always,
2809 WhenOutsideVisibleExtent,
2810 Never,
2811 };
2812 Q_ENUM( MapRecenteringMode )
2813
2814
2819 enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
2820 {
2821 LocalProfile = 1 << 0,
2822// Project = 1 << 1, //!< QGIS Project (not yet implemented)
2823 };
2824 Q_ENUM( HistoryProviderBackend )
2825 Q_DECLARE_FLAGS( HistoryProviderBackends, HistoryProviderBackend )
2826 Q_FLAG( HistoryProviderBackends )
2827
2828
2836 {
2837 MapLayer SIP_MONKEYPATCH_COMPAT_NAME( TypeMapLayer ) = -2,
2838 VectorAnyGeometry SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorAnyGeometry ) = -1,
2839 VectorPoint SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPoint ) = 0,
2840 VectorLine SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorLine ) = 1,
2841 VectorPolygon SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPolygon ) = 2,
2842 Raster SIP_MONKEYPATCH_COMPAT_NAME( TypeRaster ) = 3,
2843 File SIP_MONKEYPATCH_COMPAT_NAME( TypeFile ) = 4,
2844 Vector SIP_MONKEYPATCH_COMPAT_NAME( TypeVector ) = 5,
2845 Mesh SIP_MONKEYPATCH_COMPAT_NAME( TypeMesh ) = 6,
2846 Plugin SIP_MONKEYPATCH_COMPAT_NAME( TypePlugin ) = 7,
2847 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( TypePointCloud ) = 8,
2848 Annotation SIP_MONKEYPATCH_COMPAT_NAME( TypeAnnotation ) = 9,
2849 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorTile ) = 10
2850 };
2851 Q_ENUM( ProcessingSourceType )
2852
2853
2854
2862 {
2863 DeemphasiseSearchResults SIP_MONKEYPATCH_COMPAT_NAME( FlagDeemphasiseSearchResults ) = 1 << 1,
2864 CompatibleWithVirtualRaster SIP_MONKEYPATCH_COMPAT_NAME( FlagCompatibleWithVirtualRaster ) = 1 << 2,
2865 };
2867
2876 Q_FLAG( ProcessingProviderFlags )
2877
2878
2886 {
2887 HideFromToolbox SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromToolbox ) = 1 << 1,
2888 HideFromModeler SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromModeler ) = 1 << 2,
2889 SupportsBatch SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsBatch ) = 1 << 3,
2890 CanCancel SIP_MONKEYPATCH_COMPAT_NAME( FlagCanCancel ) = 1 << 4,
2891 RequiresMatchingCrs SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresMatchingCrs ) = 1 << 5,
2892 NoThreading SIP_MONKEYPATCH_COMPAT_NAME( FlagNoThreading ) = 1 << 6,
2893 DisplayNameIsLiteral SIP_MONKEYPATCH_COMPAT_NAME( FlagDisplayNameIsLiteral ) = 1 << 7,
2894 SupportsInPlaceEdits SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsInPlaceEdits ) = 1 << 8,
2895 KnownIssues SIP_MONKEYPATCH_COMPAT_NAME( FlagKnownIssues ) = 1 << 9,
2896 CustomException SIP_MONKEYPATCH_COMPAT_NAME( FlagCustomException ) = 1 << 10,
2897 PruneModelBranchesBasedOnAlgorithmResults SIP_MONKEYPATCH_COMPAT_NAME( FlagPruneModelBranchesBasedOnAlgorithmResults ) = 1 << 11,
2898 SkipGenericModelLogging SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGenericModelLogging ) = 1 << 12,
2899 NotAvailableInStandaloneTool SIP_MONKEYPATCH_COMPAT_NAME( FlagNotAvailableInStandaloneTool ) = 1 << 13,
2900 RequiresProject SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresProject ) = 1 << 14,
2901 Deprecated SIP_MONKEYPATCH_COMPAT_NAME( FlagDeprecated ) = HideFromToolbox | HideFromModeler,
2902 };
2904
2913 Q_FLAG( ProcessingAlgorithmFlags )
2914
2915
2924 {
2925 NotAvailable,
2926 Available,
2927 };
2928 Q_ENUM( ProcessingPropertyAvailability )
2929
2930
2938 {
2939 DefaultLevel = 0,
2940 Verbose,
2941 ModelDebug,
2942 };
2943 Q_ENUM( ProcessingLogLevel )
2944
2945
2953 {
2954 OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck ) = 1 << 0,
2955 CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature ) = 1 << 1,
2956 };
2957 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
2958
2959
2966 Q_DECLARE_FLAGS( ProcessingFeatureSourceDefinitionFlags, ProcessingFeatureSourceDefinitionFlag ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsProcessingFeatureSourceDefinition, Flags )
2967 Q_FLAG( ProcessingFeatureSourceDefinitionFlags )
2968
2977 {
2978 SkipGeometryValidityChecks SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGeometryValidityChecks ) = 1 << 1,
2979 };
2980 Q_ENUM( ProcessingFeatureSourceFlag )
2981
2982
2989 Q_DECLARE_FLAGS( ProcessingFeatureSourceFlags, ProcessingFeatureSourceFlag ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsProcessingFeatureSource, Flags )
2990 Q_FLAG( ProcessingFeatureSourceFlags )
2991
3003 {
3004 ExposeToModeler = 1
3005 };
3006 Q_ENUM( ProcessingParameterTypeFlag )
3007
3008
3018 Q_DECLARE_FLAGS( ProcessingParameterTypeFlags, ProcessingParameterTypeFlag ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsProcessingParameterType, ParameterFlags )
3019 Q_FLAG( ProcessingParameterTypeFlags )
3020
3029 {
3030 Advanced SIP_MONKEYPATCH_COMPAT_NAME( FlagAdvanced ) = 1 << 1,
3031 Hidden SIP_MONKEYPATCH_COMPAT_NAME( FlagHidden ) = 1 << 2,
3032 Optional SIP_MONKEYPATCH_COMPAT_NAME( FlagOptional ) = 1 << 3,
3033 IsModelOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagIsModelOutput ) = 1 << 4,
3034 };
3035 Q_ENUM( ProcessingParameterFlag )
3036
3037
3045 Q_FLAG( ProcessingParameterFlags )
3046
3055 {
3056 File = 0,
3057 Folder,
3058 };
3059 Q_ENUM( ProcessingFileParameterBehavior )
3060
3061
3069 {
3070 Integer,
3071 Double,
3072 };
3073 Q_ENUM( ProcessingNumberParameterType )
3074
3075
3083 {
3084 Any = -1,
3085 Numeric = 0,
3086 String = 1,
3087 DateTime = 2,
3088 Binary = 3,
3089 Boolean = 4,
3090 };
3091 Q_ENUM( ProcessingFieldParameterDataType )
3092
3093
3101 {
3102 DateTime,
3103 Date,
3104 Time,
3105 };
3106 Q_ENUM( ProcessingDateTimeParameterDataType )
3107
3108
3114 {
3115 ModelParameter,
3116 ChildOutput,
3117 StaticValue,
3118 Expression,
3119 ExpressionText,
3120 ModelOutput,
3121 };
3122 Q_ENUM( ProcessingModelChildParameterSource )
3123
3124
3132 {
3133 Vertices,
3134 StructureLines,
3135 BreakLines
3136 };
3137 Q_ENUM( ProcessingTinInputLayerType )
3138
3139
3145 {
3146 Wkt SIP_MONKEYPATCH_COMPAT_NAME( FormatWkt ),
3147 Proj SIP_MONKEYPATCH_COMPAT_NAME( FormatProj ),
3148 };
3149 Q_ENUM( CrsDefinitionFormat )
3150
3151
3159 enum class FieldDomainSplitPolicy : int
3160 {
3161 DefaultValue,
3162 Duplicate,
3163 GeometryRatio,
3164 UnsetField,
3165 };
3166 Q_ENUM( FieldDomainSplitPolicy )
3167
3168
3176 enum class FieldDomainMergePolicy : int
3177 {
3178 DefaultValue,
3179 Sum,
3180 GeometryWeighted,
3181 };
3182 Q_ENUM( FieldDomainMergePolicy )
3183
3184
3189 enum class FieldDomainType : int
3190 {
3191 Coded,
3192 Range,
3193 Glob,
3194 };
3195 Q_ENUM( FieldDomainType )
3196
3197
3202 enum class TransactionMode : int
3203 {
3204 Disabled = 0,
3205 AutomaticGroups = 1,
3206 BufferedGroups = 2,
3207 };
3208 Q_ENUM( TransactionMode )
3209
3210
3215 enum class AltitudeClamping : int
3216 {
3217 Absolute,
3218 Relative,
3219 Terrain,
3220 };
3221 Q_ENUM( AltitudeClamping )
3222
3223
3228 enum class AltitudeBinding : int
3229 {
3230 Vertex,
3231 Centroid,
3232 };
3233 Q_ENUM( AltitudeBinding )
3234
3235
3241 {
3242 NoConstraint,
3243 Perpendicular,
3244 Parallel
3245 };
3246 Q_ENUM( BetweenLineConstraint )
3247
3248
3253 enum class LineExtensionSide : int
3254 {
3255 BeforeVertex,
3256 AfterVertex,
3257 NoVertex,
3258 };
3259 Q_ENUM( LineExtensionSide )
3260
3261
3262
3266 enum class CadConstraintType : int
3267 {
3268 Generic,
3269 Angle,
3270 Distance,
3271 XCoordinate,
3272 YCoordinate,
3273 ZValue,
3274 MValue,
3275 };
3276 Q_ENUM( CadConstraintType )
3277
3278
3279
3284 enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
3285 {
3286 EvaluateDefaultValuesOnProviderSide = 1 << 0,
3287 TrustStoredLayerStatistics = 1 << 1,
3288 RememberLayerEditStatusBetweenSessions = 1 << 2,
3289 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
3290 };
3291 Q_ENUM( ProjectFlag )
3292 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
3293 Q_FLAG( ProjectFlags )
3294
3295
3300 enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
3301 {
3302 ShowContextMenu = 1 << 0,
3303 };
3304 Q_ENUM( PlotToolFlag )
3305 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
3306 Q_FLAG( PlotToolFlags )
3307
3308
3309
3316 enum class Point3DShape : int
3317 {
3318 Cylinder,
3319 Sphere,
3320 Cone,
3321 Cube,
3322 Torus,
3323 Plane,
3324 ExtrudedText,
3325 Model,
3326 Billboard,
3327 };
3328 Q_ENUM( Point3DShape )
3329
3330
3335 enum class LightSourceType : int
3336 {
3337 Point,
3338 Directional,
3339 };
3340 Q_ENUM( LightSourceType )
3341
3342
3347 enum class NavigationMode : int
3348 {
3349 TerrainBased,
3350 Walk
3351 };
3352 Q_ENUM( NavigationMode )
3353
3354
3359 enum class VerticalAxisInversion : int
3360 {
3361 Never,
3362 WhenDragging,
3363 Always,
3364 };
3365 Q_ENUM( VerticalAxisInversion )
3366
3367
3373 {
3374 Line,
3375 FillBelow,
3376 FillAbove,
3377 };
3379
3385 enum class VectorProfileType : int
3386 {
3387 IndividualFeatures,
3388 ContinuousSurface,
3389 };
3391
3397 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
3398 {
3399 RespectsMaximumErrorMapUnit = 1 << 0,
3400 RespectsDistanceRange = 1 << 1,
3401 RespectsElevationRange = 1 << 2,
3402 };
3403 Q_ENUM( ProfileGeneratorFlag )
3404 Q_DECLARE_FLAGS( ProfileGeneratorFlags, ProfileGeneratorFlag )
3405 Q_FLAG( ProfileGeneratorFlags )
3406
3407
3412 enum class ProfileExportType : int
3413 {
3414 Features3D,
3415 Profile2D,
3416 DistanceVsElevationTable,
3417 };
3419
3426 {
3427 Square,
3428 Circle,
3429 };
3430 Q_ENUM( PointCloudSymbol )
3431
3432
3438 {
3439 Default,
3440 BottomToTop,
3441 TopToBottom,
3442 };
3443 Q_ENUM( PointCloudDrawOrder )
3444
3445
3453 {
3454 AllowIntersections,
3455 AvoidIntersectionsCurrentLayer,
3456 AvoidIntersectionsLayers,
3457 };
3458 Q_ENUM( AvoidIntersectionsMode )
3459
3460
3468 {
3469 Qgz,
3470 Qgs,
3471 };
3472 Q_ENUM( ProjectFileFormat )
3473
3474
3482 {
3483 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers ) = 1 << 0,
3484 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts ) = 1 << 1,
3485 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata ) = 1 << 2,
3486 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
3487 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
3488 DontLoadProjectStyles = 1 << 5,
3489 ForceReadOnlyLayers = 1 << 6,
3490 };
3491 Q_ENUM( ProjectReadFlag )
3492
3493
3500 Q_DECLARE_FLAGS( ProjectReadFlags, ProjectReadFlag ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsProject, ReadFlags )
3501 Q_FLAG( ProjectReadFlags )
3502
3511 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
3512 {
3513 ProjectStyles = 1 << 0,
3514 };
3515 Q_ENUM( ProjectCapability )
3516
3517
3522 Q_DECLARE_FLAGS( ProjectCapabilities, ProjectCapability )
3523 Q_FLAG( ProjectCapabilities )
3524
3525
3531 {
3532 Vector,
3533 Raster,
3534 RasterDem,
3535 GeoJson,
3536 Image,
3537 Video,
3538 Unknown,
3539 };
3540 Q_ENUM( MapBoxGlStyleSourceType )
3541
3542
3550 {
3551 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
3552 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
3553 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
3554 GlobeServer,
3555 GPServer,
3556 GeocodeServer,
3557 Unknown,
3558 };
3559 Q_ENUM( ArcGisRestServiceType )
3560
3561
3569 {
3570 Normal,
3571 Generated,
3572 };
3573 Q_ENUM( RelationshipType )
3574
3575
3583 {
3584 Association,
3585 Composition,
3586 };
3587 Q_ENUM( RelationshipStrength )
3588
3589
3595 {
3596 OneToOne,
3597 OneToMany,
3598 ManyToOne,
3599 ManyToMany,
3600 };
3601 Q_ENUM( RelationshipCardinality )
3602
3603
3608 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
3609 {
3610 MultipleFieldKeys = 1 << 0,
3611 ForwardPathLabel = 1 << 1,
3612 BackwardPathLabel = 1 << 2,
3613 };
3614 Q_ENUM( RelationshipCapability )
3615
3616
3621 Q_DECLARE_FLAGS( RelationshipCapabilities, RelationshipCapability )
3622 Q_FLAG( RelationshipCapabilities )
3623
3624
3629 enum class CoordinateDisplayType : int
3630 {
3631 MapCrs,
3632 MapGeographic,
3633 CustomCrs,
3634 };
3635 Q_ENUM( CoordinateDisplayType )
3636
3637
3642 enum class SettingsOrigin : int
3643 {
3644 Any,
3645 Global,
3646 Local,
3647 };
3648 Q_ENUM( SettingsOrigin )
3649
3650
3655 enum class ScriptLanguage : int
3656 {
3657 Css,
3658 QgisExpression,
3659 Html,
3660 JavaScript,
3661 Json,
3662 Python,
3663 R,
3664 Sql,
3665 Batch,
3666 Bash,
3667 Unknown,
3668 };
3669 Q_ENUM( ScriptLanguage )
3670
3671
3679 {
3680 Reformat = 1 << 0,
3681 CheckSyntax = 1 << 1,
3682 ToggleComment = 1 << 2,
3683 };
3684 Q_ENUM( ScriptLanguageCapability )
3685
3686
3691 Q_DECLARE_FLAGS( ScriptLanguageCapabilities, ScriptLanguageCapability )
3692 Q_FLAG( ScriptLanguageCapabilities )
3693
3694
3700 {
3701 AboveInsertionPoint,
3702 TopOfTree,
3703 OptimalInInsertionGroup,
3704 };
3705 Q_ENUM( LayerTreeInsertionMethod )
3706
3707
3712 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
3713 {
3714 SkipVisibilityCheck = 1 << 0,
3715 };
3716 Q_ENUM( LayerTreeFilterFlag )
3717
3718
3723 Q_DECLARE_FLAGS( LayerTreeFilterFlags, LayerTreeFilterFlag )
3724 Q_FLAG( LayerTreeFilterFlags )
3725
3726
3727
3734 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
3735 {
3736 ShowRuleDetails = 1 << 0,
3737 };
3738 Q_ENUM( LegendJsonRenderFlag )
3739 Q_DECLARE_FLAGS( LegendJsonRenderFlags, LegendJsonRenderFlag )
3740 Q_FLAG( LegendJsonRenderFlags )
3741
3742
3749 enum class ActionType : int
3750 {
3751 Invalid,
3752 MapLayerAction,
3753 AttributeAction
3754 };
3755 Q_ENUM( ActionType )
3756
3757
3764 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
3765 {
3766 Layer = 1 << 0,
3767 SingleFeature = 1 << 1,
3768 MultipleFeatures = 1 << 2,
3769 AllActions = Layer | SingleFeature | MultipleFeatures
3770 };
3771 Q_ENUM( MapLayerActionTarget )
3772
3773
3780 Q_DECLARE_FLAGS( MapLayerActionTargets, MapLayerActionTarget )
3781 Q_FLAG( MapLayerActionTargets )
3782
3783
3790 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
3791 {
3792 EnabledOnlyWhenEditable = 1 << 1,
3793 };
3794 Q_ENUM( MapLayerActionFlag )
3795
3796
3803 Q_DECLARE_FLAGS( MapLayerActionFlags, MapLayerActionFlag )
3804 Q_FLAG( MapLayerActionFlags )
3805
3806
3814 {
3815 Generic,
3816 GenericPython,
3817 Mac,
3818 Windows,
3819 Unix,
3820 OpenUrl,
3821 SubmitUrlEncoded,
3822 SubmitUrlMultipart,
3823 };
3824 Q_ENUM( AttributeActionType )
3825
3826
3832 {
3833 Created,
3834 Published,
3835 Revised,
3836 Superseded,
3837 };
3838 Q_ENUM( MetadataDateType )
3839
3840
3850 {
3851 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
3852 GrayIndex = 1,
3853 PaletteIndex = 2,
3854 RedBand = 3,
3855 GreenBand = 4,
3856 BlueBand = 5,
3857 AlphaBand = 6,
3858 HueBand = 7,
3859 SaturationBand = 8,
3860 LightnessBand = 9,
3861 CyanBand = 10,
3862 MagentaBand = 11,
3863 YellowBand = 12,
3864 BlackBand = 13,
3865 YCbCr_YBand = 14,
3866 YCbCr_CbBand = 15,
3867 YCbCr_CrBand = 16,
3868 ContinuousPalette = 17
3869 };
3870 Q_ENUM( RasterColorInterpretation )
3871
3872
3880 {
3881 GrayOrUndefined,
3882 Palette,
3883 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
3884 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
3885 };
3886 Q_ENUM( RasterLayerType )
3887
3888
3896 {
3897 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
3898 SingleBandGray,
3899 SingleBandPseudoColor,
3900 PalettedColor,
3901 PalettedSingleBandGray,
3902 PalettedSingleBandPseudoColor,
3903 PalettedMultiBandColor,
3904 MultiBandSingleBandGray,
3905 MultiBandSingleBandPseudoColor,
3906 MultiBandColor,
3907 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
3908 };
3909 Q_ENUM( RasterDrawingStyle )
3910
3911
3918 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
3919 {
3920 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
3921 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
3922 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
3923 };
3924 Q_ENUM( RasterPyramidFormat )
3925
3926
3934 {
3935 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
3936 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
3937 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
3938 };
3939 Q_ENUM( RasterBuildPyramidOption )
3940
3941
3949 {
3950 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
3951 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
3952 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
3953 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
3954 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
3955 };
3956 Q_ENUM( RasterIdentifyFormat )
3957
3958
3964 {
3965 HighestElevation,
3966 NewerElevation,
3967 };
3968 Q_ENUM( ElevationMapCombineMethod )
3969
3970
3979 {
3980 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
3981 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
3982 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
3983 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
3984 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
3985 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
3986 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
3987 Burn SIP_MONKEYPATCH_COMPAT_NAME( BlendBurn ),
3988 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
3989 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
3990 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
3991 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
3992 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
3993 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
3994 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
3995 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
3996 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
3997 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
3998 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
3999 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
4000 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
4001 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
4002 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
4003 Xor SIP_MONKEYPATCH_COMPAT_NAME( BlendXor ),
4004 };
4005 Q_ENUM( BlendMode )
4006
4007
4015 {
4016 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
4017 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
4018 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
4019 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
4020 };
4021 Q_ENUM( SystemOfMeasurement )
4022
4023
4030 {
4031 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
4032 Pixels,
4033 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
4034 };
4035 Q_ENUM( MapToolUnit )
4036
4037
4045 {
4046 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
4047 Area SIP_MONKEYPATCH_COMPAT_NAME( TypeArea ),
4048 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
4049 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
4050 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
4051 };
4052 Q_ENUM( UnitType )
4053
4054
4062 {
4063 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
4064 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
4065 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
4066 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
4067 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
4068 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
4069 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
4070 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
4071 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
4072 Inches,
4073 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
4074 };
4075 Q_ENUM( DistanceUnit )
4076
4077
4085 {
4086 Standard,
4087 Geographic,
4088 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
4089 };
4090 Q_ENUM( DistanceUnitType )
4091
4092
4100 {
4101 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
4102 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
4103 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
4104 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
4105 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
4106 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
4107 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
4108 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
4109 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
4110 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
4111 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
4112 SquareInches,
4113 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
4114 };
4115 Q_ENUM( AreaUnit )
4116
4117
4125 {
4126 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
4127 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
4128 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
4129 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
4130 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
4131 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
4132 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
4133 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
4134 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
4135 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
4136 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
4137 };
4138 Q_ENUM( VolumeUnit )
4139
4140
4148 {
4149 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
4150 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
4151 Gon SIP_MONKEYPATCH_COMPAT_NAME( AngleGon ),
4152 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
4153 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
4154 Turn SIP_MONKEYPATCH_COMPAT_NAME( AngleTurn ),
4155 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
4156 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
4157 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
4158 };
4159 Q_ENUM( AngleUnit )
4160
4161
4169 {
4170 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
4171 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
4172 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
4173 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
4174 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
4175 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
4176 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
4177 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
4178 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
4179 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
4180 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
4181 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
4182 };
4183 Q_ENUM( TemporalUnit )
4184
4185
4193 {
4194 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
4195 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
4196 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
4197 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
4198 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
4199 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
4200 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
4201 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
4202 };
4203 Q_ENUM( RenderUnit )
4204
4205
4213 {
4214 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
4215 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
4216 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
4217 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
4218 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
4219 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
4220 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
4221 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
4222 };
4223 Q_ENUM( LayoutUnit )
4224
4225
4233 {
4234 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
4235 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
4236 };
4237 Q_ENUM( LayoutUnitType )
4238
4239
4244 enum class InputControllerType : int
4245 {
4246 Map2D,
4247 Map3D
4248 };
4250
4257 {
4258 NotSet,
4259 Unknown,
4260 OrdinaryTable,
4261 Index,
4262 Sequence,
4263 View,
4264 MaterializedView,
4265 CompositeType,
4266 ToastTable,
4267 ForeignTable,
4268 PartitionedTable,
4269 };
4270 Q_ENUM( PostgresRelKind )
4271
4272
4278 {
4279 SetFieldComment = 1 << 0,
4280 SetFieldAlias = 1 << 1,
4281 };
4282 Q_ENUM( DatabaseProviderConnectionCapability2 )
4283 Q_DECLARE_FLAGS( DatabaseProviderConnectionCapabilities2, DatabaseProviderConnectionCapability2 )
4284 Q_FLAG( DatabaseProviderConnectionCapabilities2 )
4285
4286
4292 {
4293 SaveToDatabase = 1 << 1,
4294 LoadFromDatabase = 1 << 2,
4295 DeleteFromDatabase = 1 << 3
4296 };
4298 Q_DECLARE_FLAGS( ProviderStyleStorageCapabilities, ProviderStyleStorageCapability )
4299 Q_FLAG( ProviderStyleStorageCapabilities )
4300
4301
4307 {
4308 LastProfile,
4309 DefaultProfile,
4310 AskUser,
4311 };
4312 Q_ENUM( UserProfileSelectionPolicy )
4313
4314
4322 {
4323 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
4324 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
4325 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
4326 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
4327 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
4328 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
4329 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
4330 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
4331 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
4332 };
4333 Q_ENUM( AttributeEditorType )
4334
4335
4341 {
4342 GroupBox,
4343 Tab,
4344 Row,
4345 };
4346 Q_ENUM( AttributeEditorContainerType )
4347
4348
4356 {
4357 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
4358 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
4359 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
4360 };
4361 Q_ENUM( AttributeFormLayout )
4362
4363
4371 {
4372 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
4373 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
4374 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
4375 };
4376 Q_ENUM( AttributeFormSuppression )
4377
4378
4386 {
4387 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
4388 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
4389 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
4390 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
4391 };
4392 Q_ENUM( AttributeFormPythonInitCodeSource )
4393
4394
4400 {
4401 Qgis,
4402 PointCloud,
4403 RasterCalculator,
4404 };
4405 Q_ENUM( ExpressionType )
4406
4407
4415 {
4416 NoSymbology = 0,
4417 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
4418 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
4419 };
4420 Q_ENUM( FeatureSymbologyExport )
4421
4422
4427 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
4428 {
4429 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
4430 };
4431 Q_ENUM( VectorTileProviderFlag )
4432
4433
4438 Q_DECLARE_FLAGS( VectorTileProviderFlags, VectorTileProviderFlag )
4439 Q_FLAG( VectorTileProviderFlags )
4440
4441
4446 {
4447 ReadLayerMetadata = 1 << 1,
4448 };
4449 Q_ENUM( VectorTileProviderCapability )
4450
4451
4456 Q_DECLARE_FLAGS( VectorTileProviderCapabilities, VectorTileProviderCapability )
4457 Q_FLAG( VectorTileProviderCapabilities )
4458
4459
4465 {
4466 Available,
4467 NotAvailable,
4468 AvailableNoChildren,
4469 UseLowerZoomLevelTile,
4470 };
4471 Q_ENUM( TileAvailability )
4472
4473
4479 {
4480 ReadLayerMetadata = 1 << 1,
4481 };
4482 Q_ENUM( TiledSceneProviderCapability )
4483
4484
4489 Q_DECLARE_FLAGS( TiledSceneProviderCapabilities, TiledSceneProviderCapability )
4490 Q_FLAG( TiledSceneProviderCapabilities )
4491
4492
4498 {
4499 Region,
4500 OrientedBox,
4501 Sphere,
4502 };
4503 Q_ENUM( TiledSceneBoundingVolumeType )
4504
4505
4514 {
4515 Replacement,
4516 Additive,
4517 };
4518 Q_ENUM( TileRefinementProcess )
4519
4520
4526 {
4527 NoChildren,
4528 Available,
4529 NeedFetching,
4530 };
4531 Q_ENUM( TileChildrenAvailability )
4532
4533
4538 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
4539 {
4540 NoHierarchyFetch = 1 << 0,
4541 };
4542 Q_ENUM( TiledSceneRequestFlag )
4543
4544
4549 Q_DECLARE_FLAGS( TiledSceneRequestFlags, TiledSceneRequestFlag )
4550 Q_FLAG( TiledSceneRequestFlags )
4551
4552
4557 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
4558 {
4559 RequiresTextures = 1 << 0,
4560 ForceRasterRender = 1 << 1,
4561 RendersTriangles = 1 << 2,
4562 RendersLines = 1 << 3,
4563 };
4564 Q_ENUM( TiledSceneRendererFlag )
4565
4566
4571 Q_DECLARE_FLAGS( TiledSceneRendererFlags, TiledSceneRendererFlag )
4572 Q_FLAG( TiledSceneRendererFlags )
4573
4574
4579 enum class GdalResampleAlgorithm : int
4580 {
4581 RA_NearestNeighbour = 0,
4582 RA_Bilinear = 1,
4583 RA_Cubic = 2,
4584 RA_CubicSpline = 3,
4585 RA_Lanczos = 4,
4586 RA_Average = 5,
4587 RA_Mode = 6,
4588 RA_Max = 8,
4589 RA_Min = 9,
4590 RA_Median = 10,
4591 RA_Q1 = 11,
4592 RA_Q3 = 12,
4593 };
4594 Q_ENUM( GdalResampleAlgorithm )
4595
4596
4597
4602 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
4603 {
4604 Count = 1,
4605 Sum = 2,
4606 Mean = 4,
4607 Median = 8,
4608 StDev = 16,
4609 Min = 32,
4610 Max = 64,
4611 Range = 128,
4612 Minority = 256,
4613 Majority = 512,
4614 Variety = 1024,
4615 Variance = 2048,
4616 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
4617 Default = Count | Sum | Mean,
4618 };
4619 Q_ENUM( ZonalStatistic )
4620
4621
4626 Q_DECLARE_FLAGS( ZonalStatistics, ZonalStatistic ) SIP_MONKEYPATCH_FLAGS_UNNEST( Qgis, ZonalStatistics )
4627 Q_FLAG( ZonalStatistics )
4628
4634 enum class ZonalStatisticResult : int
4635 {
4636 Success = 0,
4637 LayerTypeWrong = 1,
4638 LayerInvalid,
4639 RasterInvalid,
4640 RasterBandInvalid,
4641 FailedToCreateField = 8,
4642 Canceled = 9
4643 };
4644 Q_ENUM( ZonalStatisticResult )
4645
4646
4653 {
4654 Count,
4655 CountDistinct,
4656 CountMissing,
4657 Min,
4658 Max,
4659 Sum,
4660 Mean,
4661 Median,
4662 StDev,
4663 StDevSample,
4664 Range,
4665 Minority,
4666 Majority,
4667 FirstQuartile,
4668 ThirdQuartile,
4669 InterQuartileRange,
4670 StringMinimumLength,
4671 StringMaximumLength,
4672 StringConcatenate,
4673 GeometryCollect,
4674 ArrayAggregate,
4675 StringConcatenateUnique
4676 };
4677 Q_ENUM( Aggregate )
4678
4679
4685 {
4686 Count = 1 << 0,
4687 CountMissing = 1 << 15,
4688 Sum = 1 << 1,
4689 Mean = 1 << 2,
4690 Median = 1 << 3,
4691 StDev = 1 << 4,
4692 StDevSample = 1 << 5,
4693 Min = 1 << 6,
4694 Max = 1 << 7,
4695 Range = 1 << 8,
4696 Minority = 1 << 9,
4697 Majority = 1 << 10,
4698 Variety = 1 << 11,
4699 FirstQuartile = 1 << 12,
4700 ThirdQuartile = 1 << 13,
4701 InterQuartileRange = 1 << 14,
4702 First = 1 << 16,
4703 Last = 1 << 17,
4704 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
4705 };
4706 Q_ENUM( Statistic )
4707
4708
4713 Q_DECLARE_FLAGS( Statistics, Statistic ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsStatisticalSummary, Statistics )
4714 Q_FLAG( Statistics )
4715
4722 {
4723 Count = 1,
4724 CountDistinct = 2,
4725 CountMissing = 4,
4726 Min = 8,
4727 Max = 16,
4728 Range = 32,
4729 All = Count | CountDistinct | CountMissing | Min | Max | Range,
4730 };
4731 Q_ENUM( DateTimeStatistic )
4732
4733
4738 Q_DECLARE_FLAGS( DateTimeStatistics, DateTimeStatistic ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsDateTimeStatisticalSummary, Statistics )
4739 Q_FLAG( DateTimeStatistics )
4740
4747 {
4748 Count = 1,
4749 CountDistinct = 2,
4750 CountMissing = 4,
4751 Min = 8,
4752 Max = 16,
4753 MinimumLength = 32,
4754 MaximumLength = 64,
4755 MeanLength = 128,
4756 Minority = 256,
4757 Majority = 512,
4758 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
4759 };
4760 Q_ENUM( StringStatistic )
4761
4762
4767 Q_DECLARE_FLAGS( StringStatistics, StringStatistic ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsStringStatisticalSummary, Statistics )
4768 Q_FLAG( StringStatistics )
4769
4776 {
4777 NoStatistic = 0,
4778 Min = 1,
4779 Max = 1 << 1,
4780 Range = 1 << 2,
4781 Sum = 1 << 3,
4782 Mean = 1 << 4,
4783 StdDev = 1 << 5,
4784 SumOfSquares = 1 << 6,
4785 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
4786 };
4787 Q_ENUM( RasterBandStatistic )
4788
4789
4794 Q_DECLARE_FLAGS( RasterBandStatistics, RasterBandStatistic ) SIP_MONKEYPATCH_FLAGS_UNNEST( Qgis, RasterBandStatistics )
4795 Q_FLAG( RasterBandStatistics )
4796
4802 enum class SensorThingsEntity : int
4803 {
4804 Invalid,
4805 Thing,
4806 Location,
4807 HistoricalLocation,
4808 Datastream,
4809 Sensor,
4810 ObservedProperty,
4811 Observation,
4812 FeatureOfInterest,
4813 };
4814 Q_ENUM( SensorThingsEntity )
4815
4816
4819 static const double DEFAULT_SEARCH_RADIUS_MM;
4820
4822 static const float DEFAULT_MAPTOPIXEL_THRESHOLD;
4823
4829 static const QColor DEFAULT_HIGHLIGHT_COLOR;
4830
4834 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
4835
4839 static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
4840
4846 static const double SCALE_PRECISION;
4847
4852 static const double DEFAULT_Z_COORDINATE;
4853
4859 static const double DEFAULT_M_COORDINATE;
4860
4865 static const double UI_SCALE_FACTOR;
4866
4870 static const double DEFAULT_SNAP_TOLERANCE;
4871
4875 static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS;
4876
4882 static QString defaultProjectScales();
4883
4889 static int geosVersionInt();
4890
4896 static int geosVersionMajor();
4897
4903 static int geosVersionMinor();
4904
4910 static int geosVersionPatch();
4911
4917 static QString geosVersion();
4918};
4919
4922
4923Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::AnnotationItemFlags )
4924Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::AnnotationItemGuiFlags )
4925Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::BabelCommandFlags )
4926Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::BabelFormatCapabilities )
4927Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::BrowserItemCapabilities )
4928Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::CoordinateTransformationFlags )
4929Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::DatabaseProviderConnectionCapabilities2 )
4930Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::DataProviderFlags )
4931Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::FileOperationFlags )
4932Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::GeometryValidityFlags )
4933Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::GpsInformationComponents )
4934Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::HistoryProviderBackends )
4935Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::LabelingFlags )
4936Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::LabelLinePlacementFlags )
4937Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::LabelPolygonPlacementFlags )
4938Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::LayerTreeFilterFlags )
4939Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::LegendJsonRenderFlags )
4940Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::MapLayerActionFlags )
4941Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::MapLayerActionTargets )
4942Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::MapLayerProperties )
4943Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::MapLayerRendererFlags )
4944Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::MapSettingsFlags )
4945Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::MarkerLinePlacements )
4946Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::PlotToolFlags )
4947Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ProfileGeneratorFlags )
4948Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ProjectCapabilities )
4949Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ProjectReadFlags )
4950Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::RasterRendererFlags )
4951Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::RasterTemporalCapabilityFlags )
4952Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::RelationshipCapabilities )
4953Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::RenderContextFlags )
4954Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ScriptLanguageCapabilities )
4955Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SelectionFlags )
4956Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SettingsTreeNodeOptions )
4957Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SnappingTypes )
4958Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SqlLayerDefinitionCapabilities )
4959Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SublayerFlags )
4960Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SublayerQueryFlags )
4961Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SymbolFlags )
4962Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SymbolLayerFlags )
4963Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SymbolLayerUserFlags )
4964Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SymbolPreviewFlags )
4965Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SymbolRenderHints )
4966Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::TextRendererFlags )
4967Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::TiledSceneProviderCapabilities )
4968Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::TiledSceneRendererFlags )
4969Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::FieldConfigurationFlags )
4970Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::LayerFilters )
4971Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::TiledSceneRequestFlags )
4972Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorDataProviderAttributeEditCapabilities )
4973Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorFileWriterCapabilities )
4974Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorLayerTypeFlags )
4975Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorTileProviderCapabilities )
4976Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorTileProviderFlags )
4977Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::FeatureRequestFlags )
4978Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ProcessingFeatureSourceDefinitionFlags )
4979Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ZonalStatistics )
4981Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::DateTimeStatistics )
4982Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::StringStatistics )
4983Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::RasterBandStatistics )
4984Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ProcessingProviderFlags )
4985Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ProcessingAlgorithmFlags )
4986Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ProcessingFeatureSourceFlags )
4987Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ProcessingParameterTypeFlags )
4988Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ProcessingParameterFlags )
4989Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::DataItemProviderCapabilities )
4990
4991
4992// hack to workaround warnings when casting void pointers
4993// retrieved from QLibrary::resolve to function pointers.
4994// It's assumed that this works on all systems supporting
4995// QLibrary
4996#define cast_to_fptr(f) f
4997
4998
5006// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
5007template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
5008{
5009 public:
5010
5015 explicit QgsSignalBlocker( Object *object )
5016 : mObject( object )
5017 , mPreviousState( object->blockSignals( true ) )
5018 {}
5019
5021 {
5022 mObject->blockSignals( mPreviousState );
5023 }
5024
5026 Object *operator->() { return mObject; }
5027
5028 private:
5029
5030 Object *mObject = nullptr;
5031 bool mPreviousState;
5032
5033};
5034
5047// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
5048template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
5049{
5050 return QgsSignalBlocker<Object>( object );
5051}
5052
5054CORE_EXPORT uint qHash( const QVariant &variant );
5055
5061inline QString qgsDoubleToString( double a, int precision = 17 )
5062{
5063 QString str;
5064 if ( precision )
5065 {
5066 if ( precision < 0 )
5067 {
5068 const double roundFactor = std::pow( 10, -precision );
5069 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
5070 }
5071 else
5072 {
5073 str = QString::number( a, 'f', precision );
5074 if ( str.contains( QLatin1Char( '.' ) ) )
5075 {
5076 // remove ending 0s
5077 int idx = str.length() - 1;
5078 while ( str.at( idx ) == '0' && idx > 1 )
5079 {
5080 idx--;
5081 }
5082 if ( idx < str.length() - 1 )
5083 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
5084 }
5085 }
5086 }
5087 else
5088 {
5089 str = QString::number( a, 'f', precision );
5090 }
5091 // avoid printing -0
5092 // see https://bugreports.qt.io/browse/QTBUG-71439
5093 if ( str == QLatin1String( "-0" ) )
5094 {
5095 return QLatin1String( "0" );
5096 }
5097 return str;
5098}
5099
5106inline bool qgsNanCompatibleEquals( double a, double b )
5107{
5108 const bool aIsNan = std::isnan( a );
5109 const bool bIsNan = std::isnan( b );
5110 if ( aIsNan || bIsNan )
5111 return aIsNan && bIsNan;
5112
5113 return a == b;
5114}
5115
5116#ifndef SIP_RUN
5117
5125template<typename T>
5126inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
5127{
5128 const bool aIsNan = std::isnan( a );
5129 const bool bIsNan = std::isnan( b );
5130 if ( aIsNan || bIsNan )
5131 return aIsNan && bIsNan;
5132
5133 const T diff = a - b;
5134 return diff >= -epsilon && diff <= epsilon;
5135}
5136#endif
5137
5144inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
5145{
5146 return qgsNumberNear<double>( a, b, epsilon );
5147}
5148
5155inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
5156{
5157 return qgsNumberNear<float>( a, b, epsilon );
5158}
5159
5161inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
5162{
5163 const bool aIsNan = std::isnan( a );
5164 const bool bIsNan = std::isnan( b );
5165 if ( aIsNan || bIsNan )
5166 return aIsNan && bIsNan;
5167
5168 // The most simple would be to print numbers as %.xe and compare as strings
5169 // but that is probably too costly
5170 // Then the fastest would be to set some bits directly, but little/big endian
5171 // has to be considered (maybe TODO)
5172 // Is there a better way?
5173 int aexp, bexp;
5174 const double ar = std::frexp( a, &aexp );
5175 const double br = std::frexp( b, &bexp );
5176
5177 return aexp == bexp &&
5178 std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
5179}
5180
5185inline double qgsRound( double number, int places )
5186{
5187 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
5188 const double scaleFactor = std::pow( 10.0, places );
5189 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
5190}
5191
5192#ifndef SIP_RUN
5193
5200template<class Key, class Value>
5201QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
5202{
5203 QString result;
5204 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
5205 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
5206
5207 result.chop( separator.size() );
5208 return result;
5209}
5210
5217template<class Key, class Value>
5218QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
5219{
5220 QString result;
5221 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
5222 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
5223
5224 result.chop( separator.size() );
5225 return result;
5226}
5227
5234template<class T>
5235QString qgsSetJoin( const QSet<T> &set, const QString &separator )
5236{
5237 QString result;
5238 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
5239 result += QString( "%1%2" ).arg( *it ).arg( separator );
5240
5241 result.chop( separator.size() );
5242 return result;
5243}
5244
5246
5256namespace qgis
5257{
5258
5271 template<typename To, typename From> inline To down_cast( From *f )
5272 {
5273 static_assert(
5274 ( std::is_base_of<From,
5275 typename std::remove_pointer<To>::type>::value ),
5276 "target type not derived from source type" );
5277 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
5278 return static_cast<To>( f );
5279 }
5280
5281 template<class T>
5282 QSet<T> listToSet( const QList<T> &list )
5283 {
5284 return QSet<T>( list.begin(), list.end() );
5285 }
5286
5287 template<class T>
5288 QList<T> setToList( const QSet<T> &set )
5289 {
5290 return QList<T>( set.begin(), set.end() );
5291 }
5292}
5293
5295#endif
5296
5301template<class T> const QList<T> qgsEnumList() SIP_SKIP
5302{
5303 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5304 Q_ASSERT( metaEnum.isValid() );
5305 QList<T> enumList;
5306 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
5307 {
5308 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
5309 }
5310 return enumList;
5311}
5312
5318template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
5319{
5320 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5321 Q_ASSERT( metaEnum.isValid() );
5322 QMap<T, QString> enumMap;
5323 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
5324 {
5325 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
5326 }
5327 return enumMap;
5328}
5329
5335template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
5336{
5337 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5338 Q_ASSERT( metaEnum.isValid() );
5339 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
5340 if ( returnOk )
5341 {
5342 *returnOk = key ? true : false;
5343 }
5344 return QString::fromUtf8( key );
5345}
5346
5354template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
5355{
5356 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5357 Q_ASSERT( metaEnum.isValid() );
5358 bool ok = false;
5359 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
5360 if ( returnOk )
5361 {
5362 *returnOk = ok;
5363 }
5364 if ( ok )
5365 {
5366 return v;
5367 }
5368 else
5369 {
5370 // if conversion has failed, try with conversion from int value
5371 if ( tryValueAsKey )
5372 {
5373 bool canConvert = false;
5374 const int intValue = key.toInt( &canConvert );
5375 if ( canConvert && metaEnum.valueToKey( intValue ) )
5376 {
5377 if ( returnOk )
5378 {
5379 *returnOk = true;
5380 }
5381 return static_cast<T>( intValue );
5382 }
5383 }
5384 }
5385 return defaultValue;
5386}
5387
5393template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
5394{
5395 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5396 Q_ASSERT( metaEnum.isValid() );
5397 int intValue = static_cast<int>( value );
5398 const QByteArray ba = metaEnum.valueToKeys( intValue );
5399 // check that the int value does correspond to a flag
5400 // see https://stackoverflow.com/a/68495949/1548052
5401 const int intValueCheck = metaEnum.keysToValue( ba );
5402 bool ok = intValue == intValueCheck;
5403 if ( returnOk )
5404 *returnOk = ok;
5405 return ok ? QString::fromUtf8( ba ) : QString();
5406}
5407
5415template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
5416{
5417 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5418 Q_ASSERT( metaEnum.isValid() );
5419 bool ok = false;
5420 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
5421 if ( returnOk )
5422 {
5423 *returnOk = ok;
5424 }
5425 if ( ok )
5426 {
5427 return v;
5428 }
5429 else
5430 {
5431 // if conversion has failed, try with conversion from int value
5432 if ( tryValueAsKey )
5433 {
5434 bool canConvert = false;
5435 const int intValue = keys.toInt( &canConvert );
5436 if ( canConvert )
5437 {
5438 const QByteArray keys = metaEnum.valueToKeys( intValue );
5439 const int intValueCheck = metaEnum.keysToValue( keys );
5440 if ( intValue == intValueCheck )
5441 {
5442 if ( returnOk )
5443 {
5444 *returnOk = true;
5445 }
5446 return T( intValue );
5447 }
5448 }
5449 }
5450 }
5451 return defaultValue;
5452}
5453
5454
5463CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
5464
5473CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
5474
5484CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
5485
5495CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
5496
5505CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
5506
5513CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
5514
5515#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
5516
5523inline bool operator> ( const QVariant &v1, const QVariant &v2 )
5524{
5525 return qgsVariantGreaterThan( v1, v2 );
5526}
5527
5537inline bool operator< ( const QVariant &v1, const QVariant &v2 )
5538{
5539 return qgsVariantLessThan( v1, v2 );
5540}
5541#endif
5542
5543
5544#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
5545
5549template<> CORE_EXPORT bool qMapLessThanKey<QVariantList>( const QVariantList &key1, const QVariantList &key2 ) SIP_SKIP;
5550#endif
5551
5552CORE_EXPORT QString qgsVsiPrefix( const QString &path );
5553
5559void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
5560
5565void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
5566
5567#ifndef SIP_RUN
5568
5569#ifdef _MSC_VER
5570#define CONSTLATIN1STRING inline const QLatin1String
5571#else
5572#define CONSTLATIN1STRING constexpr QLatin1String
5573#endif
5574
5576class ScopedIntIncrementor
5577{
5578 public:
5579
5580 ScopedIntIncrementor( int *variable )
5581 : mVariable( variable )
5582 {
5583 ( *mVariable )++;
5584 }
5585
5586 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
5587 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
5588
5589 void release()
5590 {
5591 if ( mVariable )
5592 ( *mVariable )--;
5593
5594 mVariable = nullptr;
5595 }
5596
5597 ~ScopedIntIncrementor()
5598 {
5599 release();
5600 }
5601
5602 private:
5603 int *mVariable = nullptr;
5604};
5606
5612{
5613 return QLatin1String(
5614 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]] )"""
5615 );
5616}
5617
5620{
5621 return QLatin1String( "+proj=longlat +datum=WGS84 +no_defs" );
5622}
5623
5626{
5627 return QLatin1String( "EPSG:4326" );
5628}
5629
5632{
5633 return QLatin1String( "NONE" );
5634}
5635
5637
5639const int PREVIEW_JOB_DELAY_MS = 250;
5640
5642const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
5643
5645
5646#endif
5647
5649const long GEOSRID = 4326;
5650
5652const long GEOCRS_ID = 3452;
5653
5655const long GEO_EPSG_CRS_ID = 4326;
5656
5661const int USER_CRS_START_ID = 100000;
5662
5663//
5664// Constants for point symbols
5665//
5666
5668const double DEFAULT_POINT_SIZE = 2.0;
5669const double DEFAULT_LINE_WIDTH = 0.26;
5670
5672const double DEFAULT_SEGMENT_EPSILON = 1e-8;
5673
5674typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
5675
5684typedef unsigned long long qgssize;
5685
5686#ifndef SIP_RUN
5687#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
5688
5689#define Q_NOWARN_DEPRECATED_PUSH \
5690 _Pragma("GCC diagnostic push") \
5691 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
5692#define Q_NOWARN_DEPRECATED_POP \
5693 _Pragma("GCC diagnostic pop");
5694#define Q_NOWARN_UNREACHABLE_PUSH
5695#define Q_NOWARN_UNREACHABLE_POP
5696
5697#elif defined(_MSC_VER)
5698
5699#define Q_NOWARN_DEPRECATED_PUSH \
5700 __pragma(warning(push)) \
5701 __pragma(warning(disable:4996))
5702#define Q_NOWARN_DEPRECATED_POP \
5703 __pragma(warning(pop))
5704#define Q_NOWARN_UNREACHABLE_PUSH \
5705 __pragma(warning(push)) \
5706 __pragma(warning(disable:4702))
5707#define Q_NOWARN_UNREACHABLE_POP \
5708 __pragma(warning(pop))
5709
5710#else
5711
5712#define Q_NOWARN_DEPRECATED_PUSH
5713#define Q_NOWARN_DEPRECATED_POP
5714#define Q_NOWARN_UNREACHABLE_PUSH
5715#define Q_NOWARN_UNREACHABLE_POP
5716
5717#endif
5718#endif
5719
5720#ifndef QGISEXTERN
5721#ifdef Q_OS_WIN
5722# define QGISEXTERN extern "C" __declspec( dllexport )
5723#else
5724# if defined(__GNUC__) || defined(__clang__)
5725# define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
5726# else
5727# define QGISEXTERN extern "C"
5728# endif
5729#endif
5730#endif
5731#endif
5732
5733// see https://infektor.net/posts/2017-01-19-using-cpp17-attributes-today.html#using-the-nodiscard-attribute
5734#if __cplusplus >= 201703L
5735#define NODISCARD [[nodiscard]]
5736#elif defined(__clang__)
5737#define NODISCARD [[nodiscard]]
5738#elif defined(_MSC_VER)
5739#define NODISCARD // no support
5740#elif defined(__has_cpp_attribute)
5741#if __has_cpp_attribute(nodiscard)
5742#define NODISCARD [[nodiscard]]
5743#elif __has_cpp_attribute(gnu::warn_unused_result)
5744#define NODISCARD [[gnu::warn_unused_result]]
5745#else
5746#define NODISCARD Q_REQUIRED_RESULT
5747#endif
5748#else
5749#define NODISCARD Q_REQUIRED_RESULT
5750#endif
5751
5752#if __cplusplus >= 201703L
5753#define MAYBE_UNUSED [[maybe_unused]]
5754#elif defined(__clang__)
5755#define MAYBE_UNUSED [[maybe_unused]]
5756#elif defined(_MSC_VER)
5757#define MAYBE_UNUSED // no support
5758#elif defined(__has_cpp_attribute)
5759#if __has_cpp_attribute(gnu::unused)
5760#define MAYBE_UNUSED [[gnu::unused]]
5761#else
5762#define MAYBE_UNUSED
5763#endif
5764#else
5765#define MAYBE_UNUSED
5766#endif
5767
5768#ifndef FINAL
5769#define FINAL final
5770#endif
5771
5772#ifndef SIP_RUN
5773#ifdef _MSC_VER
5774#define BUILTIN_UNREACHABLE \
5775 __assume(false);
5776#elif defined(__GNUC__) && !defined(__clang__)
5777// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
5778// like:
5779// switch( mVariableThatCanOnlyBeXorY )
5780// {
5781// case X:
5782// return "foo";
5783// case Y:
5784// return "foo";
5785// }
5786// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
5787#define BUILTIN_UNREACHABLE \
5788 __builtin_unreachable();
5789#else
5790#define BUILTIN_UNREACHABLE
5791#endif
5792#endif // SIP_RUN
5793
5794#ifdef SIP_RUN
5795
5800QString CORE_EXPORT geoWkt();
5801
5803QString CORE_EXPORT geoProj4();
5804
5806QString CORE_EXPORT geoEpsgCrsAuthId();
5807
5809QString CORE_EXPORT geoNone();
5810
5811#endif
The Qgis class provides global constants for use throughout the application.
Definition qgis.h:54
DistanceUnitType
Types of distance units.
Definition qgis.h:4085
GnssConstellation
GNSS constellation.
Definition qgis.h:1472
SettingsOption
Settings options.
Definition qgis.h:515
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition qgis.h:3398
ProcessingSourceType
Processing data source types.
Definition qgis.h:2836
GpsQualityIndicator
GPS signal quality indicator.
Definition qgis.h:1490
DataItemProviderCapability
Capabilities for data item providers.
Definition qgis.h:711
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3055
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:3482
MapToolUnit
Type of unit of tolerance value from settings.
Definition qgis.h:4030
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:2680
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:3426
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
Definition qgis.h:574
GeometryValidityFlag
Geometry validity check flags.
Definition qgis.h:1625
ExpressionType
Expression types.
Definition qgis.h:4400
MapLayerActionFlag
Map layer action targets.
Definition qgis.h:3791
MapLayerProperty
File operation flags.
Definition qgis.h:1800
BufferSide
Side of line to buffer.
Definition qgis.h:1650
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1138
VectorTileProviderCapability
Vector tile data provider flags.
Definition qgis.h:4446
AltitudeClamping
Altitude clamping.
Definition qgis.h:3216
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:4428
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:2081
SublayerFlag
Sublayer query flags.
Definition qgis.h:1107
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:994
CoordinateDisplayType
Relationship capabilities.
Definition qgis.h:3630
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3003
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:2653
GpsFixStatus
GPS fix status.
Definition qgis.h:1457
AnnotationItemNodeType
Annotation item GUI flags.
Definition qgis.h:2009
static const char * QGIS_DEV_VERSION
The development version.
Definition qgis.h:82
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:805
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
Definition qgis.h:1934
AngularDirection
Angular directions.
Definition qgis.h:2768
DriveType
Drive types.
Definition qgis.h:858
UnitType
Unit types.
Definition qgis.h:4045
ContentStatus
Status for fetched or stored content.
Definition qgis.h:1413
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition qgis.h:540
LayoutUnit
Layout measurement units.
Definition qgis.h:4213
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:3583
Q_ENUM(GnssConstellation)
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:2518
Point3DShape
3D point shape types.
Definition qgis.h:3317
GeometryOperationResult
Success or failure of a geometry operation.
Definition qgis.h:1596
BrowserItemState
Browser item states.
Definition qgis.h:674
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:4341
FeatureRequestFilterType
Types of feature request filters.
Definition qgis.h:1743
MarkerClipMode
Marker clipping modes.
Definition qgis.h:2611
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:1981
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:2442
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Definition qgis.h:3132
Q_DECLARE_FLAGS(ProcessingAlgorithmFlags, ProcessingAlgorithmFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsProcessingAlgorithm
Flags indicating how and when an algorithm operates and should be exposed to users.
Statistic
Available generic statistics.
Definition qgis.h:4685
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:560
AngleUnit
Units of angles.
Definition qgis.h:4148
CaptureTechnique
Capture technique.
Definition qgis.h:294
SpatialIndexPresence
Enumeration of spatial index presence states.
Definition qgis.h:349
BrowserItemCapability
Browser item capabilities.
Definition qgis.h:687
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition qgis.h:4371
LayerTreeInsertionMethod
Script language capabilities.
Definition qgis.h:3700
LineClipMode
Line clipping modes.
Definition qgis.h:2625
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition qgis.h:760
SettingsTreeNodeType
Type of tree node.
Definition qgis.h:445
TilePixelRatio
DpiMode enum.
Definition qgis.h:2708
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:4278
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition qgis.h:960
GradientColorSource
Gradient color sources.
Definition qgis.h:2540
FileFilterType
Type of file filters.
Definition qgis.h:1073
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:914
RasterLayerType
Raster layer types.
Definition qgis.h:3880
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:3919
VectorExportResult
Vector layer export result codes.
Definition qgis.h:784
DistanceUnit
Units of distance.
Definition qgis.h:4062
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:2150
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition qgis.h:618
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:2584
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1019
ScaleMethod
Scale methods.
Definition qgis.h:415
SldExportOption
SLD export options.
Definition qgis.h:487
FilePathType
File path types.
Definition qgis.h:1261
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:3267
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:4386
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:2599
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
Definition qgis.h:502
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:3713
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:4356
FeatureRequestFlag
Flags for controlling feature requests.
Definition qgis.h:1715
VertexType
Types of vertex.
Definition qgis.h:2455
DataProviderFlag
Generic data provider flags.
Definition qgis.h:1828
GdalResampleAlgorithm
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:4580
GeometryValidationEngine
Available engines for validating geometries.
Definition qgis.h:1638
TransactionMode
Transaction mode.
Definition qgis.h:3203
Q_ENUM(ScaleToTileZoomLevelMethod)
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:3964
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:3896
GpsInformationComponent
GPS information component.
Definition qgis.h:1510
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:2794
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:2862
FileOperationFlag
File operation flags.
Definition qgis.h:1785
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:3512
Q_ENUM(VectorProfileType)
AttributeActionType
Map layer action flags.
Definition qgis.h:3814
TemporalNavigationMode
Temporal navigation modes.
Definition qgis.h:2035
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:3083
AreaUnit
Units of area.
Definition qgis.h:4100
StringStatistic
Available string statistics.
Definition qgis.h:4747
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:3177
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:4603
MessageLevel
Level for messages This will be used both for message log and message bar in application.
Definition qgis.h:99
SqlKeywordCategory
SQL layer definition capabilities.
Definition qgis.h:840
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:2668
TiledSceneBoundingVolumeType
Tiled scene data provider capabilities.
Definition qgis.h:4498
TextLayoutMode
Text layout modes.
Definition qgis.h:2361
PropertyType
Property types.
Definition qgis.h:473
LayerFilter
Filter for layers.
Definition qgis.h:133
Q_ENUM(ProviderStyleStorageCapability)
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition qgis.h:1152
CrsType
Data provider flags.
Definition qgis.h:1844
SensorThingsEntity
OGC SensorThings API entity types.
Definition qgis.h:4803
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1244
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:3160
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:3550
RasterFileWriterResult
Raster file export results.
Definition qgis.h:1227
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition qgis.h:2020
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
Definition qgis.h:2924
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:2807
ActionType
Action types.
Definition qgis.h:3750
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:875
PlaybackOperation
Media playback operations.
Definition qgis.h:2064
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:4292
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:3453
MarkerShape
Marker shapes.
Definition qgis.h:2469
LegendJsonRenderFlag
Layer tree filter flags.
Definition qgis.h:3735
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:3979
Capitalization
String capitalization options.
Definition qgis.h:2725
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:2135
Q_DECLARE_FLAGS(ProcessingProviderFlags, ProcessingProviderFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsProcessingProvider
Flags indicating how and when an processing provider operates and should be exposed to users.
LabelQuadrantPosition
Label quadrant positions.
Definition qgis.h:974
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:2756
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition qgis.h:1090
TextOrientation
Text orientations.
Definition qgis.h:2346
PythonMacroMode
Vector layer type flags.
Definition qgis.h:321
TemporalUnit
Temporal units.
Definition qgis.h:4169
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:887
CrsDefinitionFormat
CRS definition formats.
Definition qgis.h:3145
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:1772
TileAvailability
Vector tile data provider capabilities.
Definition qgis.h:4465
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:3285
BrowserItemType
Symbol layer user flags.
Definition qgis.h:655
SettingsType
Types of settings entries.
Definition qgis.h:426
RasterTemporalMode
Raster layer temporal modes.
Definition qgis.h:2122
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1201
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:2301
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:255
RelationshipType
Relationship types.
Definition qgis.h:3569
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:3679
JoinStyle
Join styles for buffers.
Definition qgis.h:1675
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:3438
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:2429
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:4307
DpiMode
DpiMode enum.
Definition qgis.h:2694
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition qgis.h:736
AltitudeBinding
Altitude binding.
Definition qgis.h:3229
Q_ENUM(ProcessingProviderFlag)
TiledSceneRendererFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:4558
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:3765
ZonalStatisticResult
Zonal statistics result codes.
Definition qgis.h:4635
ScriptLanguage
Scripting languages.
Definition qgis.h:3656
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
Definition qgis.h:368
TiledSceneProviderCapability
Tiled scene data provider capabilities.
Definition qgis.h:4479
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:1057
RasterBandStatistic
Available raster band statistics.
Definition qgis.h:4776
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:2109
TextRenderFormat
Flags which control how map layer renderers behave.
Definition qgis.h:2287
DataType
Raster data types.
Definition qgis.h:269
Q_ENUM(ProfileSurfaceSymbology)
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:4015
RasterAttributeTableFieldUsage
Flags which control behavior of raster renderers.
Definition qgis.h:1172
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition qgis.h:3360
RelationshipCapability
Relationship capabilities.
Definition qgis.h:3609
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:3934
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:3348
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:4526
LayerType
Types of layers that can be added to a map.
Definition qgis.h:114
Q_DECLARE_FLAGS(RenderContextFlags, RenderContextFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsRenderContext
Render context flags.
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition qgis.h:3301
RenderUnit
Rendering size units.
Definition qgis.h:4193
CoordinateOrder
Order of coordinates.
Definition qgis.h:1919
SelectionFlag
Flags which control feature selection behavior.
Definition qgis.h:1365
EndCapStyle
End cap styles for buffers.
Definition qgis.h:1662
BabelCommandFlag
Babel GPS format capabilities.
Definition qgis.h:1567
FieldDomainType
Types of field domain.
Definition qgis.h:3190
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2265
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2232
RasterPipeInterfaceRole
Sublayer flags.
Definition qgis.h:1121
CoverageValidityResult
Coverage validity results.
Definition qgis.h:1688
Aggregate
Available aggregates to calculate.
Definition qgis.h:4653
SymbolPreviewFlag
Symbol flags.
Definition qgis.h:600
AnnotationItemGuiFlag
Annotation item flags.
Definition qgis.h:1995
MapBoxGlStyleSourceType
Flags which control project capabilities.
Definition qgis.h:3531
LayoutUnitType
Types of layout units.
Definition qgis.h:4233
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:381
DashPatternLineEndingRule
Dash pattern line ending rules.
Definition qgis.h:2638
FieldMetadataProperty
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1313
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:4539
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition qgis.h:1401
HistoryProviderBackend
History provider backends.
Definition qgis.h:2820
RasterExportType
Raster file export types.
Definition qgis.h:1214
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition qgis.h:1273
TextVerticalAlignment
Text vertical alignment.
Definition qgis.h:2413
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:3595
GradientType
Gradient types.
Definition qgis.h:2554
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:3386
GpsFeatureType
Babel command flags.
Definition qgis.h:1581
VectorLayerTypeFlag
Vector layer type flags.
Definition qgis.h:308
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition qgis.h:1701
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:2097
SqlLayerDefinitionCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:823
VectorEditResult
Flags which control feature selection behavior.
Definition qgis.h:1386
Q_DECLARE_FLAGS(GeometryValidityFlags, GeometryValidityFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsGeometry
Geometry validity flags.
Axis
Cartesian axes.
Definition qgis.h:1968
VolumeUnit
Units of volume.
Definition qgis.h:4125
AttributeEditorType
Attribute editor types.
Definition qgis.h:4322
SymbolLayerUserFlag
Symbol layer flags.
Definition qgis.h:636
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:1759
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:3413
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:3468
SnappingMode
SnappingMode defines on which layer the snapping is performed.
Definition qgis.h:528
SymbolType
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:401
RasterColorInterpretation
Raster color interpretation.
Definition qgis.h:3850
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:3373
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:2332
Q_ENUM(ProcessingAlgorithmFlag)
RendererUsage
Usage of the renderer.
Definition qgis.h:2781
SettingsTreeNodeOption
Options for named list nodes.
Definition qgis.h:457
BabelFormatCapability
GPS information component.
Definition qgis.h:1548
PostgresRelKind
Postgres database relkind options.
Definition qgis.h:4257
GpsConnectionType
GPS connection types.
Definition qgis.h:1428
Q_ENUM(InputControllerType)
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
Definition qgis.h:2953
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:3241
MetadataDateType
Date types for metadata.
Definition qgis.h:3832
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:2977
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:3949
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:2394
SymbolFlag
Flags controlling behavior of symbols.
Definition qgis.h:586
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition qgis.h:3254
HttpMethod
Different methods of HTTP requests.
Definition qgis.h:772
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:182
SymbolCoordinateReference
Symbol coordinate reference modes.
Definition qgis.h:2569
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:4514
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1326
InputControllerType
Input controller types.
Definition qgis.h:4245
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:2743
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1353
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:1869
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:3114
CrsWktVariant
Coordinate reference system WKT formatting variants.
Definition qgis.h:1949
AutoRefreshMode
Map layer properties.
Definition qgis.h:1815
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:2886
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1289
SettingsOrigin
The setting origin describes where a setting is stored.
Definition qgis.h:3643
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3029
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:899
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:4415
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:3101
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:2181
TextComponent
Text components.
Definition qgis.h:2378
DateTimeStatistic
Available date/time statistics.
Definition qgis.h:4722
AnimationState
Animation states.
Definition qgis.h:2051
TransformDirection
Flags for raster layer temporal capabilities.
Definition qgis.h:2169
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:3336
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition qgis.h:935
UpsideDownLabelHandling
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1042
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:1442
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3069
Q_DECLARE_FLAGS(MapSettingsFlags, MapSettingsFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsMapSettings
Map settings flags.
MapSettingsFlag
Coordinate transformation flags.
Definition qgis.h:2201
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
Definition qgis.h:2938
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1339
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.
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.
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.
The raster file writer which allows you to save a raster to a new file.
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:5008
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:5026
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:5015
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.
Handles storage of information regarding WKB types and their properties.
Definition qgswkbtypes.h:42
FeatureCountState
Enumeration of feature count states.
Definition qgis.h:336
@ 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:5631
const double DEFAULT_LINE_WIDTH
Definition qgis.h:5669
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:5523
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:5354
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:5061
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:5218
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:5335
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:5393
const long GEO_EPSG_CRS_ID
Magic number for a geographic coord sys in EpsgCrsId ID format.
Definition qgis.h:5655
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:5201
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:5415
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:5684
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:5318
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference)
Definition qgis.h:5155
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:5235
const QList< T > qgsEnumList()
Returns a list all enum entries.
Definition qgis.h:5301
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:5185
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
Definition qgis.h:5144
CONSTLATIN1STRING geoProj4()
PROJ4 string that represents a geographic coord sys.
Definition qgis.h:5619
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:5106
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:5048
const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition qgis.h:5672
QMap< QString, QString > QgsStringMap
Definition qgis.h:5674
#define CONSTLATIN1STRING
Definition qgis.h:5572
CONSTLATIN1STRING geoWkt()
Wkt string that represents a geographic coord sys.
Definition qgis.h:5611
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:5161
const int USER_CRS_START_ID
Magick number that determines whether a projection crsid is a system (srs.db) or user (~/....
Definition qgis.h:5661
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:5126
const long GEOSRID
Magic number for a geographic coord sys in POSTGIS SRID.
Definition qgis.h:5649
#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:5537
CONSTLATIN1STRING geoEpsgCrsAuthId()
Geographic coord sys from EPSG authority.
Definition qgis.h:5625
const long GEOCRS_ID
Magic number for a geographic coord sys in QGIS srs.db tbl_srs.srs_id.
Definition qgis.h:5652
const double DEFAULT_POINT_SIZE
Magic number that determines the default point size for point symbols.
Definition qgis.h:5668
#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