28 #include "qgis_core.h"
37 int QgisEvent = QEvent::User + 1;
73 static QString version();
80 static int versionInt();
87 static QString releaseName();
97 static QString devVersion();
114 Q_ENUM( MessageLevel )
135 ARGB32_Premultiplied = 13
148 Q_ENUM( VectorLayerTypeFlag )
150 Q_DECLARE_FLAGS( VectorLayerTypeFlags, VectorLayerTypeFlag )
164 Q_ENUM( PythonMacroMode )
176 Q_ENUM( FeatureCountState )
201 Q_ENUM( ScaleMethod )
212 Q_ENUM( SymbolRenderHint )
224 RendererShouldUseSymbolLevels = 1 << 0,
228 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
237 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
239 Q_ENUM( SymbolPreviewFlag )
250 DisableFeatureClipping = 1 << 0,
252 Q_ENUM( SymbolLayerFlag )
254 Q_DECLARE_FLAGS( SymbolLayerFlags, SymbolLayerFlag )
273 Q_ENUM( BrowserItemType )
286 Q_ENUM( BrowserItemState )
302 ItemRepresentsFile = 1 << 6,
304 Q_ENUM( BrowserItemCapability )
329 Q_ENUM( BrowserLayerType )
342 Q_ENUM( BrowserDirectoryMonitoring )
375 Q_ENUM( VectorExportResult )
383 SubsetStringFilter = 1 << 1,
384 GeometryColumn = 1 << 2,
385 PrimaryKeys = 1 << 3,
386 UnstableFeatureIds = 1 << 4
388 Q_ENUM( SqlLayerDefinitionCapability )
390 Q_DECLARE_FLAGS( SqlLayerDefinitionCapabilities, SqlLayerDefinitionCapability )
409 Q_ENUM( SqlKeywordCategory )
436 Q_ENUM( ActionStart )
448 Q_ENUM( UnplacedLabelVisibility )
458 ResolveGeometryType = 1 << 1,
459 CountFeatures = 1 << 2,
460 IncludeSystemTables = 1 << 3,
463 Q_DECLARE_FLAGS( SublayerQueryFlags, SublayerQueryFlag )
464 Q_ENUM( SublayerQueryFlag )
473 SystemTable = 1 << 0,
476 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
477 Q_ENUM( SublayerFlag )
495 Q_ENUM( RasterPipeInterfaceRole )
508 Q_ENUM( RasterResamplingStage )
519 TooManyVerticesInFace,
525 Q_ENUM( MeshEditingErrorType )
537 Q_ENUM( FilePathType )
547 AskExcludingRasterBands,
551 Q_ENUM( SublayerPromptMode )
565 Q_ENUM( SelectBehavior )
577 FetchFeatureFailed = 3,
580 Q_ENUM( VectorEditResult )
589 SemiTransparentCircle,
593 Q_ENUM( VertexMarkerType )
607 Q_ENUM( ContentStatus )
627 Q_ENUM( GpsQualityIndicator )
643 Q_DECLARE_FLAGS( BabelFormatCapabilities, BabelFormatCapability )
644 Q_ENUM( BabelFormatCapability )
654 QuoteFilePaths = 1 << 0,
657 Q_DECLARE_FLAGS( BabelCommandFlags, BabelCommandFlag )
658 Q_ENUM( BabelCommandFlag )
671 Q_ENUM( GpsFeatureType )
683 NothingHappened = 1000,
685 InvalidInputGeometryType,
687 SelectionIsGreaterThanOne,
691 AddPartSelectedGeometryNotFound,
692 AddPartNotMultiGeometry,
696 AddRingCrossesExistingRings,
697 AddRingNotInExistingFeature,
699 SplitCannotSplitPoint,
701 Q_ENUM( GeometryOperationResult )
725 Q_ENUM( GeometryValidationEngine )
750 Q_ENUM( EndCapStyle )
776 Q_ENUM( SpatialFilterType )
785 IncludeMetadataFile = 1 << 0,
786 IncludeStyleFile = 1 << 1,
789 Q_DECLARE_FLAGS( FileOperationFlags, FileOperationFlag )
790 Q_ENUM( FileOperationFlag )
799 UsersCannotToggleEditing = 1 << 0,
802 Q_DECLARE_FLAGS( MapLayerProperties, MapLayerProperty )
803 Q_ENUM( MapLayerProperty )
812 ScaleDependentBoundingBox = 1 << 0,
815 Q_DECLARE_FLAGS( AnnotationItemFlags, AnnotationItemFlag )
816 Q_ENUM( AnnotationItemFlag )
825 FlagNoCreationTools = 1 << 0,
828 Q_DECLARE_FLAGS( AnnotationItemGuiFlags, AnnotationItemGuiFlag )
829 Q_ENUM( AnnotationItemGuiFlag )
840 Q_ENUM( AnnotationItemNodeType )
853 Q_ENUM( AnnotationItemEditOperationResult )
869 Q_ENUM( VectorTemporalMode )
878 IncludeBeginExcludeEnd = 0,
879 IncludeBeginIncludeEnd,
881 Q_ENUM( VectorTemporalLimitMode )
892 StoresFeatureDateTimeStartAndEndInSeparateFields
SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
894 Q_ENUM( VectorDataProviderTemporalMode )
907 Q_ENUM( RasterTemporalMode )
916 MatchUsingWholeRange,
917 MatchExactUsingStartOfRange,
918 MatchExactUsingEndOfRange,
919 FindClosestMatchToStartOfRange,
920 FindClosestMatchToEndOfRange
922 Q_ENUM( TemporalIntervalMatchMethod )
934 Q_ENUM( TransformDirection )
944 DrawEditingInfo = 0x02,
945 ForceVectorOutput = 0x04,
946 UseAdvancedEffects = 0x08,
948 UseRenderingOptimization = 0x20,
949 DrawSelection = 0x40,
950 DrawSymbolBounds = 0x80,
951 RenderMapTile = 0x100,
952 RenderPartialOutput = 0x200,
953 RenderPreviewJob = 0x400,
954 RenderBlocking = 0x800,
955 LosslessImageRendering = 0x1000,
956 Render3DMap = 0x2000,
957 HighQualityImageTransforms = 0x4000,
958 SkipSymbolRendering = 0x8000,
971 DrawEditingInfo = 0x01,
972 ForceVectorOutput = 0x02,
973 UseAdvancedEffects = 0x04,
974 UseRenderingOptimization = 0x08,
975 DrawSelection = 0x10,
976 DrawSymbolBounds = 0x20,
977 RenderMapTile = 0x40,
979 RenderPartialOutput = 0x100,
980 RenderPreviewJob = 0x200,
981 RenderBlocking = 0x400,
982 RenderSymbolPreview = 0x800,
983 LosslessImageRendering = 0x1000,
984 ApplyScalingWorkaroundForTextRendering = 0x2000,
985 Render3DMap = 0x4000,
986 ApplyClipAfterReprojection = 0x8000,
987 RenderingSubSymbol = 0x10000,
988 HighQualityImageTransforms = 0x20000,
989 SkipSymbolRendering = 0x40000,
1007 Q_ENUM( TextRenderFormat )
1021 Q_ENUM( RenderSubcomponentProperty )
1032 Q_ENUM( VertexType )
1048 EquilateralTriangle,
1073 Q_ENUM( MarkerShape )
1086 LastVertex = 1 << 2,
1087 FirstVertex = 1 << 3,
1088 CentralPoint = 1 << 4,
1089 CurvePoint = 1 << 5,
1090 SegmentCenter = 1 << 6,
1091 InnerVertices = 1 << 7,
1093 Q_ENUM( MarkerLinePlacement )
1094 Q_DECLARE_FLAGS( MarkerLinePlacements, MarkerLinePlacement )
1095 Q_FLAG( MarkerLinePlacements )
1109 Q_ENUM( GradientColorSource )
1124 Q_ENUM( GradientType )
1138 Q_ENUM( SymbolCoordinateReference )
1154 Q_ENUM( GradientSpread )
1168 Q_ENUM( PointCountMethod )
1182 Q_ENUM( MarkerClipMode )
1195 Q_ENUM( LineClipMode )
1210 Q_ENUM( DashPatternLineEndingRule )
1219 ScaleBothDashAndGap,
1223 Q_ENUM( DashPatternSizeAdjustment )
1240 ForceFirstLetterToCapital = 4,
1243 UpperCamelCase = 1005,
1244 AllSmallCaps = 1006,
1246 Q_ENUM( Capitalization )
1257 Q_ENUM( TextRendererFlag )
1258 Q_DECLARE_FLAGS( TextRendererFlags, TextRendererFlag )
1259 Q_FLAG( TextRendererFlags )
1283 Q_ENUM( AngularDirection )
1296 Q_ENUM( RendererUsage )
1305 LocalProfile = 1 << 0,
1308 Q_ENUM( HistoryProviderBackend )
1309 Q_DECLARE_FLAGS( HistoryProviderBackends, HistoryProviderBackend )
1310 Q_FLAG( HistoryProviderBackends )
1322 Q_ENUM( CrsDefinitionFormat )
1328 static const
double DEFAULT_SEARCH_RADIUS_MM;
1331 static const
float DEFAULT_MAPTOPIXEL_THRESHOLD;
1339 static const QColor DEFAULT_HIGHLIGHT_COLOR;
1345 static const
double DEFAULT_HIGHLIGHT_BUFFER_MM;
1351 static const
double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
1359 static const
double SCALE_PRECISION;
1366 static const
double DEFAULT_Z_COORDINATE;
1373 static const
double DEFAULT_M_COORDINATE;
1380 static const
double UI_SCALE_FACTOR;
1386 static const
double DEFAULT_SNAP_TOLERANCE;
1399 static QString defaultProjectScales();
1406 static
int geosVersionInt();
1413 static
int geosVersionMajor();
1420 static
int geosVersionMinor();
1427 static
int geosVersionPatch();
1434 static QString geosVersion();
1463 #define cast_to_fptr(f) f
1485 , mPreviousState( object->blockSignals( true ) )
1490 mObject->blockSignals( mPreviousState );
1498 Object *mObject =
nullptr;
1499 bool mPreviousState;
1523 CORE_EXPORT uint
qHash(
const QVariant &variant );
1535 if (
str.contains( QLatin1Char(
'.' ) ) )
1538 int idx =
str.length() - 1;
1539 while (
str.at( idx ) ==
'0' && idx > 1 )
1543 if ( idx <
str.length() - 1 )
1544 str.truncate(
str.at( idx ) ==
'.' ? idx : idx + 1 );
1549 if (
str == QLatin1String(
"-0" ) )
1551 return QLatin1String(
"0" );
1564 const bool aIsNan = std::isnan( a );
1565 const bool bIsNan = std::isnan( b );
1566 if ( aIsNan || bIsNan )
1567 return aIsNan && bIsNan;
1578 inline bool qgsDoubleNear(
double a,
double b,
double epsilon = 4 * std::numeric_limits<double>::epsilon() )
1580 const bool aIsNan = std::isnan( a );
1581 const bool bIsNan = std::isnan( b );
1582 if ( aIsNan || bIsNan )
1583 return aIsNan && bIsNan;
1585 const double diff = a - b;
1586 return diff > -epsilon && diff <= epsilon;
1595 inline bool qgsFloatNear(
float a,
float b,
float epsilon = 4 * FLT_EPSILON )
1597 const bool aIsNan = std::isnan( a );
1598 const bool bIsNan = std::isnan( b );
1599 if ( aIsNan || bIsNan )
1600 return aIsNan && bIsNan;
1602 const float diff = a - b;
1603 return diff > -epsilon && diff <= epsilon;
1609 const bool aIsNan = std::isnan( a );
1610 const bool bIsNan = std::isnan( b );
1611 if ( aIsNan || bIsNan )
1612 return aIsNan && bIsNan;
1620 const double ar = std::frexp( a, &aexp );
1621 const double br = std::frexp( b, &bexp );
1623 return aexp == bexp &&
1634 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
1635 const double scaleFactor = std::pow( 10.0, places );
1636 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
1668 template<
typename To,
typename From>
inline To down_cast( From *f )
1671 ( std::is_base_of<From,
1672 typename std::remove_pointer<To>::type>::value ),
1673 "target type not derived from source type" );
1674 Q_ASSERT( f ==
nullptr ||
dynamic_cast<To
>( f ) !=
nullptr );
1675 return static_cast<To
>( f );
1679 QSet<T> listToSet(
const QList<T> &list )
1681 #if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
1682 return list.toSet();
1684 return QSet<T>( list.begin(), list.end() );
1689 QList<T> setToList(
const QSet<T> &set )
1691 #if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
1692 return set.toList();
1694 return QList<T>( set.begin(), set.end() );
1699 #if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
1702 template<>
struct hash<QString>
1704 std::size_t operator()(
const QString &s )
const noexcept
1706 return (
size_t )
qHash( s );
1722 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
1723 Q_ASSERT( metaEnum.isValid() );
1724 QMap<T, QString> enumMap;
1725 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
1727 const char *enumKey = metaEnum.key( idx );
1728 enumMap.insert(
static_cast<T
>( metaEnum.keyToValue( enumKey ) ), QString( enumKey ) );
1739 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
1740 Q_ASSERT( metaEnum.isValid() );
1741 return QString::fromUtf8( metaEnum.valueToKey(
static_cast<int>( value ) ) );
1752 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
1753 Q_ASSERT( metaEnum.isValid() );
1755 T v =
static_cast<T
>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
1763 if ( tryValueAsKey )
1765 bool canConvert =
false;
1766 const int intValue = key.toInt( &canConvert );
1767 if ( canConvert && metaEnum.valueToKey( intValue ) )
1769 return static_cast<T
>( intValue );
1773 return defaultValue;
1782 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
1783 Q_ASSERT( metaEnum.isValid() );
1784 return QString::fromUtf8( metaEnum.valueToKeys(
static_cast<int>( value ) ) );
1794 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
1795 Q_ASSERT( metaEnum.isValid() );
1797 T v =
static_cast<T
>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
1801 return defaultValue;
1857 CORE_EXPORT
bool qgsVariantEqual(
const QVariant &lhs,
const QVariant &rhs );
1867 #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
1875 inline bool operator> (
const QVariant &v1,
const QVariant &v2 )
1889 inline bool operator< (
const QVariant &v1,
const QVariant &v2 )
1896 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
1901 template<> CORE_EXPORT
bool qMapLessThanKey<QVariantList>(
const QVariantList &key1,
const QVariantList &key2 )
SIP_SKIP;
1904 CORE_EXPORT QString
qgsVsiPrefix(
const QString &path );
1922 #define CONSTLATIN1STRING inline const QLatin1String
1924 #define CONSTLATIN1STRING constexpr QLatin1String
1928 class ScopedIntIncrementor
1932 ScopedIntIncrementor(
int *variable )
1933 : mVariable( variable )
1938 ScopedIntIncrementor(
const ScopedIntIncrementor &other ) =
delete;
1939 ScopedIntIncrementor &operator=(
const ScopedIntIncrementor &other ) =
delete;
1946 mVariable =
nullptr;
1949 ~ScopedIntIncrementor()
1955 int *mVariable =
nullptr;
1965 return QLatin1String(
1966 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]] )"""
1973 return QLatin1String(
"+proj=longlat +datum=WGS84 +no_defs" );
1979 return QLatin1String(
"EPSG:4326" );
1985 return QLatin1String(
"NONE" );
1991 const int PREVIEW_JOB_DELAY_MS = 250;
1994 const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
2039 #if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
2041 #define Q_NOWARN_DEPRECATED_PUSH \
2042 _Pragma("GCC diagnostic push") \
2043 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
2044 #define Q_NOWARN_DEPRECATED_POP \
2045 _Pragma("GCC diagnostic pop");
2046 #define Q_NOWARN_UNREACHABLE_PUSH
2047 #define Q_NOWARN_UNREACHABLE_POP
2049 #elif defined(_MSC_VER)
2051 #define Q_NOWARN_DEPRECATED_PUSH \
2052 __pragma(warning(push)) \
2053 __pragma(warning(disable:4996))
2054 #define Q_NOWARN_DEPRECATED_POP \
2055 __pragma(warning(pop))
2056 #define Q_NOWARN_UNREACHABLE_PUSH \
2057 __pragma(warning(push)) \
2058 __pragma(warning(disable:4702))
2059 #define Q_NOWARN_UNREACHABLE_POP \
2060 __pragma(warning(pop))
2064 #define Q_NOWARN_DEPRECATED_PUSH
2065 #define Q_NOWARN_DEPRECATED_POP
2066 #define Q_NOWARN_UNREACHABLE_PUSH
2067 #define Q_NOWARN_UNREACHABLE_POP
2074 # define QGISEXTERN extern "C" __declspec( dllexport )
2076 # if defined(__GNUC__) || defined(__clang__)
2077 # define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
2079 # define QGISEXTERN extern "C"
2085 #if __cplusplus >= 201500
2086 #define FALLTHROUGH [[fallthrough]];
2087 #elif defined(__clang__)
2088 #define FALLTHROUGH [[clang::fallthrough]];
2089 #elif defined(__GNUC__) && __GNUC__ >= 7
2090 #define FALLTHROUGH [[gnu::fallthrough]];
2096 #if __cplusplus >= 201703L
2097 #define NODISCARD [[nodiscard]]
2098 #elif defined(__clang__)
2099 #define NODISCARD [[nodiscard]]
2100 #elif defined(_MSC_VER)
2102 #elif defined(__has_cpp_attribute)
2103 #if __has_cpp_attribute(nodiscard)
2104 #define NODISCARD [[nodiscard]]
2105 #elif __has_cpp_attribute(gnu::warn_unused_result)
2106 #define NODISCARD [[gnu::warn_unused_result]]
2108 #define NODISCARD Q_REQUIRED_RESULT
2111 #define NODISCARD Q_REQUIRED_RESULT
2114 #if __cplusplus >= 201703L
2115 #define MAYBE_UNUSED [[maybe_unused]]
2116 #elif defined(__clang__)
2117 #define MAYBE_UNUSED [[maybe_unused]]
2118 #elif defined(_MSC_VER)
2119 #define MAYBE_UNUSED
2120 #elif defined(__has_cpp_attribute)
2121 #if __has_cpp_attribute(gnu::unused)
2122 #define MAYBE_UNUSED [[gnu::unused]]
2124 #define MAYBE_UNUSED
2127 #define MAYBE_UNUSED
2136 #define BUILTIN_UNREACHABLE \
2138 #elif defined(__GNUC__) && !defined(__clang__)
2149 #define BUILTIN_UNREACHABLE \
2150 __builtin_unreachable();
2152 #define BUILTIN_UNREACHABLE
2162 QString CORE_EXPORT
geoWkt();
2171 QString CORE_EXPORT
geoNone();
The Qgis class provides global constants for use throughout the application.
GpsQualityIndicator
GPS signal quality indicator.
GeometryValidityFlag
Geometry validity check flags.
MapLayerProperty
File operation flags.
BufferSide
Side of line to buffer.
RasterResamplingStage
Stage at which raster resampling occurs.
VectorTemporalMode
Vector layer temporal feature modes.
SublayerFlag
Sublayer query flags.
DashPatternSizeAdjustment
Dash pattern size adjustment options.
AnnotationItemNodeType
Annotation item GUI flags.
static const char * QGIS_DEV_VERSION
The development version.
AngularDirection
Angular directions.
ContentStatus
Status for fetched or stored content.
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
GeometryOperationResult
Success or failure of a geometry operation.
BrowserItemState
Browser item states.
MarkerClipMode
Marker clipping modes.
AnnotationItemFlag
Map layer properties.
RenderSubcomponentProperty
Rendering subcomponent properties.
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
BrowserItemCapability
Browser item capabilities.
LineClipMode
Line clipping modes.
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
GradientColorSource
Gradient color sources.
VectorExportResult
Vector layer export result codes.
SymbolLayerFlag
Flags controlling behavior of symbol layers.
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
ScaleMethod
Scale methods.
FilePathType
File path types.
PointCountMethod
Methods which define the number of points randomly filling a polygon.
VertexType
Types of vertex.
GeometryValidationEngine
Available engines for validating geometries.
Q_ENUM(ScaleToTileZoomLevelMethod)
FileOperationFlag
File operation flags.
MessageLevel
Level for messages This will be used both for message log and message bar in application.
SqlKeywordCategory
SQL layer definition capabilities.
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
ActionStart
Enum to determine when an operation would begin.
MarkerShape
Marker shapes.
Capitalization
String capitalization options.
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
PythonMacroMode
Vector layer type flags.
UnplacedLabelVisibility
Unplaced label visibility.
CrsDefinitionFormat
CRS definition formats.
SpatialFilterType
Feature request spatial filter types.
BrowserItemType
Symbol layer flags.
RasterTemporalMode
Raster layer temporal modes.
JoinStyle
Join styles for buffers.
BrowserLayerType
Browser item layer types.
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
TextRenderFormat
Options for rendering text.
DataType
Raster data types.
Q_DECLARE_FLAGS(RenderContextFlags, RenderContextFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsRenderContext
Render context flags.
EndCapStyle
End cap styles for buffers.
BabelCommandFlag
Babel GPS format capabilities.
RenderContextFlag
Flags which affect rendering operations.
RasterPipeInterfaceRole
Sublayer flags.
SymbolPreviewFlag
Symbol flags.
AnnotationItemGuiFlag
Annotation item flags.
DashPatternLineEndingRule
Dash pattern line ending rules.
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
HistoryProviderBackend
History provider backends.
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
GradientType
Gradient types.
GpsFeatureType
Babel command flags.
VectorLayerTypeFlag
Vector layer type flags.
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
VectorEditResult
Specifies the result of a vector layer edit operation.
Q_DECLARE_FLAGS(GeometryValidityFlags, GeometryValidityFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsGeometry
Geometry validity flags.
RendererUsage
Usage of the renderer.
BabelFormatCapability
Babel GPS format capabilities.
SymbolFlag
Flags controlling behavior of symbols.
HttpMethod
Different methods of HTTP requests.
SymbolCoordinateReference
Symbol coordinate reference modes.
TextRendererFlag
Flags which control the behavior of rendering text.
TransformDirection
Indicates the direction (forward or inverse) of a transform.
Q_DECLARE_FLAGS(MapSettingsFlags, MapSettingsFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsMapSettings
Map settings flags.
MapSettingsFlag
Flags which adjust the way maps are rendered.
SelectBehavior
Specifies how a selection should be applied.
This class represents a coordinate reference system (CRS).
Abstract base class for curved geometry type.
Base class for all items in the model.
A geometry is the spatial representation of a feature.
Item that represents a layer that can be opened with one of the providers.
Base class for all map layer types.
The QgsMapSettings class contains configuration for rendering of the map.
Registry for temporary fetched files.
A fill symbol layer which places markers at random locations within polygons.
Implementation of data provider temporal properties for QgsRasterDataProviders.
Implementation of map layer temporal properties for raster layers.
Contains a pipeline of raster interfaces for sequential raster processing.
Contains information about the context of a rendering operation.
RAII signal blocking class.
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Object * operator->()
Returns pointer to blocked QObject.
Abstract base class for simple marker symbol layers.
Utility functions for working with strings.
Abstract base class for all rendered symbols.
Base class for templated line symbols, e.g.
This is the class is providing tolerance value in map unit values.
Implementation of data provider temporal properties for QgsVectorDataProviders.
This is the base class for vector data providers.
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.
FeatureCountState
Enumeration of feature count states.
QgsMapLayerType
Types of layers that can be added to a map.
@ PointCloudLayer
Point cloud layer. Added in QGIS 3.18.
@ MeshLayer
Mesh layer. Added in QGIS 3.2.
@ VectorLayer
Vector layer.
@ RasterLayer
Raster layer.
@ GroupLayer
Composite group layer. Added in QGIS 3.24.
@ VectorTileLayer
Vector tile layer. Added in QGIS 3.14.
@ AnnotationLayer
Contains freeform, georeferenced annotations. Added in QGIS 3.16.
@ PluginLayer
Plugin based layer.
int significantDigits(const Qgis::DataType rasterDataType)
Returns the maximum number of significant digits a for the given rasterDataType.
CONSTLATIN1STRING geoNone()
Constant that holds the string representation for "No ellips/No CRS".
const double DEFAULT_LINE_WIDTH
CORE_EXPORT uint qHash(const QVariant &variant)
Hash for QVariant.
bool operator>(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is greater than the second.
CORE_EXPORT QString qgsVsiPrefix(const QString &path)
CORE_EXPORT 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...
void CORE_EXPORT * qgsMalloc(size_t size)
Allocates size bytes and returns a pointer to the allocated memory.
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
QString qgsEnumValueToKey(const T &value)
Returns the value for the given key of an enum.
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
const long GEO_EPSG_CRS_ID
Magic number for a geographic coord sys in EpsgCrsId ID format.
CORE_EXPORT bool qgsVariantGreaterThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is greater than the second.
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...
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference)
CORE_EXPORT 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...
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
CONSTLATIN1STRING geoProj4()
PROJ4 string that represents a geographic coord sys.
T qgsFlagKeysToValue(const QString &keys, const T &defaultValue)
Returns the value corresponding to the given keys of a flag.
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
QMap< QString, QString > QgsStringMap
#define CONSTLATIN1STRING
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
CONSTLATIN1STRING geoWkt()
Wkt string that represents a geographic coord sys.
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
const int USER_CRS_START_ID
Magick number that determines whether a projection crsid is a system (srs.db) or user (~/....
QString qgsFlagValueToKeys(const T &value)
Returns the value for the given keys of a flag.
void CORE_EXPORT qgsFree(void *ptr)
Frees the memory space pointed to by ptr.
CORE_EXPORT qlonglong qgsPermissiveToLongLong(QString string, bool &ok)
Converts a string to an qlonglong in a permissive way, e.g., allowing for incorrect numbers of digits...
CORE_EXPORT 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...
CORE_EXPORT bool qgsVariantLessThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is less than the second.
const long GEOSRID
Magic number for a geographic coord sys in POSTGIS SRID.
bool operator<(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is less than the second.
CONSTLATIN1STRING geoEpsgCrsAuthId()
Geographic coord sys from EPSG authority.
const long GEOCRS_ID
Magic number for a geographic coord sys in QGIS srs.db tbl_srs.srs_id.
T qgsEnumKeyToValue(const QString &key, const T &defaultValue, bool tryValueAsKey=true)
Returns the value corresponding to the given key of an enum.
const double DEFAULT_POINT_SIZE
Magic number that determines the default point size for point symbols.
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
#define SIP_MONKEYPATCH_FLAGS_UNNEST(OUTSIDE_CLASS, FORMERNAME)
#define SIP_MONKEYPATCH_COMPAT_NAME(FORMERNAME)
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsField::ConfigurationFlags) CORE_EXPORT QDataStream &operator<<(QDataStream &out
Writes the field to stream out. QGIS version compatibility is not guaranteed.
Utility class for identifying a unique vertex within a geometry.