QGIS API Documentation 3.34.0-Prizren (ffbdd678812)
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
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
348 {
349 EditAlias = 1 << 0,
350 EditComment = 1 << 1,
351 };
352
353 Q_ENUM( VectorDataProviderAttributeEditCapability )
354
355
360 Q_DECLARE_FLAGS( VectorDataProviderAttributeEditCapabilities, VectorDataProviderAttributeEditCapability )
361 Q_FLAG( VectorDataProviderAttributeEditCapabilities )
362
363
368 {
369 Marker,
370 Line,
371 Fill,
372 Hybrid
373 };
374 Q_ENUM( SymbolType )
375
376
382 {
383 ScaleArea,
384 ScaleDiameter
385 };
386 Q_ENUM( ScaleMethod )
387
388
393 {
394 Custom,
395 Variant,
396 String,
397 StringList,
398 VariantMap,
399 Bool,
400 Integer,
401 Double,
402 EnumFlag,
403 Color
404 };
405 Q_ENUM( SettingsType )
406
407
412 {
413 Root,
414 Standard,
415 NamedList,
416 };
417 Q_ENUM( SettingsTreeNodeType )
418
419
423 enum class SettingsTreeNodeOption : int
424 {
425 NamedListSelectedItemSetting = 1 << 0,
426 };
427
428 Q_ENUM( SettingsTreeNodeOption )
429 Q_DECLARE_FLAGS( SettingsTreeNodeOptions, SettingsTreeNodeOption )
430 Q_FLAG( SettingsTreeNodeOptions )
431
432
437 enum class SldExportOption : int
438 {
439 NoOptions = 0,
440 Svg = 1 << 0,
441 Png = 1 << 1,
442 };
443 Q_ENUM( SldExportOption )
444 Q_DECLARE_FLAGS( SldExportOptions, SldExportOption )
445 Q_FLAG( SldExportOptions )
446
447
453 {
454 NoVendorExtension = 0,
455 GeoServerVendorExtension = 1 << 1,
456 DeegreeVendorExtension = 1 << 2,
457 };
458 Q_ENUM( SldExportVendorExtension )
459
460
461
465 enum class SettingsOption : int
466 {
467 SaveFormerValue = 1 << 1, //<! Save the former value of the settings
468 SaveEnumFlagAsInt = 1 << 2,
469 };
470 Q_ENUM( SettingsOption )
471 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
472 Q_FLAG( SettingsOptions )
473
474
479 {
480 ActiveLayer = 1,
481 AllLayers = 2,
482 AdvancedConfiguration = 3,
483 };
484 Q_ENUM( SnappingMode )
485
486
491 {
492 NoSnap SIP_MONKEYPATCH_COMPAT_NAME( NoSnapFlag ) = 0,
493 Vertex SIP_MONKEYPATCH_COMPAT_NAME( VertexFlag ) = 1 << 0,
494 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentFlag ) = 1 << 1,
495 Area SIP_MONKEYPATCH_COMPAT_NAME( AreaFlag ) = 1 << 2,
496 Centroid SIP_MONKEYPATCH_COMPAT_NAME( CentroidFlag ) = 1 << 3,
497 MiddleOfSegment SIP_MONKEYPATCH_COMPAT_NAME( MiddleOfSegmentFlag ) = 1 << 4,
498 LineEndpoint SIP_MONKEYPATCH_COMPAT_NAME( LineEndpointFlag ) = 1 << 5,
499 };
500 Q_ENUM( SnappingType )
502 Q_DECLARE_FLAGS( SnappingTypes, SnappingType ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsSnappingConfig, SnappingTypeFlag )
503 Q_FLAG( SnappingTypes )
504
511 {
512 DynamicRotation = 2,
513 };
514 Q_ENUM( SymbolRenderHint )
516 Q_DECLARE_FLAGS( SymbolRenderHints, SymbolRenderHint ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsSymbol, RenderHints )
517 Q_FLAG( SymbolRenderHints )
518
524 enum class SymbolRotationMode : int
525 {
526 RespectMapRotation,
527 IgnoreMapRotation,
528 };
529 Q_ENUM( SymbolRotationMode )
530
531
536 enum class SymbolFlag : int
537 {
538 RendererShouldUseSymbolLevels = 1 << 0,
539 };
540 Q_ENUM( SymbolFlag )
542 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
543 Q_FLAG( SymbolFlags )
544
545
551 {
552 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
553 };
554 Q_ENUM( SymbolPreviewFlag )
556 Q_DECLARE_FLAGS( SymbolPreviewFlags, SymbolPreviewFlag ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsSymbol, SymbolPreviewFlags )
557 Q_FLAG( SymbolPreviewFlags )
558
568 enum class SymbolLayerFlag : int
569 {
570 DisableFeatureClipping = 1 << 0,
571 };
572 Q_ENUM( SymbolLayerFlag )
574 Q_DECLARE_FLAGS( SymbolLayerFlags, SymbolLayerFlag )
575 Q_FLAG( SymbolLayerFlags )
576
577
586 enum class SymbolLayerUserFlag : int
587 {
588 DisableSelectionRecoloring = 1 << 0,
589 };
590 Q_ENUM( SymbolLayerUserFlag )
591
592
597 Q_DECLARE_FLAGS( SymbolLayerUserFlags, SymbolLayerUserFlag )
598 Q_FLAG( SymbolLayerUserFlags )
599
600
606 {
607 Collection,
608 Directory,
609 Layer,
610 Error,
611 Favorites,
612 Project,
613 Custom,
614 Fields,
615 Field,
616 };
617 Q_ENUM( BrowserItemType )
618
619
625 {
626 NotPopulated,
627 Populating,
628 Populated,
629 };
630 Q_ENUM( BrowserItemState )
631
632
638 {
639 NoCapabilities = 0,
640 SetCrs = 1 << 0,
641 Fertile = 1 << 1,
642 Fast = 1 << 2,
643 Collapse = 1 << 3,
644 Rename = 1 << 4,
645 Delete = 1 << 5,
646 ItemRepresentsFile = 1 << 6,
647 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
648 };
649 Q_ENUM( BrowserItemCapability )
651 Q_DECLARE_FLAGS( BrowserItemCapabilities, BrowserItemCapability ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsDataItem, Capabilities )
652 Q_FLAG( BrowserItemCapabilities )
653
660 {
661 NoType,
662 Vector,
663 Raster,
664 Point,
665 Line,
666 Polygon,
667 TableLayer,
668 Database,
669 Table,
670 Plugin,
671 Mesh,
672 VectorTile,
673 PointCloud,
674 TiledScene,
675 };
676 Q_ENUM( BrowserLayerType )
677
678
684 {
685 Default,
686 NeverMonitor,
687 AlwaysMonitor,
688 };
689 Q_ENUM( BrowserDirectoryMonitoring )
690
691
695 enum class HttpMethod : int
696 {
697 Get = 0,
698 Post = 1
699 };
700 Q_ENUM( HttpMethod )
701
702
708 {
709 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
710 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
711 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
712 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
713 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
714 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
715 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
716 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
717 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
718 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
719 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
720 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
721 };
722 Q_ENUM( VectorExportResult )
723
724
729 {
730 FieldAliases = 1 << 0,
731 FieldComments = 1 << 2,
732 };
733 Q_ENUM( VectorFileWriterCapability )
734
735
739 Q_DECLARE_FLAGS( VectorFileWriterCapabilities, VectorFileWriterCapability )
740 Q_FLAG( VectorFileWriterCapabilities )
741
742
747 {
748 SubsetStringFilter = 1 << 1,
749 GeometryColumn = 1 << 2,
750 PrimaryKeys = 1 << 3,
751 UnstableFeatureIds = 1 << 4
752 };
753 Q_ENUM( SqlLayerDefinitionCapability )
755 Q_DECLARE_FLAGS( SqlLayerDefinitionCapabilities, SqlLayerDefinitionCapability )
756 Q_FLAG( SqlLayerDefinitionCapabilities )
757
758
763 enum class SqlKeywordCategory : int
764 {
765 Keyword,
766 Constant,
767 Function,
768 Geospatial,
769 Operator,
770 Math,
771 Aggregate,
772 String,
773 Identifier
774 };
775 Q_ENUM( SqlKeywordCategory )
776
777
781 enum class DriveType : int
782 {
783 Unknown,
784 Invalid,
785 Removable,
786 Fixed,
787 Remote,
788 CdRom,
789 RamDisk,
790 Cloud,
791 };
792 Q_ENUM( DriveType )
793
794
799 {
800 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
801 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
802 };
803 Q_ENUM( ActionStart )
804
805
810 enum class UnplacedLabelVisibility : int
811 {
812 FollowEngineSetting,
813 NeverShow,
814 };
815 Q_ENUM( UnplacedLabelVisibility )
816
817
822 enum class LabelOverlapHandling : int
823 {
824 PreventOverlap,
825 AllowOverlapIfRequired,
826 AllowOverlapAtNoCost,
827 };
828 Q_ENUM( LabelOverlapHandling )
829
830
838 {
839 AroundPoint,
840 OverPoint,
841 Line,
842 Curved,
843 Horizontal,
844 Free,
845 OrderedPositionsAroundPoint,
846 PerimeterCurved,
847 OutsidePolygons,
848 };
849 Q_ENUM( LabelPlacement )
850
851
859 {
860 TopLeft,
861 TopSlightlyLeft,
862 TopMiddle,
863 TopSlightlyRight,
864 TopRight,
865 MiddleLeft,
866 MiddleRight,
867 BottomLeft,
868 BottomSlightlyLeft,
869 BottomMiddle,
870 BottomSlightlyRight,
871 BottomRight,
872 };
873 Q_ENUM( LabelPredefinedPointPosition )
874
875
884 {
885 FromPoint,
886 FromSymbolBounds,
887 };
888 Q_ENUM( LabelOffsetType )
889
890
898 {
899 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
900 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
901 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
902 Left SIP_MONKEYPATCH_COMPAT_NAME( QuadrantLeft ),
903 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
904 Right SIP_MONKEYPATCH_COMPAT_NAME( QuadrantRight ),
905 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
906 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
907 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
908 };
909 Q_ENUM( LabelQuadrantPosition )
910
911
918 {
919 OnLine = 1,
920 AboveLine = 2,
921 BelowLine = 4,
922 MapOrientation = 8,
923 };
924 Q_ENUM( LabelLinePlacementFlag )
925
926
933 Q_DECLARE_FLAGS( LabelLinePlacementFlags, LabelLinePlacementFlag ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsLabeling, LinePlacementFlags )
934 Q_FLAG( LabelLinePlacementFlags )
935
943 {
944 AllowPlacementOutsideOfPolygon = 1 << 0,
945 AllowPlacementInsideOfPolygon = 1 << 1,
946 };
947 Q_ENUM( LabelPolygonPlacementFlag )
948
949
955 Q_DECLARE_FLAGS( LabelPolygonPlacementFlags, LabelPolygonPlacementFlag )
956 Q_FLAG( LabelPolygonPlacementFlags )
957
958
966 {
967 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
968 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
969 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
970 };
971 Q_ENUM( UpsideDownLabelHandling )
972
973
981 {
982 Left SIP_MONKEYPATCH_COMPAT_NAME( MultiLeft ) = 0,
983 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
984 Right SIP_MONKEYPATCH_COMPAT_NAME( MultiRight ),
985 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
986 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
987 };
988 Q_ENUM( LabelMultiLineAlignment )
989
990
997 {
998 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
999 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1000 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1001 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1002 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1003 VectorTile,
1004 TiledScene,
1005 };
1006 Q_ENUM( FileFilterType )
1007
1008
1013 enum class SublayerQueryFlag : int
1014 {
1015 FastScan = 1 << 0,
1016 ResolveGeometryType = 1 << 1,
1017 CountFeatures = 1 << 2,
1018 IncludeSystemTables = 1 << 3,
1019 };
1021 Q_DECLARE_FLAGS( SublayerQueryFlags, SublayerQueryFlag )
1022 Q_ENUM( SublayerQueryFlag )
1023 Q_FLAG( SublayerQueryFlags )
1024
1025
1030 enum class SublayerFlag : int
1031 {
1032 SystemTable = 1 << 0,
1033 };
1035 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1036 Q_ENUM( SublayerFlag )
1037 Q_FLAG( SublayerFlags )
1038
1039
1045 {
1046 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1047 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1048 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1049 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1050 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1051 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1052 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1053 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1054 };
1055 Q_ENUM( RasterPipeInterfaceRole )
1056
1057
1062 {
1064 ResampleFilter,
1066 Provider
1067 };
1068 Q_ENUM( RasterResamplingStage )
1069
1070
1075 enum class RasterRendererFlag : int
1076 {
1077 InternalLayerOpacityHandling = 1 << 0,
1078 };
1079
1085 Q_DECLARE_FLAGS( RasterRendererFlags, RasterRendererFlag )
1086
1087 Q_ENUM( RasterRendererFlag )
1088 Q_FLAG( RasterRendererFlags )
1089
1090
1096 {
1097 Generic = 0,
1098 PixelCount = 1,
1099 Name = 2,
1100 Min = 3,
1101 Max = 4,
1102 MinMax = 5,
1103 Red = 6,
1104 Green = 7,
1105 Blue = 8,
1106 Alpha = 9,
1107 RedMin = 10,
1108 GreenMin = 11,
1109 BlueMin = 12,
1110 AlphaMin = 13,
1111 RedMax = 14,
1112 GreenMax = 15,
1113 BlueMax = 16,
1114 AlphaMax = 17,
1115 MaxCount
1116 };
1117 Q_ENUM( RasterAttributeTableFieldUsage )
1118
1119
1125 {
1126 Thematic = 0,
1127 Athematic = 1
1128 };
1129 Q_ENUM( RasterAttributeTableType )
1130
1131
1138 {
1139 Raw = 0,
1140 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1141 };
1142 Q_ENUM( RasterExportType )
1143
1144
1151 {
1152 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
1153 SourceProviderError = 1,
1154 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1155 CreateDatasourceError = 3,
1156 WriteError = 4,
1157 NoDataConflict = 5,
1158 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1159 };
1160 Q_ENUM( RasterFileWriterResult )
1161
1162
1167 enum class MeshEditingErrorType : int
1168 {
1169 NoError,
1170 InvalidFace,
1171 TooManyVerticesInFace,
1172 FlatFace,
1173 UniqueSharedVertex,
1174 InvalidVertex,
1175 ManifoldFace,
1176 };
1177 Q_ENUM( MeshEditingErrorType )
1178
1179
1184 enum class FilePathType : int
1185 {
1186 Absolute,
1187 Relative,
1188 };
1189 Q_ENUM( FilePathType )
1190
1191
1196 enum class SublayerPromptMode : int
1197 {
1198 AlwaysAsk,
1199 AskExcludingRasterBands,
1200 NeverAskSkip,
1201 NeverAskLoadAll,
1202 };
1203 Q_ENUM( SublayerPromptMode )
1204
1205
1212 enum class FieldConfigurationFlag : int
1213 {
1214 NoFlag = 0,
1215 NotSearchable = 1 << 1,
1216 HideFromWms = 1 << 2,
1217 HideFromWfs = 1 << 3,
1218 };
1219 Q_ENUM( FieldConfigurationFlag )
1220
1221
1228 Q_DECLARE_FLAGS( FieldConfigurationFlags, FieldConfigurationFlag )
1229 Q_FLAG( FieldConfigurationFlags )
1230
1231
1236 enum class FieldMetadataProperty : int
1237 {
1238 GeometryCrs = 0x1000,
1239 GeometryWkbType = 0x1001,
1240 CustomProperty = 0x100000,
1241 };
1242 Q_ENUM( FieldMetadataProperty )
1243
1244
1249 enum class SelectionRenderingMode : int
1250 {
1251 Default,
1252 CustomColor,
1253 CustomSymbol,
1254 };
1255 Q_ENUM( SelectionRenderingMode )
1256
1257
1263 {
1264 SetSelection,
1265 AddToSelection,
1266 IntersectSelection,
1267 RemoveFromSelection,
1268 };
1269 Q_ENUM( SelectBehavior )
1270
1271
1277 {
1278 Intersect,
1279 Within,
1280 };
1281 Q_ENUM( SelectGeometryRelationship )
1282
1283
1288 enum class SelectionFlag : int
1289 {
1290 SingleFeatureSelection = 1 << 0,
1291 ToggleSelection = 1 << 1,
1292 };
1293
1299 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1300
1301 Q_ENUM( SelectionFlag )
1302 Q_FLAG( SelectionFlags )
1303
1304
1310 {
1311 Success = 0,
1312 EmptyGeometry = 1,
1313 EditFailed = 2,
1314 FetchFeatureFailed = 3,
1315 InvalidLayer = 4,
1316 };
1317 Q_ENUM( VectorEditResult )
1318
1319
1325 {
1326 SemiTransparentCircle,
1327 Cross,
1328 NoMarker,
1329 };
1330 Q_ENUM( VertexMarkerType )
1331
1332
1336 enum class ContentStatus : int
1337 {
1338 NotStarted,
1339 Running,
1340 Finished,
1341 Failed,
1342 Canceled,
1343 };
1344 Q_ENUM( ContentStatus )
1345
1346
1351 enum class GpsConnectionType : int
1352 {
1353 Automatic,
1354 Internal,
1355 Serial,
1356 Gpsd,
1357 };
1358 Q_ENUM( GpsConnectionType )
1359
1360
1365 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
1366 {
1367 Disconnected,
1368 Connecting,
1369 Connected,
1370 };
1371 Q_ENUM( DeviceConnectionStatus )
1372
1373
1381 {
1382 NoData,
1383 NoFix,
1384 Fix2D,
1385 Fix3D
1386 };
1388
1389
1396 {
1397 Unknown,
1398 Gps,
1399 Glonass,
1400 Galileo,
1401 BeiDou,
1402 Qzss,
1403 Navic,
1404 Sbas,
1405 };
1407
1414 {
1415 Unknown = -1,
1416 Invalid,
1417 GPS,
1418 DGPS,
1419 PPS,
1420 RTK,
1421 FloatRTK,
1422 Estimated,
1423 Manual,
1424 Simulation,
1425 };
1426 Q_ENUM( GpsQualityIndicator )
1427
1428
1434 {
1435 Location = 1 << 0,
1436 Altitude = 1 << 1,
1437 GroundSpeed = 1 << 2,
1438 Bearing = 1 << 3,
1439 TotalTrackLength = 1 << 4,
1440 TrackDistanceFromStart = 1 << 5,
1441 Pdop = 1 << 6,
1442 Hdop = 1 << 7,
1443 Vdop = 1 << 8,
1444 HorizontalAccuracy = 1 << 9,
1445 VerticalAccuracy = 1 << 10,
1446 HvAccuracy = 1 << 11,
1447 SatellitesUsed = 1 << 12,
1448 Timestamp = 1 << 13,
1449 TrackStartTime = 1 << 14,
1450 TrackEndTime = 1 << 15,
1451 TrackDistanceSinceLastPoint = 1 << 16,
1452 TrackTimeSinceLastPoint = 1 << 17,
1453 GeoidalSeparation = 1 << 18,
1454 EllipsoidAltitude = 1 << 19,
1455 };
1456
1462 Q_DECLARE_FLAGS( GpsInformationComponents, GpsInformationComponent )
1463 Q_ENUM( GpsInformationComponent )
1464 Q_FLAG( GpsInformationComponents )
1465
1466
1471 enum class BabelFormatCapability : int
1472 {
1473 Import = 1 << 0,
1474 Export = 1 << 1,
1475 Waypoints = 1 << 2,
1476 Routes = 1 << 3,
1477 Tracks = 1 << 4,
1478 };
1480 Q_DECLARE_FLAGS( BabelFormatCapabilities, BabelFormatCapability )
1481 Q_ENUM( BabelFormatCapability )
1482 Q_FLAG( BabelFormatCapabilities )
1483
1484
1490 enum class BabelCommandFlag : int
1491 {
1492 QuoteFilePaths = 1 << 0,
1493 };
1495 Q_DECLARE_FLAGS( BabelCommandFlags, BabelCommandFlag )
1496 Q_ENUM( BabelCommandFlag )
1497 Q_FLAG( BabelCommandFlags )
1498
1499
1504 enum class GpsFeatureType : int
1505 {
1506 Waypoint,
1507 Route,
1508 Track,
1509 };
1510 Q_ENUM( GpsFeatureType )
1511
1512
1520 {
1521 Success = 0,
1522 NothingHappened = 1000,
1523 InvalidBaseGeometry,
1524 InvalidInputGeometryType,
1525 SelectionIsEmpty,
1526 SelectionIsGreaterThanOne,
1527 GeometryEngineError,
1528 LayerNotEditable,
1529 // Add part issues
1530 AddPartSelectedGeometryNotFound,
1531 AddPartNotMultiGeometry,
1532 // Add ring issues
1533 AddRingNotClosed,
1534 AddRingNotValid,
1535 AddRingCrossesExistingRings,
1536 AddRingNotInExistingFeature,
1537 // Split features
1538 SplitCannotSplitPoint,
1539 GeometryTypeHasChanged,
1540 };
1541 Q_ENUM( GeometryOperationResult )
1542
1543
1549 {
1550 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles ) = 1 << 0,
1551 };
1554 Q_ENUM( GeometryValidityFlag )
1555 Q_FLAG( GeometryValidityFlags )
1556
1557
1562 {
1563 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
1564 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
1565 };
1566 Q_ENUM( GeometryValidationEngine )
1567
1568
1578 Q_ENUM( BufferSide )
1579
1580
1586 {
1587 Round SIP_MONKEYPATCH_COMPAT_NAME( CapRound ) = 1,
1588 Flat SIP_MONKEYPATCH_COMPAT_NAME( CapFlat ),
1589 Square SIP_MONKEYPATCH_COMPAT_NAME( CapSquare ),
1590 };
1591 Q_ENUM( EndCapStyle )
1592
1593
1599 {
1600 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
1601 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
1602 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
1603 };
1604 Q_ENUM( JoinStyle )
1605
1606
1611 enum class MakeValidMethod : int
1612 {
1613 Linework = 0,
1614 Structure = 1,
1615 };
1616 Q_ENUM( MakeValidMethod )
1617
1618
1623 enum class SpatialFilterType : int
1624 {
1625 NoFilter,
1626 BoundingBox,
1627 DistanceWithin,
1628 };
1629 Q_ENUM( SpatialFilterType )
1630
1631
1636 enum class FileOperationFlag : int
1637 {
1638 IncludeMetadataFile = 1 << 0,
1639 IncludeStyleFile = 1 << 1,
1640 };
1642 Q_DECLARE_FLAGS( FileOperationFlags, FileOperationFlag )
1643 Q_ENUM( FileOperationFlag )
1644 Q_FLAG( FileOperationFlags )
1645
1646
1651 enum class MapLayerProperty : int
1652 {
1653 UsersCannotToggleEditing = 1 << 0,
1654 IsBasemapLayer = 1 << 1,
1655 };
1657 Q_DECLARE_FLAGS( MapLayerProperties, MapLayerProperty )
1658 Q_ENUM( MapLayerProperty )
1659 Q_FLAG( MapLayerProperties )
1660
1661
1666 enum class AutoRefreshMode : int
1667 {
1668 Disabled = 0,
1669 ReloadData = 1,
1670 RedrawOnly = 2,
1671 };
1672 Q_ENUM( AutoRefreshMode )
1673
1674
1679 enum class DataProviderFlag : int
1680 {
1681 IsBasemapSource = 1 << 1,
1682 };
1684 Q_DECLARE_FLAGS( DataProviderFlags, DataProviderFlag )
1685 Q_ENUM( DataProviderFlag )
1686 Q_FLAG( DataProviderFlags )
1687
1688
1695 enum class CrsType : int
1696 {
1697 Unknown,
1698 Geodetic,
1699 Geocentric,
1700 Geographic2d,
1701 Geographic3d,
1702 Vertical,
1703 Projected,
1704 Compound,
1705 Temporal,
1706 Engineering,
1707 Bound,
1708 Other,
1709 DerivedProjected,
1710 };
1711 Q_ENUM( CrsType )
1712
1713
1720 enum class CrsAxisDirection : int
1721 {
1722 North,
1723 NorthNorthEast,
1724 NorthEast,
1725 EastNorthEast,
1726 East,
1727 EastSouthEast,
1728 SouthEast,
1729 SouthSouthEast,
1730 South,
1731 SouthSouthWest,
1732 SouthWest,
1733 WestSouthWest,
1734 West,
1735 WestNorthWest,
1736 NorthWest,
1737 NorthNorthWest,
1738 GeocentricX,
1739 GeocentricY,
1740 GeocentricZ,
1741 Up,
1742 Down,
1743 Forward,
1744 Aft,
1745 Port,
1746 Starboard,
1747 Clockwise,
1748 CounterClockwise,
1749 ColumnPositive,
1750 ColumnNegative,
1751 RowPositive,
1752 RowNegative,
1753 DisplayRight,
1754 DisplayLeft,
1755 DisplayUp,
1756 DisplayDown,
1757 Future,
1758 Past,
1759 Towards,
1760 AwayFrom,
1761 Unspecified,
1762 };
1763 Q_ENUM( CrsAxisDirection )
1764
1765
1770 enum class CoordinateOrder : int
1771 {
1772 Default,
1773 XY,
1774 YX,
1775 };
1776 Q_ENUM( CoordinateOrder )
1777
1778
1783 enum class Axis : int
1784 {
1785 X,
1786 Y,
1787 Z
1788 };
1789 Q_ENUM( Axis )
1790
1791
1796 enum class AnnotationItemFlag : int
1797 {
1798 ScaleDependentBoundingBox = 1 << 0,
1799 };
1801 Q_DECLARE_FLAGS( AnnotationItemFlags, AnnotationItemFlag )
1802 Q_ENUM( AnnotationItemFlag )
1803 Q_FLAG( AnnotationItemFlags )
1804
1805
1810 enum class AnnotationItemGuiFlag : int
1811 {
1812 FlagNoCreationTools = 1 << 0,
1813 };
1815 Q_DECLARE_FLAGS( AnnotationItemGuiFlags, AnnotationItemGuiFlag )
1816 Q_ENUM( AnnotationItemGuiFlag )
1817 Q_FLAG( AnnotationItemGuiFlags )
1818
1819
1824 enum class AnnotationItemNodeType : int
1825 {
1826 VertexHandle,
1827 };
1828 Q_ENUM( AnnotationItemNodeType )
1829
1830
1836 {
1837 Success,
1838 Invalid,
1839 ItemCleared,
1840 };
1841 Q_ENUM( AnnotationItemEditOperationResult )
1842
1843
1849 {
1850 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
1851 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
1852 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
1853 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
1854 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
1855 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ),
1856 };
1857 Q_ENUM( VectorTemporalMode )
1858
1859
1865 {
1866 IncludeBeginExcludeEnd = 0,
1867 IncludeBeginIncludeEnd,
1868 };
1869 Q_ENUM( VectorTemporalLimitMode )
1870
1871
1877 {
1878 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
1879 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
1880 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
1881 };
1882 Q_ENUM( VectorDataProviderTemporalMode )
1883
1884
1890 {
1891 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
1892 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
1893 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ) = 2,
1894 };
1895 Q_ENUM( RasterTemporalMode )
1896
1897
1903 {
1904 MatchUsingWholeRange,
1905 MatchExactUsingStartOfRange,
1906 MatchExactUsingEndOfRange,
1907 FindClosestMatchToStartOfRange,
1908 FindClosestMatchToEndOfRange
1909 };
1910 Q_ENUM( TemporalIntervalMatchMethod )
1911
1912
1918 {
1919 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
1920 };
1921 Q_ENUM( RasterTemporalCapabilityFlag )
1922
1923
1928 Q_DECLARE_FLAGS( RasterTemporalCapabilityFlags, RasterTemporalCapabilityFlag )
1929 Q_FLAG( RasterTemporalCapabilityFlags )
1930
1931
1937 {
1938 Forward SIP_MONKEYPATCH_COMPAT_NAME( ForwardTransform ),
1939 Reverse SIP_MONKEYPATCH_COMPAT_NAME( ReverseTransform )
1940 };
1941 Q_ENUM( TransformDirection )
1942
1943
1949 {
1950 BallparkTransformsAreAppropriate = 1 << 0,
1951 IgnoreImpossibleTransformations = 1 << 1,
1952 };
1953 Q_ENUM( CoordinateTransformationFlag )
1954
1955
1960 Q_DECLARE_FLAGS( CoordinateTransformationFlags, CoordinateTransformationFlag )
1961 Q_FLAG( CoordinateTransformationFlags )
1962
1963
1969 {
1970 Antialiasing = 0x01,
1971 DrawEditingInfo = 0x02,
1972 ForceVectorOutput = 0x04,
1973 UseAdvancedEffects = 0x08,
1974 DrawLabeling = 0x10,
1975 UseRenderingOptimization = 0x20,
1976 DrawSelection = 0x40,
1977 DrawSymbolBounds = 0x80,
1978 RenderMapTile = 0x100,
1979 RenderPartialOutput = 0x200,
1980 RenderPreviewJob = 0x400,
1981 RenderBlocking = 0x800,
1982 LosslessImageRendering = 0x1000,
1983 Render3DMap = 0x2000,
1984 HighQualityImageTransforms = 0x4000,
1985 SkipSymbolRendering = 0x8000,
1986 ForceRasterMasks = 0x10000,
1987 RecordProfile = 0x20000,
1988 };
1991 Q_ENUM( MapSettingsFlag )
1992 Q_FLAG( MapSettingsFlags )
1993
1994
2000 {
2001 DrawEditingInfo = 0x01,
2002 ForceVectorOutput = 0x02,
2003 UseAdvancedEffects = 0x04,
2004 UseRenderingOptimization = 0x08,
2005 DrawSelection = 0x10,
2006 DrawSymbolBounds = 0x20,
2007 RenderMapTile = 0x40,
2008 Antialiasing = 0x80,
2009 RenderPartialOutput = 0x100,
2010 RenderPreviewJob = 0x200,
2011 RenderBlocking = 0x400,
2012 RenderSymbolPreview = 0x800,
2013 LosslessImageRendering = 0x1000,
2014 ApplyScalingWorkaroundForTextRendering = 0x2000,
2015 Render3DMap = 0x4000,
2016 ApplyClipAfterReprojection = 0x8000,
2017 RenderingSubSymbol = 0x10000,
2018 HighQualityImageTransforms = 0x20000,
2019 SkipSymbolRendering = 0x40000,
2020 RecordProfile = 0x80000,
2021 };
2024 Q_ENUM( RenderContextFlag )
2025 Q_FLAG( RenderContextFlags )
2026
2027
2032 enum class MapLayerRendererFlag : int
2033 {
2034 RenderPartialOutputs = 1 << 0,
2035 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2036 };
2037 Q_ENUM( MapLayerRendererFlag )
2038
2039
2044 Q_DECLARE_FLAGS( MapLayerRendererFlags, MapLayerRendererFlag )
2045 Q_FLAG( MapLayerRendererFlags )
2046
2047 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
2048 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
2049
2050
2055 {
2056 AlwaysOutlines SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysOutlines ),
2057 AlwaysText SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysText ),
2058 };
2059 Q_ENUM( TextRenderFormat )
2060
2061
2069 {
2070 UseAllLabels = 1 << 1,
2071 UsePartialCandidates = 1 << 2,
2072 // TODO QGIS 4.0: remove
2073 RenderOutlineLabels = 1 << 3,
2074 DrawLabelRectOnly = 1 << 4,
2075 DrawCandidates = 1 << 5,
2076 DrawUnplacedLabels = 1 << 6,
2077 CollectUnplacedLabels = 1 << 7,
2078 DrawLabelMetrics = 1 << 8,
2079 };
2080 Q_ENUM( LabelingFlag )
2081
2082
2089 Q_DECLARE_FLAGS( LabelingFlags, LabelingFlag ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsLabelingEngineSettings, Flags )
2090 Q_FLAG( LabelingFlags )
2091
2100 {
2101 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
2102 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
2103 };
2104 Q_ENUM( LabelPlacementEngineVersion )
2105
2106
2114 {
2115 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
2116 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
2117 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
2118 };
2119 Q_ENUM( TextOrientation )
2120
2121
2129 {
2130 Rectangle SIP_MONKEYPATCH_COMPAT_NAME( Rect ),
2131 Point,
2132 Labeling SIP_MONKEYPATCH_COMPAT_NAME( Label ),
2133 RectangleCapHeightBased,
2134 RectangleAscentBased,
2135 };
2136 Q_ENUM( TextLayoutMode )
2137
2138
2146 {
2147 Text,
2148 Buffer,
2149 Background,
2150 Shadow,
2151 };
2152 Q_ENUM( TextComponent )
2153
2154
2162 {
2163 Left SIP_MONKEYPATCH_COMPAT_NAME( AlignLeft ),
2164 Center SIP_MONKEYPATCH_COMPAT_NAME( AlignCenter ),
2165 Right SIP_MONKEYPATCH_COMPAT_NAME( AlignRight ),
2166 Justify SIP_MONKEYPATCH_COMPAT_NAME( AlignJustify ),
2167 };
2168 Q_ENUM( TextHorizontalAlignment )
2169
2170
2181 {
2182 Top SIP_MONKEYPATCH_COMPAT_NAME( AlignTop ),
2183 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
2184 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
2185 };
2186 Q_ENUM( TextVerticalAlignment )
2187
2188
2197 {
2198 Normal,
2199 SuperScript,
2200 SubScript,
2201 };
2202 Q_ENUM( TextCharacterVerticalAlignment )
2203
2204
2210 {
2211 Generic,
2212 ShadowOffset,
2213 BlurSize,
2214 GlowSpread,
2215 };
2216 Q_ENUM( RenderSubcomponentProperty )
2217
2218
2223 {
2224 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
2225 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
2226 };
2227 Q_ENUM( VertexType )
2228
2229
2237 {
2238 Square,
2239 Diamond,
2240 Pentagon,
2241 Hexagon,
2242 Triangle,
2243 EquilateralTriangle,
2244 Star,
2245 Arrow,
2246 Circle,
2247 Cross,
2248 CrossFill,
2249 Cross2,
2250 Line,
2251 ArrowHead,
2252 ArrowHeadFilled,
2253 SemiCircle,
2254 ThirdCircle,
2255 QuarterCircle,
2256 QuarterSquare,
2257 HalfSquare,
2258 DiagonalHalfSquare,
2259 RightHalfTriangle,
2260 LeftHalfTriangle,
2261 Octagon,
2262 SquareWithCorners,
2263 AsteriskFill,
2264 HalfArc,
2265 ThirdArc,
2266 QuarterArc,
2267 ParallelogramRight,
2268 ParallelogramLeft,
2269 Trapezoid,
2270 Shield,
2271 DiamondStar,
2272 Heart,
2273 Decagon,
2274 RoundedSquare,
2275 };
2276 Q_ENUM( MarkerShape )
2277
2278
2286 {
2287 Interval = 1 << 0,
2288 Vertex = 1 << 1,
2289 LastVertex = 1 << 2,
2290 FirstVertex = 1 << 3,
2291 CentralPoint = 1 << 4,
2292 CurvePoint = 1 << 5,
2293 SegmentCenter = 1 << 6,
2294 InnerVertices = 1 << 7,
2295 };
2296 Q_ENUM( MarkerLinePlacement )
2297 Q_DECLARE_FLAGS( MarkerLinePlacements, MarkerLinePlacement )
2298 Q_FLAG( MarkerLinePlacements )
2299
2300
2308 {
2309 SimpleTwoColor,
2310 ColorRamp,
2311 };
2312 Q_ENUM( GradientColorSource )
2313
2314
2322 {
2323 Linear,
2324 Radial,
2325 Conical,
2326 };
2327 Q_ENUM( GradientType )
2328
2329
2337 {
2338 Feature,
2339 Viewport,
2340 };
2341 Q_ENUM( SymbolCoordinateReference )
2342
2343
2352 {
2353 Pad,
2354 Reflect,
2355 Repeat,
2356 };
2357 Q_ENUM( GradientSpread )
2358
2359
2367 {
2368 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
2369 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
2370 };
2371 Q_ENUM( PointCountMethod )
2372
2373
2378 enum class MarkerClipMode : int
2379 {
2380 NoClipping,
2381 Shape,
2382 CentroidWithin,
2383 CompletelyWithin,
2384 };
2385 Q_ENUM( MarkerClipMode )
2386
2387
2392 enum class LineClipMode : int
2393 {
2394 ClipPainterOnly,
2395 ClipToIntersection,
2396 NoClipping,
2397 };
2398 Q_ENUM( LineClipMode )
2399
2400
2406 {
2407 NoRule,
2408 FullDash,
2409 HalfDash,
2410 FullGap,
2411 HalfGap,
2412 };
2413 Q_ENUM( DashPatternLineEndingRule )
2414
2415
2421 {
2422 ScaleBothDashAndGap,
2423 ScaleDashOnly,
2424 ScaleGapOnly,
2425 };
2426 Q_ENUM( DashPatternSizeAdjustment )
2427
2428
2436 {
2437 Color SIP_MONKEYPATCH_COMPAT_NAME( GraduatedColor ),
2438 Size SIP_MONKEYPATCH_COMPAT_NAME( GraduatedSize ),
2439 };
2440 Q_ENUM( GraduatedMethod )
2441
2442
2448 {
2449 NoLabels,
2450 EveryLabel,
2451 FirstLabel,
2452 LastLabel,
2453 FirstAndLastLabels,
2454 };
2455 Q_ENUM( PlotAxisSuffixPlacement )
2456
2457
2461 enum class DpiMode
2462 {
2463 All = 7,
2464 Off = 0,
2465 QGIS = 1,
2466 UMN = 2,
2467 GeoServer = 4,
2468 };
2469 Q_ENUM( DpiMode )
2470
2471
2476 {
2477 Undefined = 0,
2478 StandardDpi = 1,
2479 HighDpi = 2,
2480 };
2481 Q_ENUM( TilePixelRatio )
2482
2483 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
2484
2485
2493 {
2494 MixedCase = 0,
2495 AllUppercase = 1,
2496 AllLowercase = 2,
2497 ForceFirstLetterToCapital = 4,
2498 SmallCaps = 5,
2499 TitleCase = 1004,
2500 UpperCamelCase = 1005,
2501 AllSmallCaps = 1006,
2502 };
2503 Q_ENUM( Capitalization )
2504
2505
2510 enum class TextRendererFlag : int
2511 {
2512 WrapLines = 1 << 0,
2513 };
2514 Q_ENUM( TextRendererFlag )
2515 Q_DECLARE_FLAGS( TextRendererFlags, TextRendererFlag )
2516 Q_FLAG( TextRendererFlags )
2517
2518
2524 {
2525 MapBox,
2526 Esri,
2527 };
2529
2536 {
2537 Clockwise,
2538 CounterClockwise,
2539 };
2540 Q_ENUM( AngularDirection )
2541
2542
2547 enum class RendererUsage : int
2548 {
2549 View,
2550 Export,
2551 Unknown,
2552 };
2553 Q_ENUM( RendererUsage )
2554
2555
2560 enum class ViewSyncModeFlag : int
2561 {
2562 Sync3DTo2D = 1 << 0,
2563 Sync2DTo3D = 1 << 1,
2564 };
2565 Q_ENUM( ViewSyncModeFlag )
2566 Q_DECLARE_FLAGS( ViewSyncModeFlags, ViewSyncModeFlag )
2567
2568
2574 {
2575 Always,
2576 WhenOutsideVisibleExtent,
2577 Never,
2578 };
2579 Q_ENUM( MapRecenteringMode )
2580
2581
2586 enum class HistoryProviderBackend : int
2587 {
2588 LocalProfile = 1 << 0,
2589// Project = 1 << 1, //!< QGIS Project (not yet implemented)
2590 };
2591 Q_ENUM( HistoryProviderBackend )
2592 Q_DECLARE_FLAGS( HistoryProviderBackends, HistoryProviderBackend )
2593 Q_FLAG( HistoryProviderBackends )
2594
2595
2601 {
2602 ModelParameter,
2603 ChildOutput,
2604 StaticValue,
2605 Expression,
2606 ExpressionText,
2607 ModelOutput,
2608 };
2609 Q_ENUM( ProcessingModelChildParameterSource )
2610
2611
2617 {
2618 Wkt SIP_MONKEYPATCH_COMPAT_NAME( FormatWkt ),
2619 Proj SIP_MONKEYPATCH_COMPAT_NAME( FormatProj ),
2620 };
2621 Q_ENUM( CrsDefinitionFormat )
2622
2623
2631 enum class FieldDomainSplitPolicy : int
2632 {
2633 DefaultValue,
2634 Duplicate,
2635 GeometryRatio,
2636 UnsetField,
2637 };
2638 Q_ENUM( FieldDomainSplitPolicy )
2639
2640
2648 enum class FieldDomainMergePolicy : int
2649 {
2650 DefaultValue,
2651 Sum,
2652 GeometryWeighted,
2653 };
2654 Q_ENUM( FieldDomainMergePolicy )
2655
2656
2661 enum class FieldDomainType : int
2662 {
2663 Coded,
2664 Range,
2665 Glob,
2666 };
2667 Q_ENUM( FieldDomainType )
2668
2669
2674 enum class TransactionMode : int
2675 {
2676 Disabled = 0,
2677 AutomaticGroups = 1,
2678 BufferedGroups = 2,
2679 };
2680 Q_ENUM( TransactionMode )
2681
2682
2687 enum class AltitudeClamping : int
2688 {
2689 Absolute,
2690 Relative,
2691 Terrain,
2692 };
2693 Q_ENUM( AltitudeClamping )
2694
2695
2700 enum class AltitudeBinding : int
2701 {
2702 Vertex,
2703 Centroid,
2704 };
2705 Q_ENUM( AltitudeBinding )
2706
2707
2713 {
2714 NoConstraint,
2715 Perpendicular,
2716 Parallel
2717 };
2718 Q_ENUM( BetweenLineConstraint )
2719
2720
2725 enum class LineExtensionSide : int
2726 {
2727 BeforeVertex,
2728 AfterVertex,
2729 NoVertex,
2730 };
2731 Q_ENUM( LineExtensionSide )
2732
2733
2734
2738 enum class CadConstraintType : int
2739 {
2740 Generic,
2741 Angle,
2742 Distance,
2743 XCoordinate,
2744 YCoordinate,
2745 ZValue,
2746 MValue,
2747 };
2748 Q_ENUM( CadConstraintType )
2749
2750
2751
2756 enum class ProjectFlag : int
2757 {
2758 EvaluateDefaultValuesOnProviderSide = 1 << 0,
2759 TrustStoredLayerStatistics = 1 << 1,
2760 RememberLayerEditStatusBetweenSessions = 1 << 2,
2761 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
2762 };
2763 Q_ENUM( ProjectFlag )
2764 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
2765 Q_FLAG( ProjectFlags )
2766
2767
2772 enum class PlotToolFlag : int
2773 {
2774 ShowContextMenu = 1 << 0,
2775 };
2776 Q_ENUM( PlotToolFlag )
2777 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
2778 Q_FLAG( PlotToolFlags )
2779
2780
2785 enum class LightSourceType : int
2786 {
2787 Point,
2788 Directional,
2789 };
2790 Q_ENUM( LightSourceType )
2791
2792
2797 enum class NavigationMode : int
2798 {
2799 TerrainBased,
2800 Walk
2801 };
2802 Q_ENUM( NavigationMode )
2803
2804
2809 enum class VerticalAxisInversion : int
2810 {
2811 Never,
2812 WhenDragging,
2813 Always,
2814 };
2815 Q_ENUM( VerticalAxisInversion )
2816
2817
2823 {
2824 Line,
2825 FillBelow,
2826 FillAbove,
2827 };
2829
2835 enum class VectorProfileType : int
2836 {
2837 IndividualFeatures,
2838 ContinuousSurface,
2839 };
2841
2847 enum class ProfileGeneratorFlag : int
2848 {
2849 RespectsMaximumErrorMapUnit = 1 << 0,
2850 RespectsDistanceRange = 1 << 1,
2851 RespectsElevationRange = 1 << 2,
2852 };
2853 Q_ENUM( ProfileGeneratorFlag )
2854 Q_DECLARE_FLAGS( ProfileGeneratorFlags, ProfileGeneratorFlag )
2855 Q_FLAG( ProfileGeneratorFlags )
2856
2857
2862 enum class ProfileExportType : int
2863 {
2864 Features3D,
2865 Profile2D,
2866 DistanceVsElevationTable,
2867 };
2869
2876 {
2877 Square,
2878 Circle,
2879 };
2880 Q_ENUM( PointCloudSymbol )
2881
2882
2888 {
2889 Default,
2890 BottomToTop,
2891 TopToBottom,
2892 };
2893 Q_ENUM( PointCloudDrawOrder )
2894
2895
2903 {
2904 AllowIntersections,
2905 AvoidIntersectionsCurrentLayer,
2906 AvoidIntersectionsLayers,
2907 };
2908 Q_ENUM( AvoidIntersectionsMode )
2909
2910
2918 {
2919 Qgz,
2920 Qgs,
2921 };
2922 Q_ENUM( ProjectFileFormat )
2923
2924
2932 {
2933 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers ) = 1 << 0,
2934 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts ) = 1 << 1,
2935 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata ) = 1 << 2,
2936 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
2937 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
2938 DontLoadProjectStyles = 1 << 5,
2939 ForceReadOnlyLayers = 1 << 6,
2940 };
2941 Q_ENUM( ProjectReadFlag )
2942
2943
2950 Q_DECLARE_FLAGS( ProjectReadFlags, ProjectReadFlag ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsProject, ReadFlags )
2951 Q_FLAG( ProjectReadFlags )
2952
2961 enum class ProjectCapability : int
2962 {
2963 ProjectStyles = 1 << 0,
2964 };
2965 Q_ENUM( ProjectCapability )
2966
2967
2972 Q_DECLARE_FLAGS( ProjectCapabilities, ProjectCapability )
2973 Q_FLAG( ProjectCapabilities )
2974
2975
2981 {
2982 Vector,
2983 Raster,
2984 RasterDem,
2985 GeoJson,
2986 Image,
2987 Video,
2988 Unknown,
2989 };
2990 Q_ENUM( MapBoxGlStyleSourceType )
2991
2992
3000 {
3001 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
3002 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
3003 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
3004 GlobeServer,
3005 GPServer,
3006 GeocodeServer,
3007 Unknown,
3008 };
3009 Q_ENUM( ArcGisRestServiceType )
3010
3011
3019 {
3020 Normal,
3021 Generated,
3022 };
3023 Q_ENUM( RelationshipType )
3024
3025
3033 {
3034 Association,
3035 Composition,
3036 };
3037 Q_ENUM( RelationshipStrength )
3038
3039
3045 {
3046 OneToOne,
3047 OneToMany,
3048 ManyToOne,
3049 ManyToMany,
3050 };
3051 Q_ENUM( RelationshipCardinality )
3052
3053
3058 enum class RelationshipCapability : int
3059 {
3060 MultipleFieldKeys = 1 << 0,
3061 ForwardPathLabel = 1 << 1,
3062 BackwardPathLabel = 1 << 2,
3063 };
3064 Q_ENUM( RelationshipCapability )
3065
3066
3071 Q_DECLARE_FLAGS( RelationshipCapabilities, RelationshipCapability )
3072 Q_FLAG( RelationshipCapabilities )
3073
3074
3079 enum class CoordinateDisplayType : int
3080 {
3081 MapCrs,
3082 MapGeographic,
3083 CustomCrs,
3084 };
3085 Q_ENUM( CoordinateDisplayType )
3086
3087
3092 enum class SettingsOrigin : int
3093 {
3094 Any,
3095 Global,
3096 Local,
3097 };
3098 Q_ENUM( SettingsOrigin )
3099
3100
3105 enum class ScriptLanguage : int
3106 {
3107 Css,
3108 QgisExpression,
3109 Html,
3110 JavaScript,
3111 Json,
3112 Python,
3113 R,
3114 Sql,
3115 Batch,
3116 Bash,
3117 Unknown,
3118 };
3119 Q_ENUM( ScriptLanguage )
3120
3121
3129 {
3130 Reformat = 1 << 0,
3131 CheckSyntax = 1 << 1,
3132 ToggleComment = 1 << 2,
3133 };
3134 Q_ENUM( ScriptLanguageCapability )
3135
3136
3141 Q_DECLARE_FLAGS( ScriptLanguageCapabilities, ScriptLanguageCapability )
3142 Q_FLAG( ScriptLanguageCapabilities )
3143
3144
3150 {
3151 AboveInsertionPoint,
3152 TopOfTree,
3153 OptimalInInsertionGroup,
3154 };
3155 Q_ENUM( LayerTreeInsertionMethod )
3156
3157
3162 enum class LayerTreeFilterFlag : int
3163 {
3164 SkipVisibilityCheck = 1 << 0,
3165 };
3166 Q_ENUM( LayerTreeFilterFlag )
3167
3168
3173 Q_DECLARE_FLAGS( LayerTreeFilterFlags, LayerTreeFilterFlag )
3174 Q_FLAG( LayerTreeFilterFlags )
3175
3176
3183 enum class ActionType : int
3184 {
3185 Invalid,
3186 MapLayerAction,
3187 AttributeAction
3188 };
3189 Q_ENUM( ActionType )
3190
3191
3198 enum class MapLayerActionTarget : int
3199 {
3200 Layer = 1 << 0,
3201 SingleFeature = 1 << 1,
3202 MultipleFeatures = 1 << 2,
3203 AllActions = Layer | SingleFeature | MultipleFeatures
3204 };
3205 Q_ENUM( MapLayerActionTarget )
3206
3207
3214 Q_DECLARE_FLAGS( MapLayerActionTargets, MapLayerActionTarget )
3215 Q_FLAG( MapLayerActionTargets )
3216
3217
3224 enum class MapLayerActionFlag : int
3225 {
3226 EnabledOnlyWhenEditable = 1 << 1,
3227 };
3228 Q_ENUM( MapLayerActionFlag )
3229
3230
3237 Q_DECLARE_FLAGS( MapLayerActionFlags, MapLayerActionFlag )
3238 Q_FLAG( MapLayerActionFlags )
3239
3240
3248 {
3249 Generic,
3250 GenericPython,
3251 Mac,
3252 Windows,
3253 Unix,
3254 OpenUrl,
3255 SubmitUrlEncoded,
3256 SubmitUrlMultipart,
3257 };
3258 Q_ENUM( AttributeActionType )
3259
3260
3266 {
3267 Created,
3268 Published,
3269 Revised,
3270 Superseded,
3271 };
3272 Q_ENUM( MetadataDateType )
3273
3274
3284 {
3285 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
3286 GrayIndex = 1,
3287 PaletteIndex = 2,
3288 RedBand = 3,
3289 GreenBand = 4,
3290 BlueBand = 5,
3291 AlphaBand = 6,
3292 HueBand = 7,
3293 SaturationBand = 8,
3294 LightnessBand = 9,
3295 CyanBand = 10,
3296 MagentaBand = 11,
3297 YellowBand = 12,
3298 BlackBand = 13,
3299 YCbCr_YBand = 14,
3300 YCbCr_CbBand = 15,
3301 YCbCr_CrBand = 16,
3302 ContinuousPalette = 17
3303 };
3304 Q_ENUM( RasterColorInterpretation )
3305
3306
3314 {
3315 GrayOrUndefined,
3316 Palette,
3317 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
3318 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
3319 };
3320 Q_ENUM( RasterLayerType )
3321
3322
3330 {
3331 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
3332 SingleBandGray,
3333 SingleBandPseudoColor,
3334 PalettedColor,
3335 PalettedSingleBandGray,
3336 PalettedSingleBandPseudoColor,
3337 PalettedMultiBandColor,
3338 MultiBandSingleBandGray,
3339 MultiBandSingleBandPseudoColor,
3340 MultiBandColor,
3341 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
3342 };
3343 Q_ENUM( RasterDrawingStyle )
3344
3345
3352 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
3353 {
3354 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
3355 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
3356 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
3357 };
3358 Q_ENUM( RasterPyramidFormat )
3359
3360
3368 {
3369 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
3370 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
3371 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
3372 };
3373 Q_ENUM( RasterBuildPyramidOption )
3374
3375
3383 {
3384 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
3385 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
3386 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
3387 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
3388 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
3389 };
3390 Q_ENUM( RasterIdentifyFormat )
3391
3392
3398 {
3399 HighestElevation,
3400 NewerElevation,
3401 };
3402 Q_ENUM( ElevationMapCombineMethod )
3403
3404
3413 {
3414 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
3415 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
3416 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
3417 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
3418 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
3419 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
3420 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
3421 Burn SIP_MONKEYPATCH_COMPAT_NAME( BlendBurn ),
3422 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
3423 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
3424 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
3425 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
3426 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
3427 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
3428 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
3429 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
3430 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
3431 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
3432 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
3433 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
3434 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
3435 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
3436 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
3437 Xor SIP_MONKEYPATCH_COMPAT_NAME( BlendXor ),
3438 };
3439 Q_ENUM( BlendMode )
3440
3441
3449 {
3450 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
3451 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
3452 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
3453 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
3454 };
3455 Q_ENUM( SystemOfMeasurement )
3456
3457
3464 {
3465 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
3466 Pixels,
3467 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
3468 };
3469 Q_ENUM( MapToolUnit )
3470
3471
3479 {
3480 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
3481 Area SIP_MONKEYPATCH_COMPAT_NAME( TypeArea ),
3482 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
3483 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
3484 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
3485 };
3486 Q_ENUM( UnitType )
3487
3488
3496 {
3497 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
3498 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
3499 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
3500 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
3501 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
3502 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
3503 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
3504 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
3505 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
3506 Inches,
3507 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
3508 };
3509 Q_ENUM( DistanceUnit )
3510
3511
3519 {
3520 Standard,
3521 Geographic,
3522 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
3523 };
3524 Q_ENUM( DistanceUnitType )
3525
3526
3534 {
3535 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
3536 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
3537 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
3538 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
3539 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
3540 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
3541 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
3542 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
3543 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
3544 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
3545 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
3546 SquareInches,
3547 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
3548 };
3549 Q_ENUM( AreaUnit )
3550
3551
3559 {
3560 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
3561 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
3562 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
3563 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
3564 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
3565 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
3566 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
3567 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
3568 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
3569 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
3570 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
3571 };
3572 Q_ENUM( VolumeUnit )
3573
3574
3582 {
3583 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
3584 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
3585 Gon SIP_MONKEYPATCH_COMPAT_NAME( AngleGon ),
3586 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
3587 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
3588 Turn SIP_MONKEYPATCH_COMPAT_NAME( AngleTurn ),
3589 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
3590 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
3591 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
3592 };
3593 Q_ENUM( AngleUnit )
3594
3595
3603 {
3604 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
3605 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
3606 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
3607 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
3608 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
3609 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
3610 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
3611 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
3612 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
3613 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
3614 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
3615 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
3616 };
3617 Q_ENUM( TemporalUnit )
3618
3619
3627 {
3628 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
3629 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
3630 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
3631 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
3632 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
3633 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
3634 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
3635 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
3636 };
3637 Q_ENUM( RenderUnit )
3638
3639
3647 {
3648 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
3649 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
3650 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
3651 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
3652 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
3653 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
3654 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
3655 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
3656 };
3657 Q_ENUM( LayoutUnit )
3658
3659
3667 {
3668 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
3669 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
3670 };
3671 Q_ENUM( LayoutUnitType )
3672
3673
3678 enum class InputControllerType : int
3679 {
3680 Map2D,
3681 Map3D
3682 };
3684
3691 {
3692 NotSet,
3693 Unknown,
3694 OrdinaryTable,
3695 Index,
3696 Sequence,
3697 View,
3698 MaterializedView,
3699 CompositeType,
3700 ToastTable,
3701 ForeignTable,
3702 PartitionedTable,
3703 };
3704 Q_ENUM( PostgresRelKind )
3705
3706
3712 {
3713 SetFieldComment = 1 << 0,
3714 SetFieldAlias = 1 << 1,
3715 };
3716 Q_ENUM( DatabaseProviderConnectionCapability2 )
3717 Q_DECLARE_FLAGS( DatabaseProviderConnectionCapabilities2, DatabaseProviderConnectionCapability2 )
3718 Q_FLAG( DatabaseProviderConnectionCapabilities2 )
3719
3720
3726 {
3727 SaveToDatabase = 1 << 1,
3728 LoadFromDatabase = 1 << 2,
3729 DeleteFromDatabase = 1 << 3
3730 };
3732 Q_DECLARE_FLAGS( ProviderStyleStorageCapabilities, ProviderStyleStorageCapability )
3733 Q_FLAG( ProviderStyleStorageCapabilities )
3734
3735
3741 {
3742 LastProfile,
3743 DefaultProfile,
3744 AskUser,
3745 };
3746 Q_ENUM( UserProfileSelectionPolicy )
3747
3748
3756 {
3757 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
3758 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
3759 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
3760 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
3761 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
3762 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
3763 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
3764 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
3765 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
3766 };
3767 Q_ENUM( AttributeEditorType )
3768
3769
3775 {
3776 GroupBox,
3777 Tab,
3778 Row,
3779 };
3780 Q_ENUM( AttributeEditorContainerType )
3781
3782
3790 {
3791 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
3792 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
3793 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
3794 };
3795 Q_ENUM( AttributeFormLayout )
3796
3797
3805 {
3806 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
3807 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
3808 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
3809 };
3810 Q_ENUM( AttributeFormSuppression )
3811
3812
3820 {
3821 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
3822 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
3823 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
3824 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
3825 };
3826 Q_ENUM( AttributeFormPythonInitCodeSource )
3827
3828
3834 {
3835 Qgis,
3836 PointCloud,
3837 RasterCalculator,
3838 };
3839 Q_ENUM( ExpressionType )
3840
3841
3849 {
3850 NoSymbology = 0,
3851 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
3852 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
3853 };
3854 Q_ENUM( FeatureSymbologyExport )
3855
3856
3861 enum class VectorTileProviderFlag : int
3862 {
3863 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
3864 };
3865 Q_ENUM( VectorTileProviderFlag )
3866
3867
3872 Q_DECLARE_FLAGS( VectorTileProviderFlags, VectorTileProviderFlag )
3873 Q_FLAG( VectorTileProviderFlags )
3874
3875
3880 {
3881 ReadLayerMetadata = 1 << 1,
3882 };
3883 Q_ENUM( VectorTileProviderCapability )
3884
3885
3890 Q_DECLARE_FLAGS( VectorTileProviderCapabilities, VectorTileProviderCapability )
3891 Q_FLAG( VectorTileProviderCapabilities )
3892
3893
3899 {
3900 Available,
3901 NotAvailable,
3902 AvailableNoChildren,
3903 UseLowerZoomLevelTile,
3904 };
3905 Q_ENUM( TileAvailability )
3906
3907
3913 {
3914 ReadLayerMetadata = 1 << 1,
3915 };
3916 Q_ENUM( TiledSceneProviderCapability )
3917
3918
3923 Q_DECLARE_FLAGS( TiledSceneProviderCapabilities, TiledSceneProviderCapability )
3924 Q_FLAG( TiledSceneProviderCapabilities )
3925
3926
3932 {
3933 Region,
3934 OrientedBox,
3935 Sphere,
3936 };
3937 Q_ENUM( TiledSceneBoundingVolumeType )
3938
3939
3948 {
3949 Replacement,
3950 Additive,
3951 };
3952 Q_ENUM( TileRefinementProcess )
3953
3954
3960 {
3961 NoChildren,
3962 Available,
3963 NeedFetching,
3964 };
3965 Q_ENUM( TileChildrenAvailability )
3966
3967
3972 enum class TiledSceneRequestFlag : int
3973 {
3974 NoHierarchyFetch = 1 << 0,
3975 };
3976 Q_ENUM( TiledSceneRequestFlag )
3977
3978
3983 Q_DECLARE_FLAGS( TiledSceneRequestFlags, TiledSceneRequestFlag )
3984 Q_FLAG( TiledSceneRequestFlags )
3985
3986
3991 enum class TiledSceneRendererFlag : int
3992 {
3993 RequiresTextures = 1 << 0,
3994 ForceRasterRender = 1 << 1,
3995 RendersTriangles = 1 << 2,
3996 RendersLines = 1 << 3,
3997 };
3998 Q_ENUM( TiledSceneRendererFlag )
3999
4000
4005 Q_DECLARE_FLAGS( TiledSceneRendererFlags, TiledSceneRendererFlag )
4006 Q_FLAG( TiledSceneRendererFlags )
4007
4008
4013 enum class GdalResampleAlgorithm : int
4014 {
4015 RA_NearestNeighbour = 0,
4016 RA_Bilinear = 1,
4017 RA_Cubic = 2,
4018 RA_CubicSpline = 3,
4019 RA_Lanczos = 4,
4020 RA_Average = 5,
4021 RA_Mode = 6,
4022 RA_Max = 8,
4023 RA_Min = 9,
4024 RA_Median = 10,
4025 RA_Q1 = 11,
4026 RA_Q3 = 12,
4027 };
4028 Q_ENUM( GdalResampleAlgorithm )
4029
4030
4034 static const double DEFAULT_SEARCH_RADIUS_MM;
4035
4037 static const float DEFAULT_MAPTOPIXEL_THRESHOLD;
4038
4045 static const QColor DEFAULT_HIGHLIGHT_COLOR;
4046
4051 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
4052
4057 static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
4058
4065 static const double SCALE_PRECISION;
4066
4072 static const double DEFAULT_Z_COORDINATE;
4073
4079 static const double DEFAULT_M_COORDINATE;
4080
4086 static const double UI_SCALE_FACTOR;
4087
4092 static const double DEFAULT_SNAP_TOLERANCE;
4093
4098 static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS;
4099
4105 static QString defaultProjectScales();
4106
4112 static int geosVersionInt();
4113
4119 static int geosVersionMajor();
4120
4126 static int geosVersionMinor();
4127
4133 static int geosVersionPatch();
4134
4140 static QString geosVersion();
4141};
4142
4145
4146Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SymbolRenderHints )
4147Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SymbolFlags )
4148Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SymbolPreviewFlags )
4149Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SymbolLayerFlags )
4150Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SymbolLayerUserFlags )
4151Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::BrowserItemCapabilities )
4152Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SublayerQueryFlags )
4153Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SublayerFlags )
4154Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SqlLayerDefinitionCapabilities )
4155Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::BabelFormatCapabilities )
4156Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::BabelCommandFlags )
4157Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::GeometryValidityFlags )
4158Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::FileOperationFlags )
4159Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::AnnotationItemFlags )
4160Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::AnnotationItemGuiFlags )
4161Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::MapSettingsFlags )
4162Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::MapLayerRendererFlags )
4163Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::RenderContextFlags )
4164Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorLayerTypeFlags )
4165Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::MarkerLinePlacements )
4166Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::TextRendererFlags )
4167Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::HistoryProviderBackends )
4168Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::MapLayerProperties )
4169Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::DataProviderFlags )
4170Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorDataProviderAttributeEditCapabilities )
4171Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SnappingTypes )
4172Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::PlotToolFlags )
4173Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ProfileGeneratorFlags )
4174Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ProjectReadFlags )
4175Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ProjectCapabilities )
4176Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::CoordinateTransformationFlags )
4177Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::RasterTemporalCapabilityFlags )
4178Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SelectionFlags )
4179Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::RasterRendererFlags )
4180Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::LabelingFlags )
4181Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::GpsInformationComponents )
4182Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::MapLayerActionTargets )
4183Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::MapLayerActionFlags )
4184Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::RelationshipCapabilities )
4185Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SettingsTreeNodeOptions )
4186Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ScriptLanguageCapabilities )
4187Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::LayerTreeFilterFlags )
4188Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::LabelLinePlacementFlags )
4189Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::LabelPolygonPlacementFlags )
4190Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::DatabaseProviderConnectionCapabilities2 )
4191Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorFileWriterCapabilities )
4192Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorTileProviderFlags )
4193Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorTileProviderCapabilities )
4194Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::TiledSceneProviderCapabilities )
4195Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::TiledSceneRequestFlags )
4196Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::TiledSceneRendererFlags )
4197Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::FieldConfigurationFlags )
4198Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::LayerFilters )
4199
4200// hack to workaround warnings when casting void pointers
4201// retrieved from QLibrary::resolve to function pointers.
4202// It's assumed that this works on all systems supporting
4203// QLibrary
4204#define cast_to_fptr(f) f
4205
4206
4215// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
4216template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
4217{
4218 public:
4219
4224 explicit QgsSignalBlocker( Object * object )
4225 : mObject( object )
4226 , mPreviousState( object->blockSignals( true ) )
4227 {}
4228
4230 {
4231 mObject->blockSignals( mPreviousState );
4232 }
4233
4235 Object *operator->() { return mObject; }
4236
4237 private:
4238
4239 Object *mObject = nullptr;
4240 bool mPreviousState;
4241
4242};
4243
4257// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
4258template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
4259{
4260 return QgsSignalBlocker<Object>( object );
4261}
4262
4264CORE_EXPORT uint qHash( const QVariant &variant );
4265
4271inline QString qgsDoubleToString( double a, int precision = 17 )
4272{
4273 QString str;
4274 if ( precision )
4275 {
4276 if ( precision < 0 )
4277 {
4278 const double roundFactor = std::pow( 10, -precision );
4279 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
4280 }
4281 else
4282 {
4283 str = QString::number( a, 'f', precision );
4284 if ( str.contains( QLatin1Char( '.' ) ) )
4285 {
4286 // remove ending 0s
4287 int idx = str.length() - 1;
4288 while ( str.at( idx ) == '0' && idx > 1 )
4289 {
4290 idx--;
4291 }
4292 if ( idx < str.length() - 1 )
4293 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
4294 }
4295 }
4296 }
4297 else
4298 {
4299 str = QString::number( a, 'f', precision );
4300 }
4301 // avoid printing -0
4302 // see https://bugreports.qt.io/browse/QTBUG-71439
4303 if ( str == QLatin1String( "-0" ) )
4304 {
4305 return QLatin1String( "0" );
4306 }
4307 return str;
4308}
4309
4316inline bool qgsNanCompatibleEquals( double a, double b )
4317{
4318 const bool aIsNan = std::isnan( a );
4319 const bool bIsNan = std::isnan( b );
4320 if ( aIsNan || bIsNan )
4321 return aIsNan && bIsNan;
4322
4323 return a == b;
4324}
4325
4332inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
4333{
4334 const bool aIsNan = std::isnan( a );
4335 const bool bIsNan = std::isnan( b );
4336 if ( aIsNan || bIsNan )
4337 return aIsNan && bIsNan;
4338
4339 const double diff = a - b;
4340 return diff >= -epsilon && diff <= epsilon;
4341}
4342
4349inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
4350{
4351 const bool aIsNan = std::isnan( a );
4352 const bool bIsNan = std::isnan( b );
4353 if ( aIsNan || bIsNan )
4354 return aIsNan && bIsNan;
4355
4356 const float diff = a - b;
4357 return diff >= -epsilon && diff <= epsilon;
4358}
4359
4361inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
4362{
4363 const bool aIsNan = std::isnan( a );
4364 const bool bIsNan = std::isnan( b );
4365 if ( aIsNan || bIsNan )
4366 return aIsNan && bIsNan;
4367
4368 // The most simple would be to print numbers as %.xe and compare as strings
4369 // but that is probably too costly
4370 // Then the fastest would be to set some bits directly, but little/big endian
4371 // has to be considered (maybe TODO)
4372 // Is there a better way?
4373 int aexp, bexp;
4374 const double ar = std::frexp( a, &aexp );
4375 const double br = std::frexp( b, &bexp );
4376
4377 return aexp == bexp &&
4378 std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
4379}
4380
4386inline double qgsRound( double number, int places )
4387{
4388 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
4389 const double scaleFactor = std::pow( 10.0, places );
4390 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
4391}
4392
4393#ifndef SIP_RUN
4394
4401template<class Key, class Value>
4402QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
4403{
4404 QString result;
4405 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
4406 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
4407
4408 result.chop( separator.size() );
4409 return result;
4410}
4411
4418template<class Key, class Value>
4419QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
4420{
4421 QString result;
4422 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
4423 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
4424
4425 result.chop( separator.size() );
4426 return result;
4427}
4428
4435template<class T>
4436QString qgsSetJoin( const QSet<T> &set, const QString &separator )
4437{
4438 QString result;
4439 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
4440 result += QString( "%1%2" ).arg( *it ).arg( separator );
4441
4442 result.chop( separator.size() );
4443 return result;
4444}
4445
4447
4457namespace qgis
4458{
4459
4472 template<typename To, typename From> inline To down_cast( From *f )
4473 {
4474 static_assert(
4475 ( std::is_base_of<From,
4476 typename std::remove_pointer<To>::type>::value ),
4477 "target type not derived from source type" );
4478 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
4479 return static_cast<To>( f );
4480 }
4481
4482 template<class T>
4483 QSet<T> listToSet( const QList<T> &list )
4484 {
4485 return QSet<T>( list.begin(), list.end() );
4486 }
4487
4488 template<class T>
4489 QList<T> setToList( const QSet<T> &set )
4490 {
4491 return QList<T>( set.begin(), set.end() );
4492 }
4493}
4494
4496#endif
4497
4502template<class T> const QList<T> qgsEnumList() SIP_SKIP
4503{
4504 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4505 Q_ASSERT( metaEnum.isValid() );
4506 QList<T> enumList;
4507 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
4508 {
4509 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
4510 }
4511 return enumList;
4512}
4513
4519template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
4520{
4521 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4522 Q_ASSERT( metaEnum.isValid() );
4523 QMap<T, QString> enumMap;
4524 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
4525 {
4526 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
4527 }
4528 return enumMap;
4529}
4530
4536template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
4537{
4538 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4539 Q_ASSERT( metaEnum.isValid() );
4540 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
4541 if ( returnOk )
4542 {
4543 *returnOk = key ? true : false;
4544 }
4545 return QString::fromUtf8( key );
4546}
4547
4555template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
4556{
4557 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4558 Q_ASSERT( metaEnum.isValid() );
4559 bool ok = false;
4560 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
4561 if ( returnOk )
4562 {
4563 *returnOk = ok;
4564 }
4565 if ( ok )
4566 {
4567 return v;
4568 }
4569 else
4570 {
4571 // if conversion has failed, try with conversion from int value
4572 if ( tryValueAsKey )
4573 {
4574 bool canConvert = false;
4575 const int intValue = key.toInt( &canConvert );
4576 if ( canConvert && metaEnum.valueToKey( intValue ) )
4577 {
4578 if ( returnOk )
4579 {
4580 *returnOk = true;
4581 }
4582 return static_cast<T>( intValue );
4583 }
4584 }
4585 }
4586 return defaultValue;
4587}
4588
4594template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
4595{
4596 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4597 Q_ASSERT( metaEnum.isValid() );
4598 int intValue = static_cast<int>( value );
4599 const QByteArray ba = metaEnum.valueToKeys( intValue );
4600 // check that the int value does correspond to a flag
4601 // see https://stackoverflow.com/a/68495949/1548052
4602 const int intValueCheck = metaEnum.keysToValue( ba );
4603 bool ok = intValue == intValueCheck;
4604 if ( returnOk )
4605 *returnOk = ok;
4606 return ok ? QString::fromUtf8( ba ) : QString();
4607}
4608
4616template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
4617{
4618 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4619 Q_ASSERT( metaEnum.isValid() );
4620 bool ok = false;
4621 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
4622 if ( returnOk )
4623 {
4624 *returnOk = ok;
4625 }
4626 if ( ok )
4627 {
4628 return v;
4629 }
4630 else
4631 {
4632 // if conversion has failed, try with conversion from int value
4633 if ( tryValueAsKey )
4634 {
4635 bool canConvert = false;
4636 const int intValue = keys.toInt( &canConvert );
4637 if ( canConvert )
4638 {
4639 const QByteArray keys = metaEnum.valueToKeys( intValue );
4640 const int intValueCheck = metaEnum.keysToValue( keys );
4641 if ( intValue == intValueCheck )
4642 {
4643 if ( returnOk )
4644 {
4645 *returnOk = true;
4646 }
4647 return T( intValue );
4648 }
4649 }
4650 }
4651 }
4652 return defaultValue;
4653}
4654
4655
4665CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
4666
4676CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
4677
4687CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
4688
4698CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
4699
4708CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
4709
4716CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
4717
4718#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
4719
4726inline bool operator> ( const QVariant &v1, const QVariant &v2 )
4727{
4728 return qgsVariantGreaterThan( v1, v2 );
4729}
4730
4740inline bool operator< ( const QVariant &v1, const QVariant &v2 )
4741{
4742 return qgsVariantLessThan( v1, v2 );
4743}
4744#endif
4745
4746
4747#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
4748
4752template<> CORE_EXPORT bool qMapLessThanKey<QVariantList>( const QVariantList &key1, const QVariantList &key2 ) SIP_SKIP;
4753#endif
4754
4755CORE_EXPORT QString qgsVsiPrefix( const QString &path );
4756
4762void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
4763
4768void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
4769
4770#ifndef SIP_RUN
4771
4772#ifdef _MSC_VER
4773#define CONSTLATIN1STRING inline const QLatin1String
4774#else
4775#define CONSTLATIN1STRING constexpr QLatin1String
4776#endif
4777
4779class ScopedIntIncrementor
4780{
4781 public:
4782
4783 ScopedIntIncrementor( int *variable )
4784 : mVariable( variable )
4785 {
4786 ( *mVariable )++;
4787 }
4788
4789 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
4790 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
4791
4792 void release()
4793 {
4794 if ( mVariable )
4795 ( *mVariable )--;
4796
4797 mVariable = nullptr;
4798 }
4799
4800 ~ScopedIntIncrementor()
4801 {
4802 release();
4803 }
4804
4805 private:
4806 int *mVariable = nullptr;
4807};
4809
4815{
4816 return QLatin1String(
4817 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]] )"""
4818 );
4819}
4820
4823{
4824 return QLatin1String( "+proj=longlat +datum=WGS84 +no_defs" );
4825}
4826
4829{
4830 return QLatin1String( "EPSG:4326" );
4831}
4832
4835{
4836 return QLatin1String( "NONE" );
4837}
4838
4840
4842const int PREVIEW_JOB_DELAY_MS = 250;
4843
4845const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
4846
4848
4849#endif
4850
4852const long GEOSRID = 4326;
4853
4855const long GEOCRS_ID = 3452;
4856
4858const long GEO_EPSG_CRS_ID = 4326;
4859
4864const int USER_CRS_START_ID = 100000;
4865
4866//
4867// Constants for point symbols
4868//
4869
4871const double DEFAULT_POINT_SIZE = 2.0;
4872const double DEFAULT_LINE_WIDTH = 0.26;
4873
4875const double DEFAULT_SEGMENT_EPSILON = 1e-8;
4876
4877typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
4878
4887typedef unsigned long long qgssize;
4888
4889#ifndef SIP_RUN
4890#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
4891
4892#define Q_NOWARN_DEPRECATED_PUSH \
4893 _Pragma("GCC diagnostic push") \
4894 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
4895#define Q_NOWARN_DEPRECATED_POP \
4896 _Pragma("GCC diagnostic pop");
4897#define Q_NOWARN_UNREACHABLE_PUSH
4898#define Q_NOWARN_UNREACHABLE_POP
4899
4900#elif defined(_MSC_VER)
4901
4902#define Q_NOWARN_DEPRECATED_PUSH \
4903 __pragma(warning(push)) \
4904 __pragma(warning(disable:4996))
4905#define Q_NOWARN_DEPRECATED_POP \
4906 __pragma(warning(pop))
4907#define Q_NOWARN_UNREACHABLE_PUSH \
4908 __pragma(warning(push)) \
4909 __pragma(warning(disable:4702))
4910#define Q_NOWARN_UNREACHABLE_POP \
4911 __pragma(warning(pop))
4912
4913#else
4914
4915#define Q_NOWARN_DEPRECATED_PUSH
4916#define Q_NOWARN_DEPRECATED_POP
4917#define Q_NOWARN_UNREACHABLE_PUSH
4918#define Q_NOWARN_UNREACHABLE_POP
4919
4920#endif
4921#endif
4922
4923#ifndef QGISEXTERN
4924#ifdef Q_OS_WIN
4925# define QGISEXTERN extern "C" __declspec( dllexport )
4926#else
4927# if defined(__GNUC__) || defined(__clang__)
4928# define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
4929# else
4930# define QGISEXTERN extern "C"
4931# endif
4932#endif
4933#endif
4934#endif
4935
4936// see https://infektor.net/posts/2017-01-19-using-cpp17-attributes-today.html#using-the-nodiscard-attribute
4937#if __cplusplus >= 201703L
4938#define NODISCARD [[nodiscard]]
4939#elif defined(__clang__)
4940#define NODISCARD [[nodiscard]]
4941#elif defined(_MSC_VER)
4942#define NODISCARD // no support
4943#elif defined(__has_cpp_attribute)
4944#if __has_cpp_attribute(nodiscard)
4945#define NODISCARD [[nodiscard]]
4946#elif __has_cpp_attribute(gnu::warn_unused_result)
4947#define NODISCARD [[gnu::warn_unused_result]]
4948#else
4949#define NODISCARD Q_REQUIRED_RESULT
4950#endif
4951#else
4952#define NODISCARD Q_REQUIRED_RESULT
4953#endif
4954
4955#if __cplusplus >= 201703L
4956#define MAYBE_UNUSED [[maybe_unused]]
4957#elif defined(__clang__)
4958#define MAYBE_UNUSED [[maybe_unused]]
4959#elif defined(_MSC_VER)
4960#define MAYBE_UNUSED // no support
4961#elif defined(__has_cpp_attribute)
4962#if __has_cpp_attribute(gnu::unused)
4963#define MAYBE_UNUSED [[gnu::unused]]
4964#else
4965#define MAYBE_UNUSED
4966#endif
4967#else
4968#define MAYBE_UNUSED
4969#endif
4970
4971#ifndef FINAL
4972#define FINAL final
4973#endif
4974
4975#ifndef SIP_RUN
4976#ifdef _MSC_VER
4977#define BUILTIN_UNREACHABLE \
4978 __assume(false);
4979#elif defined(__GNUC__) && !defined(__clang__)
4980// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
4981// like:
4982// switch( mVariableThatCanOnlyBeXorY )
4983// {
4984// case X:
4985// return "foo";
4986// case Y:
4987// return "foo";
4988// }
4989// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
4990#define BUILTIN_UNREACHABLE \
4991 __builtin_unreachable();
4992#else
4993#define BUILTIN_UNREACHABLE
4994#endif
4995#endif // SIP_RUN
4996
4997#ifdef SIP_RUN
4998
5003QString CORE_EXPORT geoWkt();
5004
5006QString CORE_EXPORT geoProj4();
5007
5009QString CORE_EXPORT geoEpsgCrsAuthId();
5010
5012QString CORE_EXPORT geoNone();
5013
5014#endif
The Qgis class provides global constants for use throughout the application.
Definition qgis.h:54
DistanceUnitType
Types of distance units.
Definition qgis.h:3519
GnssConstellation
GNSS constellation.
Definition qgis.h:1396
SettingsOption
Settings options.
Definition qgis.h:466
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition qgis.h:2848
GpsQualityIndicator
GPS signal quality indicator.
Definition qgis.h:1414
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:2932
MapToolUnit
Type of unit of tolerance value from settings.
Definition qgis.h:3464
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:2448
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:2876
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
Definition qgis.h:525
GeometryValidityFlag
Geometry validity check flags.
Definition qgis.h:1549
ExpressionType
Expression types.
Definition qgis.h:3834
MapLayerActionFlag
Map layer action targets.
Definition qgis.h:3225
MapLayerProperty
File operation flags.
Definition qgis.h:1652
BufferSide
Side of line to buffer.
Definition qgis.h:1574
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1062
VectorTileProviderCapability
Vector tile data provider flags.
Definition qgis.h:3880
AltitudeClamping
Altitude clamping.
Definition qgis.h:2688
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:3862
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:1849
SublayerFlag
Sublayer query flags.
Definition qgis.h:1031
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:918
CoordinateDisplayType
Relationship capabilities.
Definition qgis.h:3080
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:2421
GpsFixStatus
GPS fix status.
Definition qgis.h:1381
AnnotationItemNodeType
Annotation item GUI flags.
Definition qgis.h:1825
static const char * QGIS_DEV_VERSION
The development version.
Definition qgis.h:82
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:729
AngularDirection
Angular directions.
Definition qgis.h:2536
DriveType
Drive types.
Definition qgis.h:782
UnitType
Unit types.
Definition qgis.h:3479
ContentStatus
Status for fetched or stored content.
Definition qgis.h:1337
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition qgis.h:491
LayoutUnit
Layout measurement units.
Definition qgis.h:3647
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:3033
Q_ENUM(GnssConstellation)
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:2286
GeometryOperationResult
Success or failure of a geometry operation.
Definition qgis.h:1520
BrowserItemState
Browser item states.
Definition qgis.h:625
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:3775
MarkerClipMode
Marker clipping modes.
Definition qgis.h:2379
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:1797
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:2210
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:511
AngleUnit
Units of angles.
Definition qgis.h:3582
CaptureTechnique
Capture technique.
Definition qgis.h:294
BrowserItemCapability
Browser item capabilities.
Definition qgis.h:638
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition qgis.h:3805
LayerTreeInsertionMethod
Script language capabilities.
Definition qgis.h:3150
LineClipMode
Line clipping modes.
Definition qgis.h:2393
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition qgis.h:684
SettingsTreeNodeType
Type of tree node.
Definition qgis.h:412
TilePixelRatio
DpiMode enum.
Definition qgis.h:2476
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:3712
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:348
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition qgis.h:884
GradientColorSource
Gradient color sources.
Definition qgis.h:2308
FileFilterType
Type of file filters.
Definition qgis.h:997
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:838
RasterLayerType
Raster layer types.
Definition qgis.h:3314
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:3353
VectorExportResult
Vector layer export result codes.
Definition qgis.h:708
DistanceUnit
Units of distance.
Definition qgis.h:3496
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:1918
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition qgis.h:569
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:2352
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:943
ScaleMethod
Scale methods.
Definition qgis.h:382
SldExportOption
SLD export options.
Definition qgis.h:438
FilePathType
File path types.
Definition qgis.h:1185
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:2739
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:3820
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:2367
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
Definition qgis.h:453
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:3163
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:3790
VertexType
Types of vertex.
Definition qgis.h:2223
DataProviderFlag
Generic data provider flags.
Definition qgis.h:1680
GdalResampleAlgorithm
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:4014
GeometryValidationEngine
Available engines for validating geometries.
Definition qgis.h:1562
TransactionMode
Transaction mode.
Definition qgis.h:2675
Q_ENUM(ScaleToTileZoomLevelMethod)
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:3398
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:3330
GpsInformationComponent
GPS information component.
Definition qgis.h:1434
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:2561
FileOperationFlag
File operation flags.
Definition qgis.h:1637
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:2962
Q_ENUM(VectorProfileType)
AttributeActionType
Map layer action flags.
Definition qgis.h:3248
AreaUnit
Units of area.
Definition qgis.h:3534
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:2649
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:764
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:2436
TiledSceneBoundingVolumeType
Tiled scene data provider capabilities.
Definition qgis.h:3932
TextLayoutMode
Text layout modes.
Definition qgis.h:2129
LayerFilter
Filter for layers.
Definition qgis.h:133
Q_ENUM(ProviderStyleStorageCapability)
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition qgis.h:1076
CrsType
Data provider flags.
Definition qgis.h:1696
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1168
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:2632
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:3000
RasterFileWriterResult
Raster file export results.
Definition qgis.h:1151
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition qgis.h:1836
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:2574
ActionType
Layer tree filter flags.
Definition qgis.h:3184
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:799
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:2903
MarkerShape
Marker shapes.
Definition qgis.h:2237
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:3413
Capitalization
String capitalization options.
Definition qgis.h:2493
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:1903
LabelQuadrantPosition
Label quadrant positions.
Definition qgis.h:898
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:2524
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition qgis.h:1014
TextOrientation
Text orientations.
Definition qgis.h:2114
PythonMacroMode
Vector layer type flags.
Definition qgis.h:321
TemporalUnit
Temporal units.
Definition qgis.h:3603
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:811
CrsDefinitionFormat
CRS definition formats.
Definition qgis.h:2617
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:1624
TileAvailability
Vector tile data provider capabilities.
Definition qgis.h:3899
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:2757
BrowserItemType
Symbol layer user flags.
Definition qgis.h:606
SettingsType
Types of settings entries.
Definition qgis.h:393
RasterTemporalMode
Raster layer temporal modes.
Definition qgis.h:1890
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1125
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:2069
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:255
RelationshipType
Relationship types.
Definition qgis.h:3019
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:3129
JoinStyle
Join styles for buffers.
Definition qgis.h:1599
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:2888
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:2197
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:3741
DpiMode
DpiMode enum.
Definition qgis.h:2462
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:3726
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition qgis.h:660
AltitudeBinding
Altitude binding.
Definition qgis.h:2701
TiledSceneRendererFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:3992
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:3199
ScriptLanguage
Scripting languages.
Definition qgis.h:3106
TiledSceneProviderCapability
Tiled scene data provider capabilities.
Definition qgis.h:3913
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:981
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:1877
TextRenderFormat
Flags which control how map layer renderers behave.
Definition qgis.h:2055
DataType
Raster data types.
Definition qgis.h:269
Q_ENUM(ProfileSurfaceSymbology)
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:3449
RasterAttributeTableFieldUsage
Flags which control behavior of raster renderers.
Definition qgis.h:1096
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition qgis.h:2810
RelationshipCapability
Relationship capabilities.
Definition qgis.h:3059
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:3368
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:2798
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:3960
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:2773
RenderUnit
Rendering size units.
Definition qgis.h:3627
CoordinateOrder
Order of coordinates.
Definition qgis.h:1771
SelectionFlag
Flags which control feature selection behavior.
Definition qgis.h:1289
EndCapStyle
End cap styles for buffers.
Definition qgis.h:1586
BabelCommandFlag
Babel GPS format capabilities.
Definition qgis.h:1491
FieldDomainType
Types of field domain.
Definition qgis.h:2662
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2033
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2000
RasterPipeInterfaceRole
Sublayer flags.
Definition qgis.h:1045
SymbolPreviewFlag
Symbol flags.
Definition qgis.h:551
AnnotationItemGuiFlag
Annotation item flags.
Definition qgis.h:1811
MapBoxGlStyleSourceType
Flags which control project capabilities.
Definition qgis.h:2981
LayoutUnitType
Types of layout units.
Definition qgis.h:3667
DashPatternLineEndingRule
Dash pattern line ending rules.
Definition qgis.h:2406
FieldMetadataProperty
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1237
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:3973
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition qgis.h:1325
HistoryProviderBackend
History provider backends.
Definition qgis.h:2587
RasterExportType
Raster file export types.
Definition qgis.h:1138
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition qgis.h:1197
TextVerticalAlignment
Text vertical alignment.
Definition qgis.h:2181
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:3045
GradientType
Gradient types.
Definition qgis.h:2322
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:2836
GpsFeatureType
Babel command flags.
Definition qgis.h:1505
VectorLayerTypeFlag
Vector layer type flags.
Definition qgis.h:308
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition qgis.h:1612
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:1865
SqlLayerDefinitionCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:747
VectorEditResult
Flags which control feature selection behavior.
Definition qgis.h:1310
Q_DECLARE_FLAGS(GeometryValidityFlags, GeometryValidityFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsGeometry
Geometry validity flags.
Axis
Cartesian axes.
Definition qgis.h:1784
VolumeUnit
Units of volume.
Definition qgis.h:3559
AttributeEditorType
Attribute editor types.
Definition qgis.h:3756
SymbolLayerUserFlag
Symbol layer flags.
Definition qgis.h:587
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:2863
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:2918
SnappingMode
SnappingMode defines on which layer the snapping is performed.
Definition qgis.h:479
SymbolType
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:368
RasterColorInterpretation
Raster color interpretation.
Definition qgis.h:3284
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:2823
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:2100
RendererUsage
Usage of the renderer.
Definition qgis.h:2548
SettingsTreeNodeOption
Options for named list nodes.
Definition qgis.h:424
BabelFormatCapability
GPS information component.
Definition qgis.h:1472
PostgresRelKind
Postgres database relkind options.
Definition qgis.h:3691
GpsConnectionType
GPS connection types.
Definition qgis.h:1352
Q_ENUM(InputControllerType)
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:2713
MetadataDateType
Date types for metadata.
Definition qgis.h:3266
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:3383
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:2162
SymbolFlag
Flags controlling behavior of symbols.
Definition qgis.h:537
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition qgis.h:2726
HttpMethod
Different methods of HTTP requests.
Definition qgis.h:696
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:182
SymbolCoordinateReference
Symbol coordinate reference modes.
Definition qgis.h:2337
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:3948
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1250
InputControllerType
Input controller types.
Definition qgis.h:3679
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:2511
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1277
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:1721
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:2601
AutoRefreshMode
Map layer properties.
Definition qgis.h:1667
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1213
SettingsOrigin
The setting origin describes where a setting is stored.
Definition qgis.h:3093
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:823
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:3849
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:1949
TextComponent
Text components.
Definition qgis.h:2146
TransformDirection
Flags for raster layer temporal capabilities.
Definition qgis.h:1937
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:2786
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition qgis.h:859
UpsideDownLabelHandling
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:966
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:1366
Q_DECLARE_FLAGS(MapSettingsFlags, MapSettingsFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsMapSettings
Map settings flags.
MapSettingsFlag
Coordinate transformation flags.
Definition qgis.h:1969
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1263
Utility class that encapsulates an action based on vector attributes.
Definition qgsaction.h:37
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:36
Base class for all items in the model.
Definition qgsdataitem.h:46
Contains configuration settings for an editor form.
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:74
The QgsMapSettings class contains configuration for rendering of the map.
Registry for temporary fetched files.
Contains miscellaneous painting utility functions.
Definition qgspainting.h:33
Contains settings for how a map layer will be labeled.
Abstract base class for 2d point cloud renderers.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition qgsproject.h:107
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.
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:4217
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:4235
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:4224
Abstract base class for simple marker symbol layers.
This is a container for configuration of the snapping of the project.
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.
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:43
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:4834
const double DEFAULT_LINE_WIDTH
Definition qgis.h:4872
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:4726
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:4555
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:4271
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:4419
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:4536
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:4594
const long GEO_EPSG_CRS_ID
Magic number for a geographic coord sys in EpsgCrsId ID format.
Definition qgis.h:4858
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:4402
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:4616
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:4887
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:4519
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference)
Definition qgis.h:4349
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:4436
const QList< T > qgsEnumList()
Returns a list all enum entries.
Definition qgis.h:4502
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:4386
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
Definition qgis.h:4332
CONSTLATIN1STRING geoProj4()
PROJ4 string that represents a geographic coord sys.
Definition qgis.h:4822
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:4316
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:4258
const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition qgis.h:4875
QMap< QString, QString > QgsStringMap
Definition qgis.h:4877
#define CONSTLATIN1STRING
Definition qgis.h:4775
CONSTLATIN1STRING geoWkt()
Wkt string that represents a geographic coord sys.
Definition qgis.h:4814
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:4361
const int USER_CRS_START_ID
Magick number that determines whether a projection crsid is a system (srs.db) or user (~/....
Definition qgis.h:4864
const long GEOSRID
Magic number for a geographic coord sys in POSTGIS SRID.
Definition qgis.h:4852
#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:4740
CONSTLATIN1STRING geoEpsgCrsAuthId()
Geographic coord sys from EPSG authority.
Definition qgis.h:4828
const long GEOCRS_ID
Magic number for a geographic coord sys in QGIS srs.db tbl_srs.srs_id.
Definition qgis.h:4855
const double DEFAULT_POINT_SIZE
Magic number that determines the default point size for point symbols.
Definition qgis.h:4871
#define SIP_SKIP
Definition qgis_sip.h:126
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
Definition qgis_sip.h:266
#define SIP_MONKEYPATCH_FLAGS_UNNEST(OUTSIDE_CLASS, FORMERNAME)
Definition qgis_sip.h:267
#define SIP_MONKEYPATCH_SCOPEENUM
Definition qgis_sip.h:265
#define SIP_MONKEYPATCH_COMPAT_NAME(FORMERNAME)
Definition qgis_sip.h:268
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)
int precision
Utility class for identifying a unique vertex within a geometry.
Definition qgsvertexid.h:31