QGIS API Documentation 3.35.0-Master (ffb31addd7f)
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
440 {
441 Invalid SIP_MONKEYPATCH_COMPAT_NAME( InvalidProperty ),
442 Static SIP_MONKEYPATCH_COMPAT_NAME( StaticProperty ),
443 Field SIP_MONKEYPATCH_COMPAT_NAME( FieldBasedProperty ),
444 Expression SIP_MONKEYPATCH_COMPAT_NAME( ExpressionBasedProperty ),
445 };
446 Q_ENUM( PropertyType )
447
448
453 enum class SldExportOption : int
454 {
455 NoOptions = 0,
456 Svg = 1 << 0,
457 Png = 1 << 1,
458 };
459 Q_ENUM( SldExportOption )
460 Q_DECLARE_FLAGS( SldExportOptions, SldExportOption )
461 Q_FLAG( SldExportOptions )
462
463
469 {
470 NoVendorExtension = 0,
471 GeoServerVendorExtension = 1 << 1,
472 DeegreeVendorExtension = 1 << 2,
473 };
474 Q_ENUM( SldExportVendorExtension )
475
476
477
481 enum class SettingsOption : int
482 {
483 SaveFormerValue = 1 << 1, //<! Save the former value of the settings
484 SaveEnumFlagAsInt = 1 << 2,
485 };
486 Q_ENUM( SettingsOption )
487 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
488 Q_FLAG( SettingsOptions )
489
490
495 {
496 ActiveLayer = 1,
497 AllLayers = 2,
498 AdvancedConfiguration = 3,
499 };
500 Q_ENUM( SnappingMode )
501
502
507 {
508 NoSnap SIP_MONKEYPATCH_COMPAT_NAME( NoSnapFlag ) = 0,
509 Vertex SIP_MONKEYPATCH_COMPAT_NAME( VertexFlag ) = 1 << 0,
510 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentFlag ) = 1 << 1,
511 Area SIP_MONKEYPATCH_COMPAT_NAME( AreaFlag ) = 1 << 2,
512 Centroid SIP_MONKEYPATCH_COMPAT_NAME( CentroidFlag ) = 1 << 3,
513 MiddleOfSegment SIP_MONKEYPATCH_COMPAT_NAME( MiddleOfSegmentFlag ) = 1 << 4,
514 LineEndpoint SIP_MONKEYPATCH_COMPAT_NAME( LineEndpointFlag ) = 1 << 5,
515 };
516 Q_ENUM( SnappingType )
518 Q_DECLARE_FLAGS( SnappingTypes, SnappingType ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsSnappingConfig, SnappingTypeFlag )
519 Q_FLAG( SnappingTypes )
520
527 {
528 DynamicRotation = 2,
529 };
530 Q_ENUM( SymbolRenderHint )
532 Q_DECLARE_FLAGS( SymbolRenderHints, SymbolRenderHint ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsSymbol, RenderHints )
533 Q_FLAG( SymbolRenderHints )
534
540 enum class SymbolRotationMode : int
541 {
542 RespectMapRotation,
543 IgnoreMapRotation,
544 };
545 Q_ENUM( SymbolRotationMode )
546
547
552 enum class SymbolFlag : int
553 {
554 RendererShouldUseSymbolLevels = 1 << 0,
555 };
556 Q_ENUM( SymbolFlag )
558 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
559 Q_FLAG( SymbolFlags )
560
561
567 {
568 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
569 };
570 Q_ENUM( SymbolPreviewFlag )
572 Q_DECLARE_FLAGS( SymbolPreviewFlags, SymbolPreviewFlag ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsSymbol, SymbolPreviewFlags )
573 Q_FLAG( SymbolPreviewFlags )
574
584 enum class SymbolLayerFlag : int
585 {
586 DisableFeatureClipping = 1 << 0,
587 };
588 Q_ENUM( SymbolLayerFlag )
590 Q_DECLARE_FLAGS( SymbolLayerFlags, SymbolLayerFlag )
591 Q_FLAG( SymbolLayerFlags )
592
593
602 enum class SymbolLayerUserFlag : int
603 {
604 DisableSelectionRecoloring = 1 << 0,
605 };
606 Q_ENUM( SymbolLayerUserFlag )
607
608
613 Q_DECLARE_FLAGS( SymbolLayerUserFlags, SymbolLayerUserFlag )
614 Q_FLAG( SymbolLayerUserFlags )
615
616
622 {
623 Collection,
624 Directory,
625 Layer,
626 Error,
627 Favorites,
628 Project,
629 Custom,
630 Fields,
631 Field,
632 };
633 Q_ENUM( BrowserItemType )
634
635
641 {
642 NotPopulated,
643 Populating,
644 Populated,
645 };
646 Q_ENUM( BrowserItemState )
647
648
654 {
655 NoCapabilities = 0,
656 SetCrs = 1 << 0,
657 Fertile = 1 << 1,
658 Fast = 1 << 2,
659 Collapse = 1 << 3,
660 Rename = 1 << 4,
661 Delete = 1 << 5,
662 ItemRepresentsFile = 1 << 6,
663 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
664 };
665 Q_ENUM( BrowserItemCapability )
667 Q_DECLARE_FLAGS( BrowserItemCapabilities, BrowserItemCapability ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsDataItem, Capabilities )
668 Q_FLAG( BrowserItemCapabilities )
669
676 {
677 NoType,
678 Vector,
679 Raster,
680 Point,
681 Line,
682 Polygon,
683 TableLayer,
684 Database,
685 Table,
686 Plugin,
687 Mesh,
688 VectorTile,
689 PointCloud,
690 TiledScene,
691 };
692 Q_ENUM( BrowserLayerType )
693
694
700 {
701 Default,
702 NeverMonitor,
703 AlwaysMonitor,
704 };
705 Q_ENUM( BrowserDirectoryMonitoring )
706
707
711 enum class HttpMethod : int
712 {
713 Get = 0,
714 Post = 1
715 };
716 Q_ENUM( HttpMethod )
717
718
724 {
725 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
726 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
727 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
728 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
729 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
730 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
731 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
732 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
733 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
734 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
735 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
736 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
737 };
738 Q_ENUM( VectorExportResult )
739
740
745 {
746 FieldAliases = 1 << 0,
747 FieldComments = 1 << 2,
748 };
749 Q_ENUM( VectorFileWriterCapability )
750
751
755 Q_DECLARE_FLAGS( VectorFileWriterCapabilities, VectorFileWriterCapability )
756 Q_FLAG( VectorFileWriterCapabilities )
757
758
763 {
764 SubsetStringFilter = 1 << 1,
765 GeometryColumn = 1 << 2,
766 PrimaryKeys = 1 << 3,
767 UnstableFeatureIds = 1 << 4
768 };
769 Q_ENUM( SqlLayerDefinitionCapability )
771 Q_DECLARE_FLAGS( SqlLayerDefinitionCapabilities, SqlLayerDefinitionCapability )
772 Q_FLAG( SqlLayerDefinitionCapabilities )
773
774
779 enum class SqlKeywordCategory : int
780 {
781 Keyword,
782 Constant,
783 Function,
784 Geospatial,
785 Operator,
786 Math,
787 Aggregate,
788 String,
789 Identifier
790 };
791 Q_ENUM( SqlKeywordCategory )
792
793
797 enum class DriveType : int
798 {
799 Unknown,
800 Invalid,
801 Removable,
802 Fixed,
803 Remote,
804 CdRom,
805 RamDisk,
806 Cloud,
807 };
808 Q_ENUM( DriveType )
809
810
815 {
816 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
817 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
818 };
819 Q_ENUM( ActionStart )
820
821
826 enum class UnplacedLabelVisibility : int
827 {
828 FollowEngineSetting,
829 NeverShow,
830 };
831 Q_ENUM( UnplacedLabelVisibility )
832
833
838 enum class LabelOverlapHandling : int
839 {
840 PreventOverlap,
841 AllowOverlapIfRequired,
842 AllowOverlapAtNoCost,
843 };
844 Q_ENUM( LabelOverlapHandling )
845
846
854 {
855 AroundPoint,
856 OverPoint,
857 Line,
858 Curved,
859 Horizontal,
860 Free,
861 OrderedPositionsAroundPoint,
862 PerimeterCurved,
863 OutsidePolygons,
864 };
865 Q_ENUM( LabelPlacement )
866
867
875 {
876 TopLeft,
877 TopSlightlyLeft,
878 TopMiddle,
879 TopSlightlyRight,
880 TopRight,
881 MiddleLeft,
882 MiddleRight,
883 BottomLeft,
884 BottomSlightlyLeft,
885 BottomMiddle,
886 BottomSlightlyRight,
887 BottomRight,
888 };
889 Q_ENUM( LabelPredefinedPointPosition )
890
891
900 {
901 FromPoint,
902 FromSymbolBounds,
903 };
904 Q_ENUM( LabelOffsetType )
905
906
914 {
915 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
916 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
917 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
918 Left SIP_MONKEYPATCH_COMPAT_NAME( QuadrantLeft ),
919 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
920 Right SIP_MONKEYPATCH_COMPAT_NAME( QuadrantRight ),
921 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
922 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
923 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
924 };
925 Q_ENUM( LabelQuadrantPosition )
926
927
934 {
935 OnLine = 1,
936 AboveLine = 2,
937 BelowLine = 4,
938 MapOrientation = 8,
939 };
940 Q_ENUM( LabelLinePlacementFlag )
941
942
949 Q_DECLARE_FLAGS( LabelLinePlacementFlags, LabelLinePlacementFlag ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsLabeling, LinePlacementFlags )
950 Q_FLAG( LabelLinePlacementFlags )
951
959 {
960 AllowPlacementOutsideOfPolygon = 1 << 0,
961 AllowPlacementInsideOfPolygon = 1 << 1,
962 };
963 Q_ENUM( LabelPolygonPlacementFlag )
964
965
971 Q_DECLARE_FLAGS( LabelPolygonPlacementFlags, LabelPolygonPlacementFlag )
972 Q_FLAG( LabelPolygonPlacementFlags )
973
974
982 {
983 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
984 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
985 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
986 };
987 Q_ENUM( UpsideDownLabelHandling )
988
989
997 {
998 Left SIP_MONKEYPATCH_COMPAT_NAME( MultiLeft ) = 0,
999 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
1000 Right SIP_MONKEYPATCH_COMPAT_NAME( MultiRight ),
1001 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
1002 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
1003 };
1004 Q_ENUM( LabelMultiLineAlignment )
1005
1006
1013 {
1014 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
1015 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1016 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1017 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1018 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1019 VectorTile,
1020 TiledScene,
1021 };
1022 Q_ENUM( FileFilterType )
1023
1024
1029 enum class SublayerQueryFlag : int
1030 {
1031 FastScan = 1 << 0,
1032 ResolveGeometryType = 1 << 1,
1033 CountFeatures = 1 << 2,
1034 IncludeSystemTables = 1 << 3,
1035 };
1037 Q_DECLARE_FLAGS( SublayerQueryFlags, SublayerQueryFlag )
1038 Q_ENUM( SublayerQueryFlag )
1039 Q_FLAG( SublayerQueryFlags )
1040
1041
1046 enum class SublayerFlag : int
1047 {
1048 SystemTable = 1 << 0,
1049 };
1051 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1052 Q_ENUM( SublayerFlag )
1053 Q_FLAG( SublayerFlags )
1054
1055
1061 {
1062 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1063 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1064 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1065 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1066 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1067 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1068 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1069 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1070 };
1071 Q_ENUM( RasterPipeInterfaceRole )
1072
1073
1078 {
1080 ResampleFilter,
1082 Provider
1083 };
1084 Q_ENUM( RasterResamplingStage )
1085
1086
1091 enum class RasterRendererFlag : int
1092 {
1093 InternalLayerOpacityHandling = 1 << 0,
1094 };
1095
1101 Q_DECLARE_FLAGS( RasterRendererFlags, RasterRendererFlag )
1102
1103 Q_ENUM( RasterRendererFlag )
1104 Q_FLAG( RasterRendererFlags )
1105
1106
1112 {
1113 Generic = 0,
1114 PixelCount = 1,
1115 Name = 2,
1116 Min = 3,
1117 Max = 4,
1118 MinMax = 5,
1119 Red = 6,
1120 Green = 7,
1121 Blue = 8,
1122 Alpha = 9,
1123 RedMin = 10,
1124 GreenMin = 11,
1125 BlueMin = 12,
1126 AlphaMin = 13,
1127 RedMax = 14,
1128 GreenMax = 15,
1129 BlueMax = 16,
1130 AlphaMax = 17,
1131 MaxCount
1132 };
1133 Q_ENUM( RasterAttributeTableFieldUsage )
1134
1135
1141 {
1142 Thematic = 0,
1143 Athematic = 1
1144 };
1145 Q_ENUM( RasterAttributeTableType )
1146
1147
1154 {
1155 Raw = 0,
1156 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1157 };
1158 Q_ENUM( RasterExportType )
1159
1160
1167 {
1168 Success SIP_MONKEYPATCH_COMPAT_NAME( NoError ) = 0,
1169 SourceProviderError = 1,
1170 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1171 CreateDatasourceError = 3,
1172 WriteError = 4,
1173 NoDataConflict = 5,
1174 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1175 };
1176 Q_ENUM( RasterFileWriterResult )
1177
1178
1183 enum class MeshEditingErrorType : int
1184 {
1185 NoError,
1186 InvalidFace,
1187 TooManyVerticesInFace,
1188 FlatFace,
1189 UniqueSharedVertex,
1190 InvalidVertex,
1191 ManifoldFace,
1192 };
1193 Q_ENUM( MeshEditingErrorType )
1194
1195
1200 enum class FilePathType : int
1201 {
1202 Absolute,
1203 Relative,
1204 };
1205 Q_ENUM( FilePathType )
1206
1207
1212 enum class SublayerPromptMode : int
1213 {
1214 AlwaysAsk,
1215 AskExcludingRasterBands,
1216 NeverAskSkip,
1217 NeverAskLoadAll,
1218 };
1219 Q_ENUM( SublayerPromptMode )
1220
1221
1228 enum class FieldConfigurationFlag : int
1229 {
1230 NoFlag = 0,
1231 NotSearchable = 1 << 1,
1232 HideFromWms = 1 << 2,
1233 HideFromWfs = 1 << 3,
1234 };
1235 Q_ENUM( FieldConfigurationFlag )
1236
1237
1244 Q_DECLARE_FLAGS( FieldConfigurationFlags, FieldConfigurationFlag )
1245 Q_FLAG( FieldConfigurationFlags )
1246
1247
1252 enum class FieldMetadataProperty : int
1253 {
1254 GeometryCrs = 0x1000,
1255 GeometryWkbType = 0x1001,
1256 CustomProperty = 0x100000,
1257 };
1258 Q_ENUM( FieldMetadataProperty )
1259
1260
1265 enum class SelectionRenderingMode : int
1266 {
1267 Default,
1268 CustomColor,
1269 CustomSymbol,
1270 };
1271 Q_ENUM( SelectionRenderingMode )
1272
1273
1279 {
1280 SetSelection,
1281 AddToSelection,
1282 IntersectSelection,
1283 RemoveFromSelection,
1284 };
1285 Q_ENUM( SelectBehavior )
1286
1287
1293 {
1294 Intersect,
1295 Within,
1296 };
1297 Q_ENUM( SelectGeometryRelationship )
1298
1299
1304 enum class SelectionFlag : int
1305 {
1306 SingleFeatureSelection = 1 << 0,
1307 ToggleSelection = 1 << 1,
1308 };
1309
1315 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1316
1317 Q_ENUM( SelectionFlag )
1318 Q_FLAG( SelectionFlags )
1319
1320
1326 {
1327 Success = 0,
1328 EmptyGeometry = 1,
1329 EditFailed = 2,
1330 FetchFeatureFailed = 3,
1331 InvalidLayer = 4,
1332 };
1333 Q_ENUM( VectorEditResult )
1334
1335
1341 {
1342 SemiTransparentCircle,
1343 Cross,
1344 NoMarker,
1345 };
1346 Q_ENUM( VertexMarkerType )
1347
1348
1352 enum class ContentStatus : int
1353 {
1354 NotStarted,
1355 Running,
1356 Finished,
1357 Failed,
1358 Canceled,
1359 };
1360 Q_ENUM( ContentStatus )
1361
1362
1367 enum class GpsConnectionType : int
1368 {
1369 Automatic,
1370 Internal,
1371 Serial,
1372 Gpsd,
1373 };
1374 Q_ENUM( GpsConnectionType )
1375
1376
1381 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
1382 {
1383 Disconnected,
1384 Connecting,
1385 Connected,
1386 };
1387 Q_ENUM( DeviceConnectionStatus )
1388
1389
1397 {
1398 NoData,
1399 NoFix,
1400 Fix2D,
1401 Fix3D
1402 };
1404
1405
1412 {
1413 Unknown,
1414 Gps,
1415 Glonass,
1416 Galileo,
1417 BeiDou,
1418 Qzss,
1419 Navic,
1420 Sbas,
1421 };
1423
1430 {
1431 Unknown = -1,
1432 Invalid,
1433 GPS,
1434 DGPS,
1435 PPS,
1436 RTK,
1437 FloatRTK,
1438 Estimated,
1439 Manual,
1440 Simulation,
1441 };
1442 Q_ENUM( GpsQualityIndicator )
1443
1444
1450 {
1451 Location = 1 << 0,
1452 Altitude = 1 << 1,
1453 GroundSpeed = 1 << 2,
1454 Bearing = 1 << 3,
1455 TotalTrackLength = 1 << 4,
1456 TrackDistanceFromStart = 1 << 5,
1457 Pdop = 1 << 6,
1458 Hdop = 1 << 7,
1459 Vdop = 1 << 8,
1460 HorizontalAccuracy = 1 << 9,
1461 VerticalAccuracy = 1 << 10,
1462 HvAccuracy = 1 << 11,
1463 SatellitesUsed = 1 << 12,
1464 Timestamp = 1 << 13,
1465 TrackStartTime = 1 << 14,
1466 TrackEndTime = 1 << 15,
1467 TrackDistanceSinceLastPoint = 1 << 16,
1468 TrackTimeSinceLastPoint = 1 << 17,
1469 GeoidalSeparation = 1 << 18,
1470 EllipsoidAltitude = 1 << 19,
1471 };
1472
1478 Q_DECLARE_FLAGS( GpsInformationComponents, GpsInformationComponent )
1479 Q_ENUM( GpsInformationComponent )
1480 Q_FLAG( GpsInformationComponents )
1481
1482
1487 enum class BabelFormatCapability : int
1488 {
1489 Import = 1 << 0,
1490 Export = 1 << 1,
1491 Waypoints = 1 << 2,
1492 Routes = 1 << 3,
1493 Tracks = 1 << 4,
1494 };
1496 Q_DECLARE_FLAGS( BabelFormatCapabilities, BabelFormatCapability )
1497 Q_ENUM( BabelFormatCapability )
1498 Q_FLAG( BabelFormatCapabilities )
1499
1500
1506 enum class BabelCommandFlag : int
1507 {
1508 QuoteFilePaths = 1 << 0,
1509 };
1511 Q_DECLARE_FLAGS( BabelCommandFlags, BabelCommandFlag )
1512 Q_ENUM( BabelCommandFlag )
1513 Q_FLAG( BabelCommandFlags )
1514
1515
1520 enum class GpsFeatureType : int
1521 {
1522 Waypoint,
1523 Route,
1524 Track,
1525 };
1526 Q_ENUM( GpsFeatureType )
1527
1528
1536 {
1537 Success = 0,
1538 NothingHappened = 1000,
1539 InvalidBaseGeometry,
1540 InvalidInputGeometryType,
1541 SelectionIsEmpty,
1542 SelectionIsGreaterThanOne,
1543 GeometryEngineError,
1544 LayerNotEditable,
1545 // Add part issues
1546 AddPartSelectedGeometryNotFound,
1547 AddPartNotMultiGeometry,
1548 // Add ring issues
1549 AddRingNotClosed,
1550 AddRingNotValid,
1551 AddRingCrossesExistingRings,
1552 AddRingNotInExistingFeature,
1553 // Split features
1554 SplitCannotSplitPoint,
1555 GeometryTypeHasChanged,
1556 };
1557 Q_ENUM( GeometryOperationResult )
1558
1559
1565 {
1566 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles ) = 1 << 0,
1567 };
1570 Q_ENUM( GeometryValidityFlag )
1571 Q_FLAG( GeometryValidityFlags )
1572
1573
1578 {
1579 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
1580 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
1581 };
1582 Q_ENUM( GeometryValidationEngine )
1583
1584
1594 Q_ENUM( BufferSide )
1595
1596
1602 {
1603 Round SIP_MONKEYPATCH_COMPAT_NAME( CapRound ) = 1,
1604 Flat SIP_MONKEYPATCH_COMPAT_NAME( CapFlat ),
1605 Square SIP_MONKEYPATCH_COMPAT_NAME( CapSquare ),
1606 };
1607 Q_ENUM( EndCapStyle )
1608
1609
1615 {
1616 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
1617 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
1618 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
1619 };
1620 Q_ENUM( JoinStyle )
1621
1622
1627 enum class CoverageValidityResult : int
1628 {
1629 Invalid = 0,
1630 Valid = 1,
1631 Error = 2,
1632 };
1633 Q_ENUM( CoverageValidityResult )
1634
1635
1640 enum class MakeValidMethod : int
1641 {
1642 Linework = 0,
1643 Structure = 1,
1644 };
1645 Q_ENUM( MakeValidMethod )
1646
1647
1652 enum class SpatialFilterType : int
1653 {
1654 NoFilter,
1655 BoundingBox,
1656 DistanceWithin,
1657 };
1658 Q_ENUM( SpatialFilterType )
1659
1660
1665 enum class FileOperationFlag : int
1666 {
1667 IncludeMetadataFile = 1 << 0,
1668 IncludeStyleFile = 1 << 1,
1669 };
1671 Q_DECLARE_FLAGS( FileOperationFlags, FileOperationFlag )
1672 Q_ENUM( FileOperationFlag )
1673 Q_FLAG( FileOperationFlags )
1674
1675
1680 enum class MapLayerProperty : int
1681 {
1682 UsersCannotToggleEditing = 1 << 0,
1683 IsBasemapLayer = 1 << 1,
1684 };
1686 Q_DECLARE_FLAGS( MapLayerProperties, MapLayerProperty )
1687 Q_ENUM( MapLayerProperty )
1688 Q_FLAG( MapLayerProperties )
1689
1690
1695 enum class AutoRefreshMode : int
1696 {
1697 Disabled = 0,
1698 ReloadData = 1,
1699 RedrawOnly = 2,
1700 };
1701 Q_ENUM( AutoRefreshMode )
1702
1703
1708 enum class DataProviderFlag : int
1709 {
1710 IsBasemapSource = 1 << 1,
1711 };
1713 Q_DECLARE_FLAGS( DataProviderFlags, DataProviderFlag )
1714 Q_ENUM( DataProviderFlag )
1715 Q_FLAG( DataProviderFlags )
1716
1717
1724 enum class CrsType : int
1725 {
1726 Unknown,
1727 Geodetic,
1728 Geocentric,
1729 Geographic2d,
1730 Geographic3d,
1731 Vertical,
1732 Projected,
1733 Compound,
1734 Temporal,
1735 Engineering,
1736 Bound,
1737 Other,
1738 DerivedProjected,
1739 };
1740 Q_ENUM( CrsType )
1741
1742
1749 enum class CrsAxisDirection : int
1750 {
1751 North,
1752 NorthNorthEast,
1753 NorthEast,
1754 EastNorthEast,
1755 East,
1756 EastSouthEast,
1757 SouthEast,
1758 SouthSouthEast,
1759 South,
1760 SouthSouthWest,
1761 SouthWest,
1762 WestSouthWest,
1763 West,
1764 WestNorthWest,
1765 NorthWest,
1766 NorthNorthWest,
1767 GeocentricX,
1768 GeocentricY,
1769 GeocentricZ,
1770 Up,
1771 Down,
1772 Forward,
1773 Aft,
1774 Port,
1775 Starboard,
1776 Clockwise,
1777 CounterClockwise,
1778 ColumnPositive,
1779 ColumnNegative,
1780 RowPositive,
1781 RowNegative,
1782 DisplayRight,
1783 DisplayLeft,
1784 DisplayUp,
1785 DisplayDown,
1786 Future,
1787 Past,
1788 Towards,
1789 AwayFrom,
1790 Unspecified,
1791 };
1792 Q_ENUM( CrsAxisDirection )
1793
1794
1799 enum class CoordinateOrder : int
1800 {
1801 Default,
1802 XY,
1803 YX,
1804 };
1805 Q_ENUM( CoordinateOrder )
1806
1807
1812 enum class Axis : int
1813 {
1814 X,
1815 Y,
1816 Z
1817 };
1818 Q_ENUM( Axis )
1819
1820
1825 enum class AnnotationItemFlag : int
1826 {
1827 ScaleDependentBoundingBox = 1 << 0,
1828 };
1830 Q_DECLARE_FLAGS( AnnotationItemFlags, AnnotationItemFlag )
1831 Q_ENUM( AnnotationItemFlag )
1832 Q_FLAG( AnnotationItemFlags )
1833
1834
1839 enum class AnnotationItemGuiFlag : int
1840 {
1841 FlagNoCreationTools = 1 << 0,
1842 };
1844 Q_DECLARE_FLAGS( AnnotationItemGuiFlags, AnnotationItemGuiFlag )
1845 Q_ENUM( AnnotationItemGuiFlag )
1846 Q_FLAG( AnnotationItemGuiFlags )
1847
1848
1853 enum class AnnotationItemNodeType : int
1854 {
1855 VertexHandle,
1856 };
1857 Q_ENUM( AnnotationItemNodeType )
1858
1859
1865 {
1866 Success,
1867 Invalid,
1868 ItemCleared,
1869 };
1870 Q_ENUM( AnnotationItemEditOperationResult )
1871
1872
1878 {
1879 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
1880 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
1881 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
1882 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
1883 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
1884 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ),
1885 };
1886 Q_ENUM( VectorTemporalMode )
1887
1888
1894 {
1895 IncludeBeginExcludeEnd = 0,
1896 IncludeBeginIncludeEnd,
1897 };
1898 Q_ENUM( VectorTemporalLimitMode )
1899
1900
1906 {
1907 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
1908 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
1909 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
1910 };
1911 Q_ENUM( VectorDataProviderTemporalMode )
1912
1913
1919 {
1920 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
1921 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
1922 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly ) = 2,
1923 };
1924 Q_ENUM( RasterTemporalMode )
1925
1926
1932 {
1933 MatchUsingWholeRange,
1934 MatchExactUsingStartOfRange,
1935 MatchExactUsingEndOfRange,
1936 FindClosestMatchToStartOfRange,
1937 FindClosestMatchToEndOfRange
1938 };
1939 Q_ENUM( TemporalIntervalMatchMethod )
1940
1941
1947 {
1948 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
1949 };
1950 Q_ENUM( RasterTemporalCapabilityFlag )
1951
1952
1957 Q_DECLARE_FLAGS( RasterTemporalCapabilityFlags, RasterTemporalCapabilityFlag )
1958 Q_FLAG( RasterTemporalCapabilityFlags )
1959
1960
1966 {
1967 Forward SIP_MONKEYPATCH_COMPAT_NAME( ForwardTransform ),
1968 Reverse SIP_MONKEYPATCH_COMPAT_NAME( ReverseTransform )
1969 };
1970 Q_ENUM( TransformDirection )
1971
1972
1978 {
1979 BallparkTransformsAreAppropriate = 1 << 0,
1980 IgnoreImpossibleTransformations = 1 << 1,
1981 };
1982 Q_ENUM( CoordinateTransformationFlag )
1983
1984
1989 Q_DECLARE_FLAGS( CoordinateTransformationFlags, CoordinateTransformationFlag )
1990 Q_FLAG( CoordinateTransformationFlags )
1991
1992
1998 {
1999 Antialiasing = 0x01,
2000 DrawEditingInfo = 0x02,
2001 ForceVectorOutput = 0x04,
2002 UseAdvancedEffects = 0x08,
2003 DrawLabeling = 0x10,
2004 UseRenderingOptimization = 0x20,
2005 DrawSelection = 0x40,
2006 DrawSymbolBounds = 0x80,
2007 RenderMapTile = 0x100,
2008 RenderPartialOutput = 0x200,
2009 RenderPreviewJob = 0x400,
2010 RenderBlocking = 0x800,
2011 LosslessImageRendering = 0x1000,
2012 Render3DMap = 0x2000,
2013 HighQualityImageTransforms = 0x4000,
2014 SkipSymbolRendering = 0x8000,
2015 ForceRasterMasks = 0x10000,
2016 RecordProfile = 0x20000,
2017 };
2020 Q_ENUM( MapSettingsFlag )
2021 Q_FLAG( MapSettingsFlags )
2022
2023
2029 {
2030 DrawEditingInfo = 0x01,
2031 ForceVectorOutput = 0x02,
2032 UseAdvancedEffects = 0x04,
2033 UseRenderingOptimization = 0x08,
2034 DrawSelection = 0x10,
2035 DrawSymbolBounds = 0x20,
2036 RenderMapTile = 0x40,
2037 Antialiasing = 0x80,
2038 RenderPartialOutput = 0x100,
2039 RenderPreviewJob = 0x200,
2040 RenderBlocking = 0x400,
2041 RenderSymbolPreview = 0x800,
2042 LosslessImageRendering = 0x1000,
2043 ApplyScalingWorkaroundForTextRendering = 0x2000,
2044 Render3DMap = 0x4000,
2045 ApplyClipAfterReprojection = 0x8000,
2046 RenderingSubSymbol = 0x10000,
2047 HighQualityImageTransforms = 0x20000,
2048 SkipSymbolRendering = 0x40000,
2049 RecordProfile = 0x80000,
2050 };
2053 Q_ENUM( RenderContextFlag )
2054 Q_FLAG( RenderContextFlags )
2055
2056
2061 enum class MapLayerRendererFlag : int
2062 {
2063 RenderPartialOutputs = 1 << 0,
2064 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2065 };
2066 Q_ENUM( MapLayerRendererFlag )
2067
2068
2073 Q_DECLARE_FLAGS( MapLayerRendererFlags, MapLayerRendererFlag )
2074 Q_FLAG( MapLayerRendererFlags )
2075
2076 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
2077 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
2078
2079
2084 {
2085 AlwaysOutlines SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysOutlines ),
2086 AlwaysText SIP_MONKEYPATCH_COMPAT_NAME( TextFormatAlwaysText ),
2087 };
2088 Q_ENUM( TextRenderFormat )
2089
2090
2098 {
2099 UseAllLabels = 1 << 1,
2100 UsePartialCandidates = 1 << 2,
2101 // TODO QGIS 4.0: remove
2102 RenderOutlineLabels = 1 << 3,
2103 DrawLabelRectOnly = 1 << 4,
2104 DrawCandidates = 1 << 5,
2105 DrawUnplacedLabels = 1 << 6,
2106 CollectUnplacedLabels = 1 << 7,
2107 DrawLabelMetrics = 1 << 8,
2108 };
2109 Q_ENUM( LabelingFlag )
2110
2111
2118 Q_DECLARE_FLAGS( LabelingFlags, LabelingFlag ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsLabelingEngineSettings, Flags )
2119 Q_FLAG( LabelingFlags )
2120
2129 {
2130 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
2131 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
2132 };
2133 Q_ENUM( LabelPlacementEngineVersion )
2134
2135
2143 {
2144 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
2145 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
2146 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
2147 };
2148 Q_ENUM( TextOrientation )
2149
2150
2158 {
2159 Rectangle SIP_MONKEYPATCH_COMPAT_NAME( Rect ),
2160 Point,
2161 Labeling SIP_MONKEYPATCH_COMPAT_NAME( Label ),
2162 RectangleCapHeightBased,
2163 RectangleAscentBased,
2164 };
2165 Q_ENUM( TextLayoutMode )
2166
2167
2175 {
2176 Text,
2177 Buffer,
2178 Background,
2179 Shadow,
2180 };
2181 Q_ENUM( TextComponent )
2182
2183
2191 {
2192 Left SIP_MONKEYPATCH_COMPAT_NAME( AlignLeft ),
2193 Center SIP_MONKEYPATCH_COMPAT_NAME( AlignCenter ),
2194 Right SIP_MONKEYPATCH_COMPAT_NAME( AlignRight ),
2195 Justify SIP_MONKEYPATCH_COMPAT_NAME( AlignJustify ),
2196 };
2197 Q_ENUM( TextHorizontalAlignment )
2198
2199
2210 {
2211 Top SIP_MONKEYPATCH_COMPAT_NAME( AlignTop ),
2212 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
2213 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
2214 };
2215 Q_ENUM( TextVerticalAlignment )
2216
2217
2226 {
2227 Normal,
2228 SuperScript,
2229 SubScript,
2230 };
2231 Q_ENUM( TextCharacterVerticalAlignment )
2232
2233
2239 {
2240 Generic,
2241 ShadowOffset,
2242 BlurSize,
2243 GlowSpread,
2244 };
2245 Q_ENUM( RenderSubcomponentProperty )
2246
2247
2252 {
2253 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
2254 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
2255 };
2256 Q_ENUM( VertexType )
2257
2258
2266 {
2267 Square,
2268 Diamond,
2269 Pentagon,
2270 Hexagon,
2271 Triangle,
2272 EquilateralTriangle,
2273 Star,
2274 Arrow,
2275 Circle,
2276 Cross,
2277 CrossFill,
2278 Cross2,
2279 Line,
2280 ArrowHead,
2281 ArrowHeadFilled,
2282 SemiCircle,
2283 ThirdCircle,
2284 QuarterCircle,
2285 QuarterSquare,
2286 HalfSquare,
2287 DiagonalHalfSquare,
2288 RightHalfTriangle,
2289 LeftHalfTriangle,
2290 Octagon,
2291 SquareWithCorners,
2292 AsteriskFill,
2293 HalfArc,
2294 ThirdArc,
2295 QuarterArc,
2296 ParallelogramRight,
2297 ParallelogramLeft,
2298 Trapezoid,
2299 Shield,
2300 DiamondStar,
2301 Heart,
2302 Decagon,
2303 RoundedSquare,
2304 };
2305 Q_ENUM( MarkerShape )
2306
2307
2315 {
2316 Interval = 1 << 0,
2317 Vertex = 1 << 1,
2318 LastVertex = 1 << 2,
2319 FirstVertex = 1 << 3,
2320 CentralPoint = 1 << 4,
2321 CurvePoint = 1 << 5,
2322 SegmentCenter = 1 << 6,
2323 InnerVertices = 1 << 7,
2324 };
2325 Q_ENUM( MarkerLinePlacement )
2326 Q_DECLARE_FLAGS( MarkerLinePlacements, MarkerLinePlacement )
2327 Q_FLAG( MarkerLinePlacements )
2328
2329
2337 {
2338 SimpleTwoColor,
2339 ColorRamp,
2340 };
2341 Q_ENUM( GradientColorSource )
2342
2343
2351 {
2352 Linear,
2353 Radial,
2354 Conical,
2355 };
2356 Q_ENUM( GradientType )
2357
2358
2366 {
2367 Feature,
2368 Viewport,
2369 };
2370 Q_ENUM( SymbolCoordinateReference )
2371
2372
2381 {
2382 Pad,
2383 Reflect,
2384 Repeat,
2385 };
2386 Q_ENUM( GradientSpread )
2387
2388
2396 {
2397 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
2398 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
2399 };
2400 Q_ENUM( PointCountMethod )
2401
2402
2407 enum class MarkerClipMode : int
2408 {
2409 NoClipping,
2410 Shape,
2411 CentroidWithin,
2412 CompletelyWithin,
2413 };
2414 Q_ENUM( MarkerClipMode )
2415
2416
2421 enum class LineClipMode : int
2422 {
2423 ClipPainterOnly,
2424 ClipToIntersection,
2425 NoClipping,
2426 };
2427 Q_ENUM( LineClipMode )
2428
2429
2435 {
2436 NoRule,
2437 FullDash,
2438 HalfDash,
2439 FullGap,
2440 HalfGap,
2441 };
2442 Q_ENUM( DashPatternLineEndingRule )
2443
2444
2450 {
2451 ScaleBothDashAndGap,
2452 ScaleDashOnly,
2453 ScaleGapOnly,
2454 };
2455 Q_ENUM( DashPatternSizeAdjustment )
2456
2457
2465 {
2466 Color SIP_MONKEYPATCH_COMPAT_NAME( GraduatedColor ),
2467 Size SIP_MONKEYPATCH_COMPAT_NAME( GraduatedSize ),
2468 };
2469 Q_ENUM( GraduatedMethod )
2470
2471
2477 {
2478 NoLabels,
2479 EveryLabel,
2480 FirstLabel,
2481 LastLabel,
2482 FirstAndLastLabels,
2483 };
2484 Q_ENUM( PlotAxisSuffixPlacement )
2485
2486
2490 enum class DpiMode
2491 {
2492 All = 7,
2493 Off = 0,
2494 QGIS = 1,
2495 UMN = 2,
2496 GeoServer = 4,
2497 };
2498 Q_ENUM( DpiMode )
2499
2500
2505 {
2506 Undefined = 0,
2507 StandardDpi = 1,
2508 HighDpi = 2,
2509 };
2510 Q_ENUM( TilePixelRatio )
2511
2512 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
2513
2514
2522 {
2523 MixedCase = 0,
2524 AllUppercase = 1,
2525 AllLowercase = 2,
2526 ForceFirstLetterToCapital = 4,
2527 SmallCaps = 5,
2528 TitleCase = 1004,
2529 UpperCamelCase = 1005,
2530 AllSmallCaps = 1006,
2531 };
2532 Q_ENUM( Capitalization )
2533
2534
2539 enum class TextRendererFlag : int
2540 {
2541 WrapLines = 1 << 0,
2542 };
2543 Q_ENUM( TextRendererFlag )
2544 Q_DECLARE_FLAGS( TextRendererFlags, TextRendererFlag )
2545 Q_FLAG( TextRendererFlags )
2546
2547
2553 {
2554 MapBox,
2555 Esri,
2556 };
2558
2565 {
2566 Clockwise,
2567 CounterClockwise,
2568 NoOrientation,
2569 };
2570 Q_ENUM( AngularDirection )
2571
2572
2577 enum class RendererUsage : int
2578 {
2579 View,
2580 Export,
2581 Unknown,
2582 };
2583 Q_ENUM( RendererUsage )
2584
2585
2590 enum class ViewSyncModeFlag : int
2591 {
2592 Sync3DTo2D = 1 << 0,
2593 Sync2DTo3D = 1 << 1,
2594 };
2595 Q_ENUM( ViewSyncModeFlag )
2596 Q_DECLARE_FLAGS( ViewSyncModeFlags, ViewSyncModeFlag )
2597
2598
2604 {
2605 Always,
2606 WhenOutsideVisibleExtent,
2607 Never,
2608 };
2609 Q_ENUM( MapRecenteringMode )
2610
2611
2616 enum class HistoryProviderBackend : int
2617 {
2618 LocalProfile = 1 << 0,
2619// Project = 1 << 1, //!< QGIS Project (not yet implemented)
2620 };
2621 Q_ENUM( HistoryProviderBackend )
2622 Q_DECLARE_FLAGS( HistoryProviderBackends, HistoryProviderBackend )
2623 Q_FLAG( HistoryProviderBackends )
2624
2625
2631 {
2632 ModelParameter,
2633 ChildOutput,
2634 StaticValue,
2635 Expression,
2636 ExpressionText,
2637 ModelOutput,
2638 };
2639 Q_ENUM( ProcessingModelChildParameterSource )
2640
2641
2647 {
2648 Wkt SIP_MONKEYPATCH_COMPAT_NAME( FormatWkt ),
2649 Proj SIP_MONKEYPATCH_COMPAT_NAME( FormatProj ),
2650 };
2651 Q_ENUM( CrsDefinitionFormat )
2652
2653
2661 enum class FieldDomainSplitPolicy : int
2662 {
2663 DefaultValue,
2664 Duplicate,
2665 GeometryRatio,
2666 UnsetField,
2667 };
2668 Q_ENUM( FieldDomainSplitPolicy )
2669
2670
2678 enum class FieldDomainMergePolicy : int
2679 {
2680 DefaultValue,
2681 Sum,
2682 GeometryWeighted,
2683 };
2684 Q_ENUM( FieldDomainMergePolicy )
2685
2686
2691 enum class FieldDomainType : int
2692 {
2693 Coded,
2694 Range,
2695 Glob,
2696 };
2697 Q_ENUM( FieldDomainType )
2698
2699
2704 enum class TransactionMode : int
2705 {
2706 Disabled = 0,
2707 AutomaticGroups = 1,
2708 BufferedGroups = 2,
2709 };
2710 Q_ENUM( TransactionMode )
2711
2712
2717 enum class AltitudeClamping : int
2718 {
2719 Absolute,
2720 Relative,
2721 Terrain,
2722 };
2723 Q_ENUM( AltitudeClamping )
2724
2725
2730 enum class AltitudeBinding : int
2731 {
2732 Vertex,
2733 Centroid,
2734 };
2735 Q_ENUM( AltitudeBinding )
2736
2737
2743 {
2744 NoConstraint,
2745 Perpendicular,
2746 Parallel
2747 };
2748 Q_ENUM( BetweenLineConstraint )
2749
2750
2755 enum class LineExtensionSide : int
2756 {
2757 BeforeVertex,
2758 AfterVertex,
2759 NoVertex,
2760 };
2761 Q_ENUM( LineExtensionSide )
2762
2763
2764
2768 enum class CadConstraintType : int
2769 {
2770 Generic,
2771 Angle,
2772 Distance,
2773 XCoordinate,
2774 YCoordinate,
2775 ZValue,
2776 MValue,
2777 };
2778 Q_ENUM( CadConstraintType )
2779
2780
2781
2786 enum class ProjectFlag : int
2787 {
2788 EvaluateDefaultValuesOnProviderSide = 1 << 0,
2789 TrustStoredLayerStatistics = 1 << 1,
2790 RememberLayerEditStatusBetweenSessions = 1 << 2,
2791 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
2792 };
2793 Q_ENUM( ProjectFlag )
2794 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
2795 Q_FLAG( ProjectFlags )
2796
2797
2802 enum class PlotToolFlag : int
2803 {
2804 ShowContextMenu = 1 << 0,
2805 };
2806 Q_ENUM( PlotToolFlag )
2807 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
2808 Q_FLAG( PlotToolFlags )
2809
2810
2815 enum class LightSourceType : int
2816 {
2817 Point,
2818 Directional,
2819 };
2820 Q_ENUM( LightSourceType )
2821
2822
2827 enum class NavigationMode : int
2828 {
2829 TerrainBased,
2830 Walk
2831 };
2832 Q_ENUM( NavigationMode )
2833
2834
2839 enum class VerticalAxisInversion : int
2840 {
2841 Never,
2842 WhenDragging,
2843 Always,
2844 };
2845 Q_ENUM( VerticalAxisInversion )
2846
2847
2853 {
2854 Line,
2855 FillBelow,
2856 FillAbove,
2857 };
2859
2865 enum class VectorProfileType : int
2866 {
2867 IndividualFeatures,
2868 ContinuousSurface,
2869 };
2871
2877 enum class ProfileGeneratorFlag : int
2878 {
2879 RespectsMaximumErrorMapUnit = 1 << 0,
2880 RespectsDistanceRange = 1 << 1,
2881 RespectsElevationRange = 1 << 2,
2882 };
2883 Q_ENUM( ProfileGeneratorFlag )
2884 Q_DECLARE_FLAGS( ProfileGeneratorFlags, ProfileGeneratorFlag )
2885 Q_FLAG( ProfileGeneratorFlags )
2886
2887
2892 enum class ProfileExportType : int
2893 {
2894 Features3D,
2895 Profile2D,
2896 DistanceVsElevationTable,
2897 };
2899
2906 {
2907 Square,
2908 Circle,
2909 };
2910 Q_ENUM( PointCloudSymbol )
2911
2912
2918 {
2919 Default,
2920 BottomToTop,
2921 TopToBottom,
2922 };
2923 Q_ENUM( PointCloudDrawOrder )
2924
2925
2933 {
2934 AllowIntersections,
2935 AvoidIntersectionsCurrentLayer,
2936 AvoidIntersectionsLayers,
2937 };
2938 Q_ENUM( AvoidIntersectionsMode )
2939
2940
2948 {
2949 Qgz,
2950 Qgs,
2951 };
2952 Q_ENUM( ProjectFileFormat )
2953
2954
2962 {
2963 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers ) = 1 << 0,
2964 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts ) = 1 << 1,
2965 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata ) = 1 << 2,
2966 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
2967 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
2968 DontLoadProjectStyles = 1 << 5,
2969 ForceReadOnlyLayers = 1 << 6,
2970 };
2971 Q_ENUM( ProjectReadFlag )
2972
2973
2980 Q_DECLARE_FLAGS( ProjectReadFlags, ProjectReadFlag ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsProject, ReadFlags )
2981 Q_FLAG( ProjectReadFlags )
2982
2991 enum class ProjectCapability : int
2992 {
2993 ProjectStyles = 1 << 0,
2994 };
2995 Q_ENUM( ProjectCapability )
2996
2997
3002 Q_DECLARE_FLAGS( ProjectCapabilities, ProjectCapability )
3003 Q_FLAG( ProjectCapabilities )
3004
3005
3011 {
3012 Vector,
3013 Raster,
3014 RasterDem,
3015 GeoJson,
3016 Image,
3017 Video,
3018 Unknown,
3019 };
3020 Q_ENUM( MapBoxGlStyleSourceType )
3021
3022
3030 {
3031 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
3032 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
3033 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
3034 GlobeServer,
3035 GPServer,
3036 GeocodeServer,
3037 Unknown,
3038 };
3039 Q_ENUM( ArcGisRestServiceType )
3040
3041
3049 {
3050 Normal,
3051 Generated,
3052 };
3053 Q_ENUM( RelationshipType )
3054
3055
3063 {
3064 Association,
3065 Composition,
3066 };
3067 Q_ENUM( RelationshipStrength )
3068
3069
3075 {
3076 OneToOne,
3077 OneToMany,
3078 ManyToOne,
3079 ManyToMany,
3080 };
3081 Q_ENUM( RelationshipCardinality )
3082
3083
3088 enum class RelationshipCapability : int
3089 {
3090 MultipleFieldKeys = 1 << 0,
3091 ForwardPathLabel = 1 << 1,
3092 BackwardPathLabel = 1 << 2,
3093 };
3094 Q_ENUM( RelationshipCapability )
3095
3096
3101 Q_DECLARE_FLAGS( RelationshipCapabilities, RelationshipCapability )
3102 Q_FLAG( RelationshipCapabilities )
3103
3104
3109 enum class CoordinateDisplayType : int
3110 {
3111 MapCrs,
3112 MapGeographic,
3113 CustomCrs,
3114 };
3115 Q_ENUM( CoordinateDisplayType )
3116
3117
3122 enum class SettingsOrigin : int
3123 {
3124 Any,
3125 Global,
3126 Local,
3127 };
3128 Q_ENUM( SettingsOrigin )
3129
3130
3135 enum class ScriptLanguage : int
3136 {
3137 Css,
3138 QgisExpression,
3139 Html,
3140 JavaScript,
3141 Json,
3142 Python,
3143 R,
3144 Sql,
3145 Batch,
3146 Bash,
3147 Unknown,
3148 };
3149 Q_ENUM( ScriptLanguage )
3150
3151
3159 {
3160 Reformat = 1 << 0,
3161 CheckSyntax = 1 << 1,
3162 ToggleComment = 1 << 2,
3163 };
3164 Q_ENUM( ScriptLanguageCapability )
3165
3166
3171 Q_DECLARE_FLAGS( ScriptLanguageCapabilities, ScriptLanguageCapability )
3172 Q_FLAG( ScriptLanguageCapabilities )
3173
3174
3180 {
3181 AboveInsertionPoint,
3182 TopOfTree,
3183 OptimalInInsertionGroup,
3184 };
3185 Q_ENUM( LayerTreeInsertionMethod )
3186
3187
3192 enum class LayerTreeFilterFlag : int
3193 {
3194 SkipVisibilityCheck = 1 << 0,
3195 };
3196 Q_ENUM( LayerTreeFilterFlag )
3197
3198
3203 Q_DECLARE_FLAGS( LayerTreeFilterFlags, LayerTreeFilterFlag )
3204 Q_FLAG( LayerTreeFilterFlags )
3205
3206
3207
3214 enum class LegendJsonRenderFlag : int
3215 {
3216 ShowRuleDetails = 1 << 0,
3217 };
3218 Q_ENUM( LegendJsonRenderFlag )
3219 Q_DECLARE_FLAGS( LegendJsonRenderFlags, LegendJsonRenderFlag )
3220 Q_FLAG( LegendJsonRenderFlags )
3221
3222
3229 enum class ActionType : int
3230 {
3231 Invalid,
3232 MapLayerAction,
3233 AttributeAction
3234 };
3235 Q_ENUM( ActionType )
3236
3237
3244 enum class MapLayerActionTarget : int
3245 {
3246 Layer = 1 << 0,
3247 SingleFeature = 1 << 1,
3248 MultipleFeatures = 1 << 2,
3249 AllActions = Layer | SingleFeature | MultipleFeatures
3250 };
3251 Q_ENUM( MapLayerActionTarget )
3252
3253
3260 Q_DECLARE_FLAGS( MapLayerActionTargets, MapLayerActionTarget )
3261 Q_FLAG( MapLayerActionTargets )
3262
3263
3270 enum class MapLayerActionFlag : int
3271 {
3272 EnabledOnlyWhenEditable = 1 << 1,
3273 };
3274 Q_ENUM( MapLayerActionFlag )
3275
3276
3283 Q_DECLARE_FLAGS( MapLayerActionFlags, MapLayerActionFlag )
3284 Q_FLAG( MapLayerActionFlags )
3285
3286
3294 {
3295 Generic,
3296 GenericPython,
3297 Mac,
3298 Windows,
3299 Unix,
3300 OpenUrl,
3301 SubmitUrlEncoded,
3302 SubmitUrlMultipart,
3303 };
3304 Q_ENUM( AttributeActionType )
3305
3306
3312 {
3313 Created,
3314 Published,
3315 Revised,
3316 Superseded,
3317 };
3318 Q_ENUM( MetadataDateType )
3319
3320
3330 {
3331 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
3332 GrayIndex = 1,
3333 PaletteIndex = 2,
3334 RedBand = 3,
3335 GreenBand = 4,
3336 BlueBand = 5,
3337 AlphaBand = 6,
3338 HueBand = 7,
3339 SaturationBand = 8,
3340 LightnessBand = 9,
3341 CyanBand = 10,
3342 MagentaBand = 11,
3343 YellowBand = 12,
3344 BlackBand = 13,
3345 YCbCr_YBand = 14,
3346 YCbCr_CbBand = 15,
3347 YCbCr_CrBand = 16,
3348 ContinuousPalette = 17
3349 };
3350 Q_ENUM( RasterColorInterpretation )
3351
3352
3360 {
3361 GrayOrUndefined,
3362 Palette,
3363 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
3364 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
3365 };
3366 Q_ENUM( RasterLayerType )
3367
3368
3376 {
3377 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
3378 SingleBandGray,
3379 SingleBandPseudoColor,
3380 PalettedColor,
3381 PalettedSingleBandGray,
3382 PalettedSingleBandPseudoColor,
3383 PalettedMultiBandColor,
3384 MultiBandSingleBandGray,
3385 MultiBandSingleBandPseudoColor,
3386 MultiBandColor,
3387 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
3388 };
3389 Q_ENUM( RasterDrawingStyle )
3390
3391
3398 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
3399 {
3400 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
3401 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
3402 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
3403 };
3404 Q_ENUM( RasterPyramidFormat )
3405
3406
3414 {
3415 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
3416 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
3417 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
3418 };
3419 Q_ENUM( RasterBuildPyramidOption )
3420
3421
3429 {
3430 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
3431 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
3432 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
3433 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
3434 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
3435 };
3436 Q_ENUM( RasterIdentifyFormat )
3437
3438
3444 {
3445 HighestElevation,
3446 NewerElevation,
3447 };
3448 Q_ENUM( ElevationMapCombineMethod )
3449
3450
3459 {
3460 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
3461 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
3462 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
3463 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
3464 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
3465 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
3466 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
3467 Burn SIP_MONKEYPATCH_COMPAT_NAME( BlendBurn ),
3468 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
3469 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
3470 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
3471 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
3472 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
3473 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
3474 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
3475 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
3476 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
3477 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
3478 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
3479 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
3480 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
3481 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
3482 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
3483 Xor SIP_MONKEYPATCH_COMPAT_NAME( BlendXor ),
3484 };
3485 Q_ENUM( BlendMode )
3486
3487
3495 {
3496 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
3497 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
3498 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
3499 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
3500 };
3501 Q_ENUM( SystemOfMeasurement )
3502
3503
3510 {
3511 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
3512 Pixels,
3513 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
3514 };
3515 Q_ENUM( MapToolUnit )
3516
3517
3525 {
3526 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
3527 Area SIP_MONKEYPATCH_COMPAT_NAME( TypeArea ),
3528 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
3529 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
3530 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
3531 };
3532 Q_ENUM( UnitType )
3533
3534
3542 {
3543 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
3544 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
3545 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
3546 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
3547 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
3548 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
3549 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
3550 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
3551 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
3552 Inches,
3553 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
3554 };
3555 Q_ENUM( DistanceUnit )
3556
3557
3565 {
3566 Standard,
3567 Geographic,
3568 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
3569 };
3570 Q_ENUM( DistanceUnitType )
3571
3572
3580 {
3581 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
3582 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
3583 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
3584 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
3585 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
3586 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
3587 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
3588 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
3589 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
3590 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
3591 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
3592 SquareInches,
3593 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
3594 };
3595 Q_ENUM( AreaUnit )
3596
3597
3605 {
3606 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
3607 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
3608 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
3609 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
3610 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
3611 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
3612 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
3613 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
3614 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
3615 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
3616 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
3617 };
3618 Q_ENUM( VolumeUnit )
3619
3620
3628 {
3629 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
3630 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
3631 Gon SIP_MONKEYPATCH_COMPAT_NAME( AngleGon ),
3632 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
3633 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
3634 Turn SIP_MONKEYPATCH_COMPAT_NAME( AngleTurn ),
3635 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
3636 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
3637 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
3638 };
3639 Q_ENUM( AngleUnit )
3640
3641
3649 {
3650 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
3651 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
3652 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
3653 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
3654 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
3655 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
3656 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
3657 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
3658 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
3659 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
3660 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
3661 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
3662 };
3663 Q_ENUM( TemporalUnit )
3664
3665
3673 {
3674 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
3675 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
3676 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
3677 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
3678 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
3679 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
3680 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
3681 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
3682 };
3683 Q_ENUM( RenderUnit )
3684
3685
3693 {
3694 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
3695 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
3696 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
3697 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
3698 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
3699 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
3700 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
3701 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
3702 };
3703 Q_ENUM( LayoutUnit )
3704
3705
3713 {
3714 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
3715 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
3716 };
3717 Q_ENUM( LayoutUnitType )
3718
3719
3724 enum class InputControllerType : int
3725 {
3726 Map2D,
3727 Map3D
3728 };
3730
3737 {
3738 NotSet,
3739 Unknown,
3740 OrdinaryTable,
3741 Index,
3742 Sequence,
3743 View,
3744 MaterializedView,
3745 CompositeType,
3746 ToastTable,
3747 ForeignTable,
3748 PartitionedTable,
3749 };
3750 Q_ENUM( PostgresRelKind )
3751
3752
3758 {
3759 SetFieldComment = 1 << 0,
3760 SetFieldAlias = 1 << 1,
3761 };
3762 Q_ENUM( DatabaseProviderConnectionCapability2 )
3763 Q_DECLARE_FLAGS( DatabaseProviderConnectionCapabilities2, DatabaseProviderConnectionCapability2 )
3764 Q_FLAG( DatabaseProviderConnectionCapabilities2 )
3765
3766
3772 {
3773 SaveToDatabase = 1 << 1,
3774 LoadFromDatabase = 1 << 2,
3775 DeleteFromDatabase = 1 << 3
3776 };
3778 Q_DECLARE_FLAGS( ProviderStyleStorageCapabilities, ProviderStyleStorageCapability )
3779 Q_FLAG( ProviderStyleStorageCapabilities )
3780
3781
3787 {
3788 LastProfile,
3789 DefaultProfile,
3790 AskUser,
3791 };
3792 Q_ENUM( UserProfileSelectionPolicy )
3793
3794
3802 {
3803 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
3804 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
3805 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
3806 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
3807 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
3808 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
3809 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
3810 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
3811 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
3812 };
3813 Q_ENUM( AttributeEditorType )
3814
3815
3821 {
3822 GroupBox,
3823 Tab,
3824 Row,
3825 };
3826 Q_ENUM( AttributeEditorContainerType )
3827
3828
3836 {
3837 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
3838 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
3839 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
3840 };
3841 Q_ENUM( AttributeFormLayout )
3842
3843
3851 {
3852 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
3853 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
3854 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
3855 };
3856 Q_ENUM( AttributeFormSuppression )
3857
3858
3866 {
3867 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
3868 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
3869 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
3870 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
3871 };
3872 Q_ENUM( AttributeFormPythonInitCodeSource )
3873
3874
3880 {
3881 Qgis,
3882 PointCloud,
3883 RasterCalculator,
3884 };
3885 Q_ENUM( ExpressionType )
3886
3887
3895 {
3896 NoSymbology = 0,
3897 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
3898 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
3899 };
3900 Q_ENUM( FeatureSymbologyExport )
3901
3902
3907 enum class VectorTileProviderFlag : int
3908 {
3909 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
3910 };
3911 Q_ENUM( VectorTileProviderFlag )
3912
3913
3918 Q_DECLARE_FLAGS( VectorTileProviderFlags, VectorTileProviderFlag )
3919 Q_FLAG( VectorTileProviderFlags )
3920
3921
3926 {
3927 ReadLayerMetadata = 1 << 1,
3928 };
3929 Q_ENUM( VectorTileProviderCapability )
3930
3931
3936 Q_DECLARE_FLAGS( VectorTileProviderCapabilities, VectorTileProviderCapability )
3937 Q_FLAG( VectorTileProviderCapabilities )
3938
3939
3945 {
3946 Available,
3947 NotAvailable,
3948 AvailableNoChildren,
3949 UseLowerZoomLevelTile,
3950 };
3951 Q_ENUM( TileAvailability )
3952
3953
3959 {
3960 ReadLayerMetadata = 1 << 1,
3961 };
3962 Q_ENUM( TiledSceneProviderCapability )
3963
3964
3969 Q_DECLARE_FLAGS( TiledSceneProviderCapabilities, TiledSceneProviderCapability )
3970 Q_FLAG( TiledSceneProviderCapabilities )
3971
3972
3978 {
3979 Region,
3980 OrientedBox,
3981 Sphere,
3982 };
3983 Q_ENUM( TiledSceneBoundingVolumeType )
3984
3985
3994 {
3995 Replacement,
3996 Additive,
3997 };
3998 Q_ENUM( TileRefinementProcess )
3999
4000
4006 {
4007 NoChildren,
4008 Available,
4009 NeedFetching,
4010 };
4011 Q_ENUM( TileChildrenAvailability )
4012
4013
4018 enum class TiledSceneRequestFlag : int
4019 {
4020 NoHierarchyFetch = 1 << 0,
4021 };
4022 Q_ENUM( TiledSceneRequestFlag )
4023
4024
4029 Q_DECLARE_FLAGS( TiledSceneRequestFlags, TiledSceneRequestFlag )
4030 Q_FLAG( TiledSceneRequestFlags )
4031
4032
4037 enum class TiledSceneRendererFlag : int
4038 {
4039 RequiresTextures = 1 << 0,
4040 ForceRasterRender = 1 << 1,
4041 RendersTriangles = 1 << 2,
4042 RendersLines = 1 << 3,
4043 };
4044 Q_ENUM( TiledSceneRendererFlag )
4045
4046
4051 Q_DECLARE_FLAGS( TiledSceneRendererFlags, TiledSceneRendererFlag )
4052 Q_FLAG( TiledSceneRendererFlags )
4053
4054
4059 enum class GdalResampleAlgorithm : int
4060 {
4061 RA_NearestNeighbour = 0,
4062 RA_Bilinear = 1,
4063 RA_Cubic = 2,
4064 RA_CubicSpline = 3,
4065 RA_Lanczos = 4,
4066 RA_Average = 5,
4067 RA_Mode = 6,
4068 RA_Max = 8,
4069 RA_Min = 9,
4070 RA_Median = 10,
4071 RA_Q1 = 11,
4072 RA_Q3 = 12,
4073 };
4074 Q_ENUM( GdalResampleAlgorithm )
4075
4076
4080 static const double DEFAULT_SEARCH_RADIUS_MM;
4081
4083 static const float DEFAULT_MAPTOPIXEL_THRESHOLD;
4084
4091 static const QColor DEFAULT_HIGHLIGHT_COLOR;
4092
4097 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
4098
4103 static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
4104
4111 static const double SCALE_PRECISION;
4112
4118 static const double DEFAULT_Z_COORDINATE;
4119
4125 static const double DEFAULT_M_COORDINATE;
4126
4132 static const double UI_SCALE_FACTOR;
4133
4138 static const double DEFAULT_SNAP_TOLERANCE;
4139
4144 static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS;
4145
4151 static QString defaultProjectScales();
4152
4158 static int geosVersionInt();
4159
4165 static int geosVersionMajor();
4166
4172 static int geosVersionMinor();
4173
4179 static int geosVersionPatch();
4180
4186 static QString geosVersion();
4187};
4188
4191
4192Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::AnnotationItemFlags )
4193Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::AnnotationItemGuiFlags )
4194Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::BabelCommandFlags )
4195Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::BabelFormatCapabilities )
4196Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::BrowserItemCapabilities )
4197Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::CoordinateTransformationFlags )
4198Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::DatabaseProviderConnectionCapabilities2 )
4199Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::DataProviderFlags )
4200Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::FileOperationFlags )
4201Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::GeometryValidityFlags )
4202Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::GpsInformationComponents )
4203Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::HistoryProviderBackends )
4204Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::LabelingFlags )
4205Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::LabelLinePlacementFlags )
4206Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::LabelPolygonPlacementFlags )
4207Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::LayerTreeFilterFlags )
4208Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::LegendJsonRenderFlags )
4209Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::MapLayerActionFlags )
4210Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::MapLayerActionTargets )
4211Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::MapLayerProperties )
4212Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::MapLayerRendererFlags )
4213Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::MapSettingsFlags )
4214Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::MarkerLinePlacements )
4215Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::PlotToolFlags )
4216Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ProfileGeneratorFlags )
4217Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ProjectCapabilities )
4218Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ProjectReadFlags )
4219Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::RasterRendererFlags )
4220Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::RasterTemporalCapabilityFlags )
4221Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::RelationshipCapabilities )
4222Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::RenderContextFlags )
4223Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ScriptLanguageCapabilities )
4224Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SelectionFlags )
4225Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SettingsTreeNodeOptions )
4226Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SnappingTypes )
4227Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SqlLayerDefinitionCapabilities )
4228Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SublayerFlags )
4229Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SublayerQueryFlags )
4230Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SymbolFlags )
4231Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SymbolLayerFlags )
4232Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SymbolLayerUserFlags )
4233Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SymbolPreviewFlags )
4234Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::SymbolRenderHints )
4235Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::TextRendererFlags )
4236Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::TiledSceneProviderCapabilities )
4237Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::TiledSceneRendererFlags )
4238Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::FieldConfigurationFlags )
4239Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::LayerFilters )
4240Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::TiledSceneRequestFlags )
4241Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorDataProviderAttributeEditCapabilities )
4242Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorFileWriterCapabilities )
4243Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorLayerTypeFlags )
4244Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorTileProviderCapabilities )
4245Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorTileProviderFlags )
4246
4247
4248// hack to workaround warnings when casting void pointers
4249// retrieved from QLibrary::resolve to function pointers.
4250// It's assumed that this works on all systems supporting
4251// QLibrary
4252#define cast_to_fptr(f) f
4253
4254
4263// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
4264template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
4265{
4266 public:
4267
4272 explicit QgsSignalBlocker( Object * object )
4273 : mObject( object )
4274 , mPreviousState( object->blockSignals( true ) )
4275 {}
4276
4278 {
4279 mObject->blockSignals( mPreviousState );
4280 }
4281
4283 Object *operator->() { return mObject; }
4284
4285 private:
4286
4287 Object *mObject = nullptr;
4288 bool mPreviousState;
4289
4290};
4291
4305// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
4306template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
4307{
4308 return QgsSignalBlocker<Object>( object );
4309}
4310
4312CORE_EXPORT uint qHash( const QVariant &variant );
4313
4319inline QString qgsDoubleToString( double a, int precision = 17 )
4320{
4321 QString str;
4322 if ( precision )
4323 {
4324 if ( precision < 0 )
4325 {
4326 const double roundFactor = std::pow( 10, -precision );
4327 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
4328 }
4329 else
4330 {
4331 str = QString::number( a, 'f', precision );
4332 if ( str.contains( QLatin1Char( '.' ) ) )
4333 {
4334 // remove ending 0s
4335 int idx = str.length() - 1;
4336 while ( str.at( idx ) == '0' && idx > 1 )
4337 {
4338 idx--;
4339 }
4340 if ( idx < str.length() - 1 )
4341 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
4342 }
4343 }
4344 }
4345 else
4346 {
4347 str = QString::number( a, 'f', precision );
4348 }
4349 // avoid printing -0
4350 // see https://bugreports.qt.io/browse/QTBUG-71439
4351 if ( str == QLatin1String( "-0" ) )
4352 {
4353 return QLatin1String( "0" );
4354 }
4355 return str;
4356}
4357
4364inline bool qgsNanCompatibleEquals( double a, double b )
4365{
4366 const bool aIsNan = std::isnan( a );
4367 const bool bIsNan = std::isnan( b );
4368 if ( aIsNan || bIsNan )
4369 return aIsNan && bIsNan;
4370
4371 return a == b;
4372}
4373
4380inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
4381{
4382 const bool aIsNan = std::isnan( a );
4383 const bool bIsNan = std::isnan( b );
4384 if ( aIsNan || bIsNan )
4385 return aIsNan && bIsNan;
4386
4387 const double diff = a - b;
4388 return diff >= -epsilon && diff <= epsilon;
4389}
4390
4397inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
4398{
4399 const bool aIsNan = std::isnan( a );
4400 const bool bIsNan = std::isnan( b );
4401 if ( aIsNan || bIsNan )
4402 return aIsNan && bIsNan;
4403
4404 const float diff = a - b;
4405 return diff >= -epsilon && diff <= epsilon;
4406}
4407
4409inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
4410{
4411 const bool aIsNan = std::isnan( a );
4412 const bool bIsNan = std::isnan( b );
4413 if ( aIsNan || bIsNan )
4414 return aIsNan && bIsNan;
4415
4416 // The most simple would be to print numbers as %.xe and compare as strings
4417 // but that is probably too costly
4418 // Then the fastest would be to set some bits directly, but little/big endian
4419 // has to be considered (maybe TODO)
4420 // Is there a better way?
4421 int aexp, bexp;
4422 const double ar = std::frexp( a, &aexp );
4423 const double br = std::frexp( b, &bexp );
4424
4425 return aexp == bexp &&
4426 std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
4427}
4428
4434inline double qgsRound( double number, int places )
4435{
4436 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
4437 const double scaleFactor = std::pow( 10.0, places );
4438 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
4439}
4440
4441#ifndef SIP_RUN
4442
4449template<class Key, class Value>
4450QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
4451{
4452 QString result;
4453 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
4454 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
4455
4456 result.chop( separator.size() );
4457 return result;
4458}
4459
4466template<class Key, class Value>
4467QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
4468{
4469 QString result;
4470 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
4471 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
4472
4473 result.chop( separator.size() );
4474 return result;
4475}
4476
4483template<class T>
4484QString qgsSetJoin( const QSet<T> &set, const QString &separator )
4485{
4486 QString result;
4487 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
4488 result += QString( "%1%2" ).arg( *it ).arg( separator );
4489
4490 result.chop( separator.size() );
4491 return result;
4492}
4493
4495
4505namespace qgis
4506{
4507
4520 template<typename To, typename From> inline To down_cast( From *f )
4521 {
4522 static_assert(
4523 ( std::is_base_of<From,
4524 typename std::remove_pointer<To>::type>::value ),
4525 "target type not derived from source type" );
4526 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
4527 return static_cast<To>( f );
4528 }
4529
4530 template<class T>
4531 QSet<T> listToSet( const QList<T> &list )
4532 {
4533 return QSet<T>( list.begin(), list.end() );
4534 }
4535
4536 template<class T>
4537 QList<T> setToList( const QSet<T> &set )
4538 {
4539 return QList<T>( set.begin(), set.end() );
4540 }
4541}
4542
4544#endif
4545
4550template<class T> const QList<T> qgsEnumList() SIP_SKIP
4551{
4552 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4553 Q_ASSERT( metaEnum.isValid() );
4554 QList<T> enumList;
4555 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
4556 {
4557 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
4558 }
4559 return enumList;
4560}
4561
4567template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
4568{
4569 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4570 Q_ASSERT( metaEnum.isValid() );
4571 QMap<T, QString> enumMap;
4572 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
4573 {
4574 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
4575 }
4576 return enumMap;
4577}
4578
4584template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
4585{
4586 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4587 Q_ASSERT( metaEnum.isValid() );
4588 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
4589 if ( returnOk )
4590 {
4591 *returnOk = key ? true : false;
4592 }
4593 return QString::fromUtf8( key );
4594}
4595
4603template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
4604{
4605 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4606 Q_ASSERT( metaEnum.isValid() );
4607 bool ok = false;
4608 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
4609 if ( returnOk )
4610 {
4611 *returnOk = ok;
4612 }
4613 if ( ok )
4614 {
4615 return v;
4616 }
4617 else
4618 {
4619 // if conversion has failed, try with conversion from int value
4620 if ( tryValueAsKey )
4621 {
4622 bool canConvert = false;
4623 const int intValue = key.toInt( &canConvert );
4624 if ( canConvert && metaEnum.valueToKey( intValue ) )
4625 {
4626 if ( returnOk )
4627 {
4628 *returnOk = true;
4629 }
4630 return static_cast<T>( intValue );
4631 }
4632 }
4633 }
4634 return defaultValue;
4635}
4636
4642template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
4643{
4644 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4645 Q_ASSERT( metaEnum.isValid() );
4646 int intValue = static_cast<int>( value );
4647 const QByteArray ba = metaEnum.valueToKeys( intValue );
4648 // check that the int value does correspond to a flag
4649 // see https://stackoverflow.com/a/68495949/1548052
4650 const int intValueCheck = metaEnum.keysToValue( ba );
4651 bool ok = intValue == intValueCheck;
4652 if ( returnOk )
4653 *returnOk = ok;
4654 return ok ? QString::fromUtf8( ba ) : QString();
4655}
4656
4664template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
4665{
4666 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4667 Q_ASSERT( metaEnum.isValid() );
4668 bool ok = false;
4669 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
4670 if ( returnOk )
4671 {
4672 *returnOk = ok;
4673 }
4674 if ( ok )
4675 {
4676 return v;
4677 }
4678 else
4679 {
4680 // if conversion has failed, try with conversion from int value
4681 if ( tryValueAsKey )
4682 {
4683 bool canConvert = false;
4684 const int intValue = keys.toInt( &canConvert );
4685 if ( canConvert )
4686 {
4687 const QByteArray keys = metaEnum.valueToKeys( intValue );
4688 const int intValueCheck = metaEnum.keysToValue( keys );
4689 if ( intValue == intValueCheck )
4690 {
4691 if ( returnOk )
4692 {
4693 *returnOk = true;
4694 }
4695 return T( intValue );
4696 }
4697 }
4698 }
4699 }
4700 return defaultValue;
4701}
4702
4703
4713CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
4714
4724CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
4725
4735CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
4736
4746CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
4747
4756CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
4757
4764CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
4765
4766#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
4767
4774inline bool operator> ( const QVariant &v1, const QVariant &v2 )
4775{
4776 return qgsVariantGreaterThan( v1, v2 );
4777}
4778
4788inline bool operator< ( const QVariant &v1, const QVariant &v2 )
4789{
4790 return qgsVariantLessThan( v1, v2 );
4791}
4792#endif
4793
4794
4795#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
4796
4800template<> CORE_EXPORT bool qMapLessThanKey<QVariantList>( const QVariantList &key1, const QVariantList &key2 ) SIP_SKIP;
4801#endif
4802
4803CORE_EXPORT QString qgsVsiPrefix( const QString &path );
4804
4810void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
4811
4816void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
4817
4818#ifndef SIP_RUN
4819
4820#ifdef _MSC_VER
4821#define CONSTLATIN1STRING inline const QLatin1String
4822#else
4823#define CONSTLATIN1STRING constexpr QLatin1String
4824#endif
4825
4827class ScopedIntIncrementor
4828{
4829 public:
4830
4831 ScopedIntIncrementor( int *variable )
4832 : mVariable( variable )
4833 {
4834 ( *mVariable )++;
4835 }
4836
4837 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
4838 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
4839
4840 void release()
4841 {
4842 if ( mVariable )
4843 ( *mVariable )--;
4844
4845 mVariable = nullptr;
4846 }
4847
4848 ~ScopedIntIncrementor()
4849 {
4850 release();
4851 }
4852
4853 private:
4854 int *mVariable = nullptr;
4855};
4857
4863{
4864 return QLatin1String(
4865 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]] )"""
4866 );
4867}
4868
4871{
4872 return QLatin1String( "+proj=longlat +datum=WGS84 +no_defs" );
4873}
4874
4877{
4878 return QLatin1String( "EPSG:4326" );
4879}
4880
4883{
4884 return QLatin1String( "NONE" );
4885}
4886
4888
4890const int PREVIEW_JOB_DELAY_MS = 250;
4891
4893const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
4894
4896
4897#endif
4898
4900const long GEOSRID = 4326;
4901
4903const long GEOCRS_ID = 3452;
4904
4906const long GEO_EPSG_CRS_ID = 4326;
4907
4912const int USER_CRS_START_ID = 100000;
4913
4914//
4915// Constants for point symbols
4916//
4917
4919const double DEFAULT_POINT_SIZE = 2.0;
4920const double DEFAULT_LINE_WIDTH = 0.26;
4921
4923const double DEFAULT_SEGMENT_EPSILON = 1e-8;
4924
4925typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
4926
4935typedef unsigned long long qgssize;
4936
4937#ifndef SIP_RUN
4938#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
4939
4940#define Q_NOWARN_DEPRECATED_PUSH \
4941 _Pragma("GCC diagnostic push") \
4942 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
4943#define Q_NOWARN_DEPRECATED_POP \
4944 _Pragma("GCC diagnostic pop");
4945#define Q_NOWARN_UNREACHABLE_PUSH
4946#define Q_NOWARN_UNREACHABLE_POP
4947
4948#elif defined(_MSC_VER)
4949
4950#define Q_NOWARN_DEPRECATED_PUSH \
4951 __pragma(warning(push)) \
4952 __pragma(warning(disable:4996))
4953#define Q_NOWARN_DEPRECATED_POP \
4954 __pragma(warning(pop))
4955#define Q_NOWARN_UNREACHABLE_PUSH \
4956 __pragma(warning(push)) \
4957 __pragma(warning(disable:4702))
4958#define Q_NOWARN_UNREACHABLE_POP \
4959 __pragma(warning(pop))
4960
4961#else
4962
4963#define Q_NOWARN_DEPRECATED_PUSH
4964#define Q_NOWARN_DEPRECATED_POP
4965#define Q_NOWARN_UNREACHABLE_PUSH
4966#define Q_NOWARN_UNREACHABLE_POP
4967
4968#endif
4969#endif
4970
4971#ifndef QGISEXTERN
4972#ifdef Q_OS_WIN
4973# define QGISEXTERN extern "C" __declspec( dllexport )
4974#else
4975# if defined(__GNUC__) || defined(__clang__)
4976# define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
4977# else
4978# define QGISEXTERN extern "C"
4979# endif
4980#endif
4981#endif
4982#endif
4983
4984// see https://infektor.net/posts/2017-01-19-using-cpp17-attributes-today.html#using-the-nodiscard-attribute
4985#if __cplusplus >= 201703L
4986#define NODISCARD [[nodiscard]]
4987#elif defined(__clang__)
4988#define NODISCARD [[nodiscard]]
4989#elif defined(_MSC_VER)
4990#define NODISCARD // no support
4991#elif defined(__has_cpp_attribute)
4992#if __has_cpp_attribute(nodiscard)
4993#define NODISCARD [[nodiscard]]
4994#elif __has_cpp_attribute(gnu::warn_unused_result)
4995#define NODISCARD [[gnu::warn_unused_result]]
4996#else
4997#define NODISCARD Q_REQUIRED_RESULT
4998#endif
4999#else
5000#define NODISCARD Q_REQUIRED_RESULT
5001#endif
5002
5003#if __cplusplus >= 201703L
5004#define MAYBE_UNUSED [[maybe_unused]]
5005#elif defined(__clang__)
5006#define MAYBE_UNUSED [[maybe_unused]]
5007#elif defined(_MSC_VER)
5008#define MAYBE_UNUSED // no support
5009#elif defined(__has_cpp_attribute)
5010#if __has_cpp_attribute(gnu::unused)
5011#define MAYBE_UNUSED [[gnu::unused]]
5012#else
5013#define MAYBE_UNUSED
5014#endif
5015#else
5016#define MAYBE_UNUSED
5017#endif
5018
5019#ifndef FINAL
5020#define FINAL final
5021#endif
5022
5023#ifndef SIP_RUN
5024#ifdef _MSC_VER
5025#define BUILTIN_UNREACHABLE \
5026 __assume(false);
5027#elif defined(__GNUC__) && !defined(__clang__)
5028// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
5029// like:
5030// switch( mVariableThatCanOnlyBeXorY )
5031// {
5032// case X:
5033// return "foo";
5034// case Y:
5035// return "foo";
5036// }
5037// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
5038#define BUILTIN_UNREACHABLE \
5039 __builtin_unreachable();
5040#else
5041#define BUILTIN_UNREACHABLE
5042#endif
5043#endif // SIP_RUN
5044
5045#ifdef SIP_RUN
5046
5051QString CORE_EXPORT geoWkt();
5052
5054QString CORE_EXPORT geoProj4();
5055
5057QString CORE_EXPORT geoEpsgCrsAuthId();
5058
5060QString CORE_EXPORT geoNone();
5061
5062#endif
The Qgis class provides global constants for use throughout the application.
Definition qgis.h:54
DistanceUnitType
Types of distance units.
Definition qgis.h:3565
GnssConstellation
GNSS constellation.
Definition qgis.h:1412
SettingsOption
Settings options.
Definition qgis.h:482
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition qgis.h:2878
GpsQualityIndicator
GPS signal quality indicator.
Definition qgis.h:1430
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:2962
MapToolUnit
Type of unit of tolerance value from settings.
Definition qgis.h:3510
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:2477
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:2906
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
Definition qgis.h:541
GeometryValidityFlag
Geometry validity check flags.
Definition qgis.h:1565
ExpressionType
Expression types.
Definition qgis.h:3880
MapLayerActionFlag
Map layer action targets.
Definition qgis.h:3271
MapLayerProperty
File operation flags.
Definition qgis.h:1681
BufferSide
Side of line to buffer.
Definition qgis.h:1590
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1078
VectorTileProviderCapability
Vector tile data provider flags.
Definition qgis.h:3926
AltitudeClamping
Altitude clamping.
Definition qgis.h:2718
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:3908
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:1878
SublayerFlag
Sublayer query flags.
Definition qgis.h:1047
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:934
CoordinateDisplayType
Relationship capabilities.
Definition qgis.h:3110
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:2450
GpsFixStatus
GPS fix status.
Definition qgis.h:1397
AnnotationItemNodeType
Annotation item GUI flags.
Definition qgis.h:1854
static const char * QGIS_DEV_VERSION
The development version.
Definition qgis.h:82
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:745
AngularDirection
Angular directions.
Definition qgis.h:2565
DriveType
Drive types.
Definition qgis.h:798
UnitType
Unit types.
Definition qgis.h:3525
ContentStatus
Status for fetched or stored content.
Definition qgis.h:1353
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition qgis.h:507
LayoutUnit
Layout measurement units.
Definition qgis.h:3693
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:3063
Q_ENUM(GnssConstellation)
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:2315
GeometryOperationResult
Success or failure of a geometry operation.
Definition qgis.h:1536
BrowserItemState
Browser item states.
Definition qgis.h:641
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:3821
MarkerClipMode
Marker clipping modes.
Definition qgis.h:2408
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:1826
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:2239
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:527
AngleUnit
Units of angles.
Definition qgis.h:3628
CaptureTechnique
Capture technique.
Definition qgis.h:294
BrowserItemCapability
Browser item capabilities.
Definition qgis.h:654
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition qgis.h:3851
LayerTreeInsertionMethod
Script language capabilities.
Definition qgis.h:3180
LineClipMode
Line clipping modes.
Definition qgis.h:2422
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition qgis.h:700
SettingsTreeNodeType
Type of tree node.
Definition qgis.h:412
TilePixelRatio
DpiMode enum.
Definition qgis.h:2505
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:3758
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:900
GradientColorSource
Gradient color sources.
Definition qgis.h:2337
FileFilterType
Type of file filters.
Definition qgis.h:1013
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:854
RasterLayerType
Raster layer types.
Definition qgis.h:3360
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:3399
VectorExportResult
Vector layer export result codes.
Definition qgis.h:724
DistanceUnit
Units of distance.
Definition qgis.h:3542
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:1947
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition qgis.h:585
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:2381
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:959
ScaleMethod
Scale methods.
Definition qgis.h:382
SldExportOption
SLD export options.
Definition qgis.h:454
FilePathType
File path types.
Definition qgis.h:1201
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:2769
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:3866
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:2396
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
Definition qgis.h:469
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:3193
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:3836
VertexType
Types of vertex.
Definition qgis.h:2252
DataProviderFlag
Generic data provider flags.
Definition qgis.h:1709
GdalResampleAlgorithm
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:4060
GeometryValidationEngine
Available engines for validating geometries.
Definition qgis.h:1578
TransactionMode
Transaction mode.
Definition qgis.h:2705
Q_ENUM(ScaleToTileZoomLevelMethod)
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:3444
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:3376
GpsInformationComponent
GPS information component.
Definition qgis.h:1450
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:2591
FileOperationFlag
File operation flags.
Definition qgis.h:1666
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:2992
Q_ENUM(VectorProfileType)
AttributeActionType
Map layer action flags.
Definition qgis.h:3294
AreaUnit
Units of area.
Definition qgis.h:3580
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:2679
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:780
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:2465
TiledSceneBoundingVolumeType
Tiled scene data provider capabilities.
Definition qgis.h:3978
TextLayoutMode
Text layout modes.
Definition qgis.h:2158
PropertyType
Property types.
Definition qgis.h:440
LayerFilter
Filter for layers.
Definition qgis.h:133
Q_ENUM(ProviderStyleStorageCapability)
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition qgis.h:1092
CrsType
Data provider flags.
Definition qgis.h:1725
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1184
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:2662
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:3030
RasterFileWriterResult
Raster file export results.
Definition qgis.h:1167
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition qgis.h:1865
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:2604
ActionType
Action types.
Definition qgis.h:3230
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:815
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:2933
MarkerShape
Marker shapes.
Definition qgis.h:2266
LegendJsonRenderFlag
Layer tree filter flags.
Definition qgis.h:3215
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:3459
Capitalization
String capitalization options.
Definition qgis.h:2522
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:1932
LabelQuadrantPosition
Label quadrant positions.
Definition qgis.h:914
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:2553
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition qgis.h:1030
TextOrientation
Text orientations.
Definition qgis.h:2143
PythonMacroMode
Vector layer type flags.
Definition qgis.h:321
TemporalUnit
Temporal units.
Definition qgis.h:3649
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:827
CrsDefinitionFormat
CRS definition formats.
Definition qgis.h:2647
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:1653
TileAvailability
Vector tile data provider capabilities.
Definition qgis.h:3945
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:2787
BrowserItemType
Symbol layer user flags.
Definition qgis.h:622
SettingsType
Types of settings entries.
Definition qgis.h:393
RasterTemporalMode
Raster layer temporal modes.
Definition qgis.h:1919
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1141
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:2098
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:255
RelationshipType
Relationship types.
Definition qgis.h:3049
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:3159
JoinStyle
Join styles for buffers.
Definition qgis.h:1615
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:2918
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:2226
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:3787
DpiMode
DpiMode enum.
Definition qgis.h:2491
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:3772
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition qgis.h:676
AltitudeBinding
Altitude binding.
Definition qgis.h:2731
TiledSceneRendererFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:4038
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:3245
ScriptLanguage
Scripting languages.
Definition qgis.h:3136
TiledSceneProviderCapability
Tiled scene data provider capabilities.
Definition qgis.h:3959
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:997
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:1906
TextRenderFormat
Flags which control how map layer renderers behave.
Definition qgis.h:2084
DataType
Raster data types.
Definition qgis.h:269
Q_ENUM(ProfileSurfaceSymbology)
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:3495
RasterAttributeTableFieldUsage
Flags which control behavior of raster renderers.
Definition qgis.h:1112
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition qgis.h:2840
RelationshipCapability
Relationship capabilities.
Definition qgis.h:3089
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:3414
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:2828
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:4006
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:2803
RenderUnit
Rendering size units.
Definition qgis.h:3673
CoordinateOrder
Order of coordinates.
Definition qgis.h:1800
SelectionFlag
Flags which control feature selection behavior.
Definition qgis.h:1305
EndCapStyle
End cap styles for buffers.
Definition qgis.h:1602
BabelCommandFlag
Babel GPS format capabilities.
Definition qgis.h:1507
FieldDomainType
Types of field domain.
Definition qgis.h:2692
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2062
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2029
RasterPipeInterfaceRole
Sublayer flags.
Definition qgis.h:1061
CoverageValidityResult
Coverage validity results.
Definition qgis.h:1628
SymbolPreviewFlag
Symbol flags.
Definition qgis.h:567
AnnotationItemGuiFlag
Annotation item flags.
Definition qgis.h:1840
MapBoxGlStyleSourceType
Flags which control project capabilities.
Definition qgis.h:3011
LayoutUnitType
Types of layout units.
Definition qgis.h:3713
DashPatternLineEndingRule
Dash pattern line ending rules.
Definition qgis.h:2435
FieldMetadataProperty
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1253
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:4019
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition qgis.h:1341
HistoryProviderBackend
History provider backends.
Definition qgis.h:2617
RasterExportType
Raster file export types.
Definition qgis.h:1154
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition qgis.h:1213
TextVerticalAlignment
Text vertical alignment.
Definition qgis.h:2210
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:3075
GradientType
Gradient types.
Definition qgis.h:2351
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:2866
GpsFeatureType
Babel command flags.
Definition qgis.h:1521
VectorLayerTypeFlag
Vector layer type flags.
Definition qgis.h:308
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition qgis.h:1641
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:1894
SqlLayerDefinitionCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:763
VectorEditResult
Flags which control feature selection behavior.
Definition qgis.h:1326
Q_DECLARE_FLAGS(GeometryValidityFlags, GeometryValidityFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsGeometry
Geometry validity flags.
Axis
Cartesian axes.
Definition qgis.h:1813
VolumeUnit
Units of volume.
Definition qgis.h:3605
AttributeEditorType
Attribute editor types.
Definition qgis.h:3802
SymbolLayerUserFlag
Symbol layer flags.
Definition qgis.h:603
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:2893
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:2948
SnappingMode
SnappingMode defines on which layer the snapping is performed.
Definition qgis.h:495
SymbolType
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:368
RasterColorInterpretation
Raster color interpretation.
Definition qgis.h:3330
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:2853
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:2129
RendererUsage
Usage of the renderer.
Definition qgis.h:2578
SettingsTreeNodeOption
Options for named list nodes.
Definition qgis.h:424
BabelFormatCapability
GPS information component.
Definition qgis.h:1488
PostgresRelKind
Postgres database relkind options.
Definition qgis.h:3737
GpsConnectionType
GPS connection types.
Definition qgis.h:1368
Q_ENUM(InputControllerType)
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:2743
MetadataDateType
Date types for metadata.
Definition qgis.h:3312
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:3429
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:2191
SymbolFlag
Flags controlling behavior of symbols.
Definition qgis.h:553
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition qgis.h:2756
HttpMethod
Different methods of HTTP requests.
Definition qgis.h:712
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:182
SymbolCoordinateReference
Symbol coordinate reference modes.
Definition qgis.h:2366
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:3994
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1266
InputControllerType
Input controller types.
Definition qgis.h:3725
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:2540
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1293
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:1750
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:2631
AutoRefreshMode
Map layer properties.
Definition qgis.h:1696
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1229
SettingsOrigin
The setting origin describes where a setting is stored.
Definition qgis.h:3123
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:839
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:3895
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:1978
TextComponent
Text components.
Definition qgis.h:2175
TransformDirection
Flags for raster layer temporal capabilities.
Definition qgis.h:1966
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:2816
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition qgis.h:875
UpsideDownLabelHandling
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:982
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:1382
Q_DECLARE_FLAGS(MapSettingsFlags, MapSettingsFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsMapSettings
Map settings flags.
MapSettingsFlag
Coordinate transformation flags.
Definition qgis.h:1998
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1279
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:75
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
A store for object properties.
Holds data provider key, description, and associated shared library file or function pointer informat...
A fill symbol layer which places markers at random locations within polygons.
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:4265
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:4283
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:4272
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:4882
const double DEFAULT_LINE_WIDTH
Definition qgis.h:4920
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:4774
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:4603
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:4319
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:4467
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:4584
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:4642
const long GEO_EPSG_CRS_ID
Magic number for a geographic coord sys in EpsgCrsId ID format.
Definition qgis.h:4906
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:4450
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:4664
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:4935
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:4567
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference)
Definition qgis.h:4397
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:4484
const QList< T > qgsEnumList()
Returns a list all enum entries.
Definition qgis.h:4550
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:4434
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
Definition qgis.h:4380
CONSTLATIN1STRING geoProj4()
PROJ4 string that represents a geographic coord sys.
Definition qgis.h:4870
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:4364
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:4306
const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition qgis.h:4923
QMap< QString, QString > QgsStringMap
Definition qgis.h:4925
#define CONSTLATIN1STRING
Definition qgis.h:4823
CONSTLATIN1STRING geoWkt()
Wkt string that represents a geographic coord sys.
Definition qgis.h:4862
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:4409
const int USER_CRS_START_ID
Magick number that determines whether a projection crsid is a system (srs.db) or user (~/....
Definition qgis.h:4912
const long GEOSRID
Magic number for a geographic coord sys in POSTGIS SRID.
Definition qgis.h:4900
#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:4788
CONSTLATIN1STRING geoEpsgCrsAuthId()
Geographic coord sys from EPSG authority.
Definition qgis.h:4876
const long GEOCRS_ID
Magic number for a geographic coord sys in QGIS srs.db tbl_srs.srs_id.
Definition qgis.h:4903
const double DEFAULT_POINT_SIZE
Magic number that determines the default point size for point symbols.
Definition qgis.h:4919
#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