37int QgisEvent = QEvent::User + 1;
 
   61#define QHASH_FOR_CLASS_ENUM(T) \ 
   62  inline uint qHash(const T &t, uint seed) { \ 
   63    return ::qHash(static_cast<typename std::underlying_type<T>::type>(t), seed); \ 
   81    static QString version();
 
   88    static int versionInt();
 
   95    static QString releaseName();
 
  105    static QString devVersion();
 
  122    Q_ENUM( MessageLevel )
 
  143      ARGB32_Premultiplied = 13 
 
  159    Q_ENUM( CaptureTechnique )
 
  170    Q_ENUM( VectorLayerTypeFlag )
 
  172    Q_DECLARE_FLAGS( VectorLayerTypeFlags, VectorLayerTypeFlag )
 
  173    Q_FLAG( VectorLayerTypeFlags )
 
  187    Q_ENUM( PythonMacroMode )
 
  199    Q_ENUM( FeatureCountState )
 
  224    Q_ENUM( ScaleMethod )
 
  241    Q_ENUM( SettingsType )
 
  249      SaveFormerValue = 1 << 1, 
 
  250      SaveEnumFlagAsInt = 1 << 2, 
 
  252    Q_ENUM( SettingsOption )
 
  253    Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
 
  254    Q_FLAG( SettingsOptions )
 
  264      AdvancedConfiguration = 3, 
 
  266    Q_ENUM( SnappingMode )
 
  282    Q_ENUM( SnappingType )
 
  285    Q_FLAG( SnappingTypes )
 
  296    Q_ENUM( SymbolRenderHint )
 
  299    Q_FLAG( SymbolRenderHints )
 
  308      RendererShouldUseSymbolLevels = 1 << 0, 
 
  312    Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
 
  313    Q_FLAG( SymbolFlags )
 
  322      FlagIncludeCrosshairsForMarkerSymbols = 1 << 0, 
 
  324    Q_ENUM( SymbolPreviewFlag )
 
  327    Q_FLAG( SymbolPreviewFlags )
 
  336      DisableFeatureClipping = 1 << 0, 
 
  338    Q_ENUM( SymbolLayerFlag )
 
  340    Q_DECLARE_FLAGS( SymbolLayerFlags, SymbolLayerFlag )
 
  341    Q_FLAG( SymbolLayerFlags )
 
  360    Q_ENUM( BrowserItemType )
 
  373    Q_ENUM( BrowserItemState )
 
  389      ItemRepresentsFile = 1 << 6, 
 
  390      RefreshChildrenWhenItemIsRefreshed = 1 << 7, 
 
  392    Q_ENUM( BrowserItemCapability )
 
  395    Q_FLAG( BrowserItemCapabilities )
 
  418    Q_ENUM( BrowserLayerType )
 
  431    Q_ENUM( BrowserDirectoryMonitoring )
 
  464    Q_ENUM( VectorExportResult )
 
  472      SubsetStringFilter = 1 << 1,  
 
  473      GeometryColumn = 1 << 2,      
 
  474      PrimaryKeys = 1 << 3,         
 
  475      UnstableFeatureIds = 1 << 4   
 
  477    Q_ENUM( SqlLayerDefinitionCapability )
 
  479    Q_DECLARE_FLAGS( SqlLayerDefinitionCapabilities, SqlLayerDefinitionCapability )
 
  480    Q_FLAG( SqlLayerDefinitionCapabilities )
 
  499    Q_ENUM( SqlKeywordCategory )
 
  526    Q_ENUM( ActionStart )
 
  538    Q_ENUM( UnplacedLabelVisibility )
 
  548      AllowOverlapIfRequired, 
 
  549      AllowOverlapAtNoCost, 
 
  551    Q_ENUM( LabelOverlapHandling )
 
  568      OrderedPositionsAroundPoint, 
 
  572    Q_ENUM( LabelPlacement )
 
  597    Q_ENUM( LabelPredefinedPointPosition )
 
  612    Q_ENUM( LabelOffsetType )
 
  633    Q_ENUM( LabelQuadrantPosition )
 
  648    Q_ENUM( UpsideDownLabelHandling )
 
  665    Q_ENUM( LabelMultiLineAlignment )
 
  675      ResolveGeometryType = 1 << 1, 
 
  676      CountFeatures = 1 << 2, 
 
  677      IncludeSystemTables = 1 << 3, 
 
  680    Q_DECLARE_FLAGS( SublayerQueryFlags, SublayerQueryFlag )
 
  681    Q_ENUM( SublayerQueryFlag )
 
  682    Q_FLAG( SublayerQueryFlags )
 
  691      SystemTable = 1 << 0, 
 
  694    Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
 
  695    Q_ENUM( SublayerFlag )
 
  696    Q_FLAG( SublayerFlags )
 
  714    Q_ENUM( RasterPipeInterfaceRole )
 
  727    Q_ENUM( RasterResamplingStage )
 
  736      InternalLayerOpacityHandling = 1 << 0, 
 
  744    Q_DECLARE_FLAGS( RasterRendererFlags, RasterRendererFlag )
 
  746    Q_ENUM( RasterRendererFlag )
 
  747    Q_FLAG( RasterRendererFlags )
 
  758      TooManyVerticesInFace, 
 
  764    Q_ENUM( MeshEditingErrorType )
 
  776    Q_ENUM( FilePathType )
 
  786      AskExcludingRasterBands, 
 
  790    Q_ENUM( SublayerPromptMode )
 
  804    Q_ENUM( SelectBehavior )
 
  816    Q_ENUM( SelectGeometryRelationship )
 
  825      SingleFeatureSelection = 1 << 0, 
 
  826      ToggleSelection = 1 << 1, 
 
  834    Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
 
  836    Q_ENUM( SelectionFlag )
 
  837    Q_FLAG( SelectionFlags )
 
  849      FetchFeatureFailed = 3, 
 
  852    Q_ENUM( VectorEditResult )
 
  861      SemiTransparentCircle, 
 
  865    Q_ENUM( VertexMarkerType )
 
  879    Q_ENUM( ContentStatus )
 
  899    Q_ENUM( GpsQualityIndicator )
 
  915    Q_DECLARE_FLAGS( BabelFormatCapabilities, BabelFormatCapability )
 
  916    Q_ENUM( BabelFormatCapability )
 
  917    Q_FLAG( BabelFormatCapabilities )
 
  927      QuoteFilePaths = 1 << 0, 
 
  930    Q_DECLARE_FLAGS( BabelCommandFlags, BabelCommandFlag )
 
  931    Q_ENUM( BabelCommandFlag )
 
  932    Q_FLAG( BabelCommandFlags )
 
  945    Q_ENUM( GpsFeatureType )
 
  957      NothingHappened = 1000, 
 
  959      InvalidInputGeometryType, 
 
  961      SelectionIsGreaterThanOne, 
 
  965      AddPartSelectedGeometryNotFound, 
 
  966      AddPartNotMultiGeometry, 
 
  970      AddRingCrossesExistingRings, 
 
  971      AddRingNotInExistingFeature, 
 
  973      SplitCannotSplitPoint, 
 
  975    Q_ENUM( GeometryOperationResult )
 
  989    Q_FLAG( GeometryValidityFlags )
 
 1000    Q_ENUM( GeometryValidationEngine )
 
 1012    Q_ENUM( BufferSide )
 
 1025    Q_ENUM( EndCapStyle )
 
 1050    Q_ENUM( MakeValidMethod )
 
 1063    Q_ENUM( SpatialFilterType )
 
 1072      IncludeMetadataFile = 1 << 0, 
 
 1073      IncludeStyleFile = 1 << 1, 
 
 1076    Q_DECLARE_FLAGS( FileOperationFlags, FileOperationFlag )
 
 1077    Q_ENUM( FileOperationFlag )
 
 1078    Q_FLAG( FileOperationFlags )
 
 1087      UsersCannotToggleEditing = 1 << 0, 
 
 1088      IsBasemapLayer = 1 << 1, 
 
 1091    Q_DECLARE_FLAGS( MapLayerProperties, MapLayerProperty )
 
 1092    Q_ENUM( MapLayerProperty )
 
 1093    Q_FLAG( MapLayerProperties )
 
 1102      IsBasemapSource = 1 << 1, 
 
 1105    Q_DECLARE_FLAGS( DataProviderFlags, DataProviderFlag )
 
 1106    Q_ENUM( DataProviderFlag )
 
 1107    Q_FLAG( DataProviderFlags )
 
 1159    Q_ENUM( CrsAxisDirection )
 
 1172    Q_ENUM( CoordinateOrder )
 
 1181      ScaleDependentBoundingBox = 1 << 0, 
 
 1184    Q_DECLARE_FLAGS( AnnotationItemFlags, AnnotationItemFlag )
 
 1185    Q_ENUM( AnnotationItemFlag )
 
 1186    Q_FLAG( AnnotationItemFlags )
 
 1195      FlagNoCreationTools = 1 << 0,  
 
 1198    Q_DECLARE_FLAGS( AnnotationItemGuiFlags, AnnotationItemGuiFlag )
 
 1199    Q_ENUM( AnnotationItemGuiFlag )
 
 1200    Q_FLAG( AnnotationItemGuiFlags )
 
 1211    Q_ENUM( AnnotationItemNodeType )
 
 1224    Q_ENUM( AnnotationItemEditOperationResult )
 
 1240    Q_ENUM( VectorTemporalMode )
 
 1249      IncludeBeginExcludeEnd = 0, 
 
 1250      IncludeBeginIncludeEnd, 
 
 1252    Q_ENUM( VectorTemporalLimitMode )
 
 1263      StoresFeatureDateTimeStartAndEndInSeparateFields 
SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ), 
 
 1265    Q_ENUM( VectorDataProviderTemporalMode )
 
 1278    Q_ENUM( RasterTemporalMode )
 
 1287      MatchUsingWholeRange, 
 
 1288      MatchExactUsingStartOfRange, 
 
 1289      MatchExactUsingEndOfRange, 
 
 1290      FindClosestMatchToStartOfRange, 
 
 1291      FindClosestMatchToEndOfRange 
 
 1293    Q_ENUM( TemporalIntervalMatchMethod )
 
 1302      RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0, 
 
 1304    Q_ENUM( RasterTemporalCapabilityFlag )
 
 1311    Q_DECLARE_FLAGS( RasterTemporalCapabilityFlags, RasterTemporalCapabilityFlag )
 
 1312    Q_ENUM( RasterTemporalCapabilityFlags )
 
 1324    Q_ENUM( TransformDirection )
 
 1333      BallparkTransformsAreAppropriate = 1 << 0, 
 
 1334      IgnoreImpossibleTransformations = 1 << 1, 
 
 1336    Q_ENUM( CoordinateTransformationFlag )
 
 1343    Q_DECLARE_FLAGS( CoordinateTransformationFlags, CoordinateTransformationFlag )
 
 1344    Q_ENUM( CoordinateTransformationFlags )
 
 1353      Antialiasing             = 0x01,  
 
 1354      DrawEditingInfo          = 0x02,  
 
 1355      ForceVectorOutput        = 0x04,  
 
 1356      UseAdvancedEffects       = 0x08,  
 
 1357      DrawLabeling             = 0x10,  
 
 1358      UseRenderingOptimization = 0x20,  
 
 1359      DrawSelection            = 0x40,  
 
 1360      DrawSymbolBounds         = 0x80,  
 
 1361      RenderMapTile            = 0x100, 
 
 1362      RenderPartialOutput      = 0x200, 
 
 1363      RenderPreviewJob         = 0x400, 
 
 1364      RenderBlocking           = 0x800, 
 
 1365      LosslessImageRendering   = 0x1000, 
 
 1366      Render3DMap              = 0x2000, 
 
 1367      HighQualityImageTransforms = 0x4000, 
 
 1368      SkipSymbolRendering      = 0x8000, 
 
 1369      ForceRasterMasks         = 0x10000,  
 
 1374    Q_FLAG( MapSettingsFlags )
 
 1383      DrawEditingInfo          = 0x01,  
 
 1384      ForceVectorOutput        = 0x02,  
 
 1385      UseAdvancedEffects       = 0x04,  
 
 1386      UseRenderingOptimization = 0x08,  
 
 1387      DrawSelection            = 0x10,  
 
 1388      DrawSymbolBounds         = 0x20,  
 
 1389      RenderMapTile            = 0x40,  
 
 1390      Antialiasing             = 0x80,  
 
 1391      RenderPartialOutput      = 0x100, 
 
 1392      RenderPreviewJob         = 0x200, 
 
 1393      RenderBlocking           = 0x400, 
 
 1394      RenderSymbolPreview      = 0x800, 
 
 1395      LosslessImageRendering   = 0x1000, 
 
 1396      ApplyScalingWorkaroundForTextRendering = 0x2000, 
 
 1397      Render3DMap              = 0x4000, 
 
 1398      ApplyClipAfterReprojection = 0x8000, 
 
 1399      RenderingSubSymbol       = 0x10000, 
 
 1400      HighQualityImageTransforms = 0x20000, 
 
 1401      SkipSymbolRendering      = 0x40000, 
 
 1406    Q_FLAG( RenderContextFlags )
 
 1420    Q_ENUM( TextRenderFormat )
 
 1435    Q_ENUM( TextOrientation )
 
 1450    Q_ENUM( TextLayoutMode )
 
 1466    Q_ENUM( TextComponent )
 
 1482    Q_ENUM( TextHorizontalAlignment )
 
 1497    Q_ENUM( TextVerticalAlignment )
 
 1511    Q_ENUM( RenderSubcomponentProperty )
 
 1522    Q_ENUM( VertexType )
 
 1538      EquilateralTriangle, 
 
 1571    Q_ENUM( MarkerShape )
 
 1584      LastVertex = 1 << 2, 
 
 1585      FirstVertex = 1 << 3, 
 
 1586      CentralPoint = 1 << 4, 
 
 1587      CurvePoint = 1 << 5, 
 
 1588      SegmentCenter = 1 << 6, 
 
 1589      InnerVertices = 1 << 7, 
 
 1591    Q_ENUM( MarkerLinePlacement )
 
 1592    Q_DECLARE_FLAGS( MarkerLinePlacements, MarkerLinePlacement )
 
 1593    Q_FLAG( MarkerLinePlacements )
 
 1607    Q_ENUM( GradientColorSource )
 
 1622    Q_ENUM( GradientType )
 
 1636    Q_ENUM( SymbolCoordinateReference )
 
 1652    Q_ENUM( GradientSpread )
 
 1666    Q_ENUM( PointCountMethod )
 
 1680    Q_ENUM( MarkerClipMode )
 
 1693    Q_ENUM( LineClipMode )
 
 1708    Q_ENUM( DashPatternLineEndingRule )
 
 1717      ScaleBothDashAndGap, 
 
 1721    Q_ENUM( DashPatternSizeAdjustment )
 
 1735    Q_ENUM( GraduatedMethod )
 
 1766      ForceFirstLetterToCapital = 4, 
 
 1769      UpperCamelCase = 1005, 
 
 1770      AllSmallCaps = 1006, 
 
 1772    Q_ENUM( Capitalization )
 
 1783    Q_ENUM( TextRendererFlag )
 
 1784    Q_DECLARE_FLAGS( TextRendererFlags, TextRendererFlag )
 
 1785    Q_FLAG( TextRendererFlags )
 
 1809    Q_ENUM( AngularDirection )
 
 1822    Q_ENUM( RendererUsage )
 
 1831      Sync3DTo2D = 1 << 0, 
 
 1832      Sync2DTo3D = 1 << 1, 
 
 1834    Q_ENUM( ViewSyncModeFlag )
 
 1835    Q_DECLARE_FLAGS( ViewSyncModeFlags, ViewSyncModeFlag )
 
 1844      LocalProfile = 1 << 0, 
 
 1847    Q_ENUM( HistoryProviderBackend )
 
 1848    Q_DECLARE_FLAGS( HistoryProviderBackends, HistoryProviderBackend )
 
 1849    Q_FLAG( HistoryProviderBackends )
 
 1861    Q_ENUM( CrsDefinitionFormat )
 
 1877    Q_ENUM( FieldDomainSplitPolicy )
 
 1893    Q_ENUM( FieldDomainMergePolicy )
 
 1906    Q_ENUM( FieldDomainType )
 
 1916      AutomaticGroups = 1, 
 
 1919    Q_ENUM( TransactionMode )
 
 1932    Q_ENUM( AltitudeClamping )
 
 1944    Q_ENUM( AltitudeBinding )
 
 1957    Q_ENUM( BetweenLineConstraint )
 
 1970    Q_ENUM( LineExtensionSide )
 
 1979      EvaluateDefaultValuesOnProviderSide = 1 << 0, 
 
 1980      TrustStoredLayerStatistics = 1 << 1, 
 
 1981      RememberLayerEditStatusBetweenSessions = 1 << 2, 
 
 1982      RememberAttributeTableWindowsBetweenSessions = 1 << 3, 
 
 1984    Q_ENUM( ProjectFlag )
 
 1985    Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
 
 1986    Q_FLAG( ProjectFlags )
 
 1995      ShowContextMenu = 1 << 0, 
 
 1997    Q_ENUM( PlotToolFlag )
 
 1998    Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
 
 1999    Q_FLAG( PlotToolFlags )
 
 2011    Q_ENUM( LightSourceType )
 
 2044      RespectsMaximumErrorMapUnit = 1 << 0, 
 
 2045      RespectsDistanceRange = 1 << 1, 
 
 2046      RespectsElevationRange = 1 << 2, 
 
 2048    Q_ENUM( ProfileGeneratorFlag )
 
 2049    Q_DECLARE_FLAGS( ProfileGeneratorFlags, ProfileGeneratorFlag )
 
 2050    Q_FLAG( ProfileGeneratorFlags )
 
 2062    Q_ENUM( PointCloudSymbol )
 
 2075    Q_ENUM( PointCloudDrawOrder )
 
 2087      AvoidIntersectionsCurrentLayer, 
 
 2088      AvoidIntersectionsLayers, 
 
 2090    Q_ENUM( AvoidIntersectionsMode )
 
 2104    Q_ENUM( ProjectFileFormat )
 
 2120      DontLoadProjectStyles = 1 << 5, 
 
 2121      ForceReadOnlyLayers = 1 << 6, 
 
 2123    Q_ENUM( ProjectReadFlag )
 
 2133    Q_FLAG( ProjectReadFlags )
 
 2145      ProjectStyles = 1 << 0, 
 
 2147    Q_ENUM( ProjectCapability )
 
 2154    Q_DECLARE_FLAGS( ProjectCapabilities, ProjectCapability )
 
 2155    Q_FLAG( ProjectCapabilities )
 
 2172    Q_ENUM( MapBoxGlStyleSourceType )
 
 2191    Q_ENUM( ArcGisRestServiceType )
 
 2205    Q_ENUM( RelationshipType )
 
 2219    Q_ENUM( RelationshipStrength )
 
 2233    Q_ENUM( RelationshipCardinality )
 
 2246    Q_ENUM( CoordinateDisplayType )
 
 2252    static const 
double DEFAULT_SEARCH_RADIUS_MM;
 
 2255    static const 
float DEFAULT_MAPTOPIXEL_THRESHOLD;
 
 2263    static const QColor DEFAULT_HIGHLIGHT_COLOR;
 
 2269    static const 
double DEFAULT_HIGHLIGHT_BUFFER_MM;
 
 2275    static const 
double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
 
 2283    static const 
double SCALE_PRECISION;
 
 2290    static const 
double DEFAULT_Z_COORDINATE;
 
 2297    static const 
double DEFAULT_M_COORDINATE;
 
 2304    static const 
double UI_SCALE_FACTOR;
 
 2310    static const 
double DEFAULT_SNAP_TOLERANCE;
 
 2323    static QString defaultProjectScales();
 
 2330    static 
int geosVersionInt();
 
 2337    static 
int geosVersionMajor();
 
 2344    static 
int geosVersionMinor();
 
 2351    static 
int geosVersionPatch();
 
 2358    static QString geosVersion();
 
 2399#define cast_to_fptr(f) f 
 2421      , mPreviousState( object->blockSignals( true ) )
 
 2426      mObject->blockSignals( mPreviousState );
 
 2434    Object *mObject = 
nullptr;
 
 2435    bool mPreviousState;
 
 2459CORE_EXPORT uint 
qHash( 
const QVariant &variant );
 
 2473      const double roundFactor = std::pow( 10, -
precision );
 
 2474      str = QString::number( 
static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
 
 2479      if ( 
str.contains( QLatin1Char( 
'.' ) ) )
 
 2482        int idx = 
str.length() - 1;
 
 2483        while ( 
str.at( idx ) == 
'0' && idx > 1 )
 
 2487        if ( idx < 
str.length() - 1 )
 
 2488          str.truncate( 
str.at( idx ) == 
'.' ? idx : idx + 1 );
 
 2498  if ( 
str == QLatin1String( 
"-0" ) )
 
 2500    return QLatin1String( 
"0" );
 
 2513  const bool aIsNan = std::isnan( a );
 
 2514  const bool bIsNan = std::isnan( b );
 
 2515  if ( aIsNan || bIsNan )
 
 2516    return aIsNan && bIsNan;
 
 2527inline bool qgsDoubleNear( 
double a, 
double b, 
double epsilon = 4 * std::numeric_limits<double>::epsilon() )
 
 2529  const bool aIsNan = std::isnan( a );
 
 2530  const bool bIsNan = std::isnan( b );
 
 2531  if ( aIsNan || bIsNan )
 
 2532    return aIsNan && bIsNan;
 
 2534  const double diff = a - b;
 
 2535  return diff > -epsilon && diff <= epsilon;
 
 2544inline bool qgsFloatNear( 
float a, 
float b, 
float epsilon = 4 * FLT_EPSILON )
 
 2546  const bool aIsNan = std::isnan( a );
 
 2547  const bool bIsNan = std::isnan( b );
 
 2548  if ( aIsNan || bIsNan )
 
 2549    return aIsNan && bIsNan;
 
 2551  const float diff = a - b;
 
 2552  return diff > -epsilon && diff <= epsilon;
 
 2558  const bool aIsNan = std::isnan( a );
 
 2559  const bool bIsNan = std::isnan( b );
 
 2560  if ( aIsNan || bIsNan )
 
 2561    return aIsNan && bIsNan;
 
 2569  const double ar = std::frexp( a, &aexp );
 
 2570  const double br = std::frexp( b, &bexp );
 
 2572  return aexp == bexp &&
 
 2583  const double m = ( number < 0.0 ) ? -1.0 : 1.0;
 
 2584  const double scaleFactor = std::pow( 10.0, places );
 
 2585  return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
 
 2617  template<
typename To, 
typename From> 
inline To down_cast( From *f )
 
 2620      ( std::is_base_of<From,
 
 2621        typename std::remove_pointer<To>::type>::value ),
 
 2622      "target type not derived from source type" );
 
 2623    Q_ASSERT( f == 
nullptr || 
dynamic_cast<To
>( f ) != 
nullptr );
 
 2624    return static_cast<To
>( f );
 
 2628  QSet<T> listToSet( 
const QList<T> &list )
 
 2630    return QSet<T>( list.begin(), list.end() );
 
 2634  QList<T> setToList( 
const QSet<T> &set )
 
 2636    return QList<T>( set.begin(), set.end() );
 
 2649  const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
 
 2650  Q_ASSERT( metaEnum.isValid() );
 
 2652  for ( 
int idx = 0; idx < metaEnum.keyCount(); ++idx )
 
 2654    enumList.append( 
static_cast<T
>( metaEnum.value( idx ) ) );
 
 2666  const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
 
 2667  Q_ASSERT( metaEnum.isValid() );
 
 2668  QMap<T, QString> enumMap;
 
 2669  for ( 
int idx = 0; idx < metaEnum.keyCount(); ++idx )
 
 2671    enumMap.insert( 
static_cast<T
>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
 
 2683  const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
 
 2684  Q_ASSERT( metaEnum.isValid() );
 
 2685  const char *key = metaEnum.valueToKey( 
static_cast<int>( value ) );
 
 2688    *returnOk = key ? true : 
false;
 
 2690  return QString::fromUtf8( key );
 
 2700template<
class T> T 
qgsEnumKeyToValue( 
const QString &key, 
const T &defaultValue, 
bool tryValueAsKey = 
true,  
bool *returnOk = 
nullptr ) 
SIP_SKIP 
 2702  const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
 
 2703  Q_ASSERT( metaEnum.isValid() );
 
 2705  T v = 
static_cast<T
>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
 
 2717    if ( tryValueAsKey )
 
 2719      bool canConvert = 
false;
 
 2720      const int intValue = key.toInt( &canConvert );
 
 2721      if ( canConvert && metaEnum.valueToKey( intValue ) )
 
 2727        return static_cast<T
>( intValue );
 
 2731  return defaultValue;
 
 2741  const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
 
 2742  Q_ASSERT( metaEnum.isValid() );
 
 2743  int intValue = 
static_cast<int>( value );
 
 2744  const QByteArray ba = metaEnum.valueToKeys( intValue );
 
 2747  const int intValueCheck = metaEnum.keysToValue( ba );
 
 2748  bool ok = intValue == intValueCheck;
 
 2751  return ok ? QString::fromUtf8( ba ) : QString();
 
 2761template<
class T> T 
qgsFlagKeysToValue( 
const QString &keys, 
const T &defaultValue, 
bool tryValueAsKey = 
true,  
bool *returnOk = 
nullptr ) 
SIP_SKIP 
 2763  const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
 
 2764  Q_ASSERT( metaEnum.isValid() );
 
 2766  T v = 
static_cast<T
>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
 
 2778    if ( tryValueAsKey )
 
 2780      bool canConvert = 
false;
 
 2781      const int intValue = keys.toInt( &canConvert );
 
 2784        const QByteArray keys = metaEnum.valueToKeys( intValue );
 
 2785        const int intValueCheck = metaEnum.keysToValue( keys );
 
 2786        if ( intValue == intValueCheck )
 
 2792          return T( intValue );
 
 2797  return defaultValue;
 
 2853CORE_EXPORT 
bool qgsVariantEqual( 
const QVariant &lhs, 
const QVariant &rhs );
 
 2863#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) 
 2871inline bool operator> ( 
const QVariant &v1, 
const QVariant &v2 )
 
 2885inline bool operator< ( 
const QVariant &v1, 
const QVariant &v2 )
 
 2892#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) 
 2897template<> CORE_EXPORT 
bool qMapLessThanKey<QVariantList>( 
const QVariantList &key1, 
const QVariantList &key2 ) 
SIP_SKIP;
 
 2900CORE_EXPORT QString 
qgsVsiPrefix( 
const QString &path );
 
 2918#define CONSTLATIN1STRING inline const QLatin1String 
 2920#define CONSTLATIN1STRING constexpr QLatin1String 
 2924class ScopedIntIncrementor
 
 2928    ScopedIntIncrementor( 
int *variable )
 
 2929      : mVariable( variable )
 
 2934    ScopedIntIncrementor( 
const ScopedIntIncrementor &other ) = 
delete;
 
 2935    ScopedIntIncrementor &operator=( 
const ScopedIntIncrementor &other ) = 
delete;
 
 2942      mVariable = 
nullptr;
 
 2945    ~ScopedIntIncrementor()
 
 2951    int *mVariable = 
nullptr;
 
 2961  return QLatin1String(
 
 2962           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]] )""" 
 2969  return QLatin1String( 
"+proj=longlat +datum=WGS84 +no_defs" );
 
 2975  return QLatin1String( 
"EPSG:4326" );
 
 2981  return QLatin1String( 
"NONE" );
 
 2987const int PREVIEW_JOB_DELAY_MS = 250;
 
 2990const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
 
 3035#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__) 
 3037#define Q_NOWARN_DEPRECATED_PUSH \ 
 3038  _Pragma("GCC diagnostic push") \
 
 3039  _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
 
 3040#define Q_NOWARN_DEPRECATED_POP \ 
 3041  _Pragma("GCC diagnostic pop");
 
 3042#define Q_NOWARN_UNREACHABLE_PUSH 
 3043#define Q_NOWARN_UNREACHABLE_POP 
 3045#elif defined(_MSC_VER) 
 3047#define Q_NOWARN_DEPRECATED_PUSH \ 
 3048  __pragma(warning(push)) \ 
 3049  __pragma(warning(disable:4996)) 
 3050#define Q_NOWARN_DEPRECATED_POP \ 
 3051  __pragma(warning(pop)) 
 3052#define Q_NOWARN_UNREACHABLE_PUSH \ 
 3053  __pragma(warning(push)) \ 
 3054  __pragma(warning(disable:4702)) 
 3055#define Q_NOWARN_UNREACHABLE_POP \ 
 3056  __pragma(warning(pop)) 
 3060#define Q_NOWARN_DEPRECATED_PUSH 
 3061#define Q_NOWARN_DEPRECATED_POP 
 3062#define Q_NOWARN_UNREACHABLE_PUSH 
 3063#define Q_NOWARN_UNREACHABLE_POP 
 3070#  define QGISEXTERN extern "C" __declspec( dllexport )
 
 3072#  if defined(__GNUC__) || defined(__clang__) 
 3073#    define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
 
 3075#    define QGISEXTERN extern "C" 
 3081#if __cplusplus >= 201500 
 3082#define FALLTHROUGH [[fallthrough]]; 
 3083#elif defined(__clang__) 
 3084#define FALLTHROUGH [[clang::fallthrough]]; 
 3085#elif defined(__GNUC__) && __GNUC__ >= 7 
 3086#define FALLTHROUGH [[gnu::fallthrough]]; 
 3092#if __cplusplus >= 201703L 
 3093#define NODISCARD [[nodiscard]] 
 3094#elif defined(__clang__) 
 3095#define NODISCARD [[nodiscard]] 
 3096#elif defined(_MSC_VER) 
 3098#elif defined(__has_cpp_attribute) 
 3099#if __has_cpp_attribute(nodiscard) 
 3100#define NODISCARD [[nodiscard]] 
 3101#elif __has_cpp_attribute(gnu::warn_unused_result) 
 3102#define NODISCARD [[gnu::warn_unused_result]] 
 3104#define NODISCARD Q_REQUIRED_RESULT 
 3107#define NODISCARD Q_REQUIRED_RESULT 
 3110#if __cplusplus >= 201703L 
 3111#define MAYBE_UNUSED [[maybe_unused]] 
 3112#elif defined(__clang__) 
 3113#define MAYBE_UNUSED [[maybe_unused]] 
 3114#elif defined(_MSC_VER) 
 3116#elif defined(__has_cpp_attribute) 
 3117#if __has_cpp_attribute(gnu::unused) 
 3118#define MAYBE_UNUSED [[gnu::unused]] 
 3132#define BUILTIN_UNREACHABLE \ 
 3134#elif defined(__GNUC__) && !defined(__clang__) 
 3145#define BUILTIN_UNREACHABLE \ 
 3146  __builtin_unreachable(); 
 3148#define BUILTIN_UNREACHABLE 
 3158QString CORE_EXPORT 
geoWkt();
 
The Qgis class provides global constants for use throughout the application.
 
SettingsOption
Settings options.
 
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
 
GpsQualityIndicator
GPS signal quality indicator.
 
ProjectReadFlag
Flags which control project read behavior.
 
PointCloudSymbol
Rendering symbols for point cloud points.
 
GeometryValidityFlag
Geometry validity check flags.
 
MapLayerProperty
File operation flags.
 
BufferSide
Side of line to buffer.
 
RasterResamplingStage
Stage at which raster resampling occurs.
 
AltitudeClamping
Altitude clamping.
 
VectorTemporalMode
Vector layer temporal feature modes.
 
SublayerFlag
Sublayer query flags.
 
CoordinateDisplayType
Formats for displaying coordinates.
 
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.
 
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
 
RelationshipStrength
Relationship strength.
 
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
Flags for annotation items.
 
RenderSubcomponentProperty
Rendering subcomponent properties.
 
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
 
CaptureTechnique
Capture technique.
 
BrowserItemCapability
Browser item capabilities.
 
LineClipMode
Line clipping modes.
 
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
 
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
 
GradientColorSource
Gradient color sources.
 
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
 
VectorExportResult
Vector layer export result codes.
 
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
 
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.
 
DataProviderFlag
Map layer properties.
 
GeometryValidationEngine
Available engines for validating geometries.
 
TransactionMode
Transaction mode.
 
Q_ENUM(ScaleToTileZoomLevelMethod)
 
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
 
FileOperationFlag
File operation flags.
 
ProjectCapability
Flags which control project capabilities.
 
Q_ENUM(VectorProfileType)
 
FieldDomainMergePolicy
Merge policy for field domains.
 
MessageLevel
Level for messages This will be used both for message log and message bar in application.
 
SqlKeywordCategory
SQL layer definition capabilities.
 
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
 
TextLayoutMode
Text layout modes.
 
RasterRendererFlag
Flags which control behavior of raster renderers.
 
MeshEditingErrorType
Flags which control behavior of raster renderers.
 
FieldDomainSplitPolicy
Split policy for field domains.
 
ArcGisRestServiceType
Available ArcGIS REST service types.
 
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
 
ActionStart
Enum to determine when an operation would begin.
 
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
 
MarkerShape
Marker shapes.
 
Capitalization
String capitalization options.
 
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
 
LabelQuadrantPosition
Label quadrant positions.
 
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.
 
TextOrientation
Text orientations.
 
PythonMacroMode
Vector layer type flags.
 
UnplacedLabelVisibility
Unplaced label visibility.
 
CrsDefinitionFormat
CRS definition formats.
 
SpatialFilterType
Feature request spatial filter types.
 
ProjectFlag
Flags which control the behavior of QgsProjects.
 
BrowserItemType
Symbol layer flags.
 
SettingsType
Types of settings entries.
 
RasterTemporalMode
Raster layer temporal modes.
 
RelationshipType
Relationship types.
 
JoinStyle
Join styles for buffers.
 
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
 
BrowserLayerType
Browser item layer types.
 
AltitudeBinding
Altitude binding.
 
LabelMultiLineAlignment
Text alignment for multi-line labels.
 
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
 
TextRenderFormat
Options for rendering text.
 
DataType
Raster data types.
 
Q_ENUM(ProfileSurfaceSymbology)
 
Q_DECLARE_FLAGS(RenderContextFlags, RenderContextFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsRenderContext
Render context flags.
 
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
 
CoordinateOrder
Order of coordinates.
 
SelectionFlag
Flags which control feature selection behavior.
 
EndCapStyle
End cap styles for buffers.
 
BabelCommandFlag
Babel GPS format capabilities.
 
FieldDomainType
Types of field domain.
 
RenderContextFlag
Flags which affect rendering operations.
 
RasterPipeInterfaceRole
Sublayer flags.
 
SymbolPreviewFlag
Symbol flags.
 
AnnotationItemGuiFlag
Annotation item flags.
 
MapBoxGlStyleSourceType
Flags which control project capabilities.
 
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.
 
TextVerticalAlignment
Text vertical alignment.
 
RelationshipCardinality
Relationship cardinality.
 
GradientType
Gradient types.
 
VectorProfileType
Types of elevation profiles to generate for vector sources.
 
GpsFeatureType
Babel command flags.
 
VectorLayerTypeFlag
Vector layer type flags.
 
MakeValidMethod
Algorithms to use when repairing invalid geometries.
 
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
Flags which control feature selection behavior.
 
Q_DECLARE_FLAGS(GeometryValidityFlags, GeometryValidityFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsGeometry
Geometry validity flags.
 
ProjectFileFormat
Flags which control project read behavior.
 
SnappingMode
SnappingMode defines on which layer the snapping is performed.
 
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
 
RendererUsage
Usage of the renderer.
 
BabelFormatCapability
Babel GPS format capabilities.
 
BetweenLineConstraint
Between line constraints which can be enabled.
 
TextHorizontalAlignment
Text horizontal alignment.
 
SymbolFlag
Flags controlling behavior of symbols.
 
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
 
HttpMethod
Different methods of HTTP requests.
 
SymbolCoordinateReference
Symbol coordinate reference modes.
 
TextRendererFlag
Flags which control the behavior of rendering text.
 
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
 
CrsAxisDirection
Data provider flags.
 
LabelOverlapHandling
Label overlap handling.
 
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
 
TextComponent
Text components.
 
TransformDirection
Flags for raster layer temporal capabilities.
 
LightSourceType
Light source types for 3D scenes.
 
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
 
UpsideDownLabelHandling
Handling techniques for upside down labels.
 
Q_DECLARE_FLAGS(MapSettingsFlags, MapSettingsFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsMapSettings
Map settings flags.
 
MapSettingsFlag
Coordinate transformation flags.
 
SelectBehavior
Specifies how a selection should be applied.
 
Utility functions for working with ArcGIS REST services.
 
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.
 
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,...
 
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.
 
Represent settings entry and provides methods for reading and writing settings values.
 
RAII signal blocking class.
 
Object * operator->()
Returns pointer to blocked QObject.
 
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
 
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.
 
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.
 
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.
 
As part of the API refactoring and improvements which landed in QGIS
 
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...
 
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.
 
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
 
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
 
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
 
const long GEO_EPSG_CRS_ID
Magic number for a geographic coord sys in EpsgCrsId ID format.
 
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.
 
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...
 
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
 
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...
 
const QList< T > qgsEnumList()
Returns a list all enum entries.
 
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.
 
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
 
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
 
void CORE_EXPORT * qgsMalloc(size_t size)
Allocates size bytes and returns a pointer to the allocated memory.
 
const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
 
QMap< QString, QString > QgsStringMap
 
#define CONSTLATIN1STRING
 
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 (~/....
 
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.
 
#define QHASH_FOR_CLASS_ENUM(T)
 
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.
 
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_SCOPEENUM
 
#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.