Marble

DownloadRegion.h
1 // SPDX-License-Identifier: LGPL-2.1-or-later
2 //
3 // SPDX-FileCopyrightText: 2012 Dennis Nienhüser <[email protected]>
4 //
5 
6 #ifndef MARBLE_DOWNLOADREGION_H
7 #define MARBLE_DOWNLOADREGION_H
8 
9 #include <QObject>
10 #include <QVector>
11 
12 #include <MarbleGlobal.h>
13 
14 #include "marble_export.h"
15 
16 namespace Marble
17 {
18 class DownloadRegionPrivate;
19 class GeoDataLatLonAltBox;
20 class GeoDataLineString;
21 class TileCoordsPyramid;
22 class MarbleModel;
23 class TileLayer;
24 class TextureLayer;
25 
26 class MARBLE_EXPORT DownloadRegion : public QObject
27 {
28  Q_OBJECT
29 
30  public:
31  explicit DownloadRegion( QObject* parent=nullptr );
32 
33  void setMarbleModel( MarbleModel *model );
34 
35  ~DownloadRegion() override;
36 
37  void setTileLevelRange( int const minimumTileLevel, int const maximumTileLevel );
38 
39  QVector<TileCoordsPyramid> region( const TileLayer *tileLayer, const GeoDataLatLonAltBox &region ) const;
40 
41  void setVisibleTileLevel( int const tileLevel );
42 
43  /**
44  * @brief calculates the region to be downloaded around a path
45  */
46  QVector<TileCoordsPyramid> fromPath( const TileLayer *tileLayer, qreal offset, const GeoDataLineString &path ) const;
47 
48  QVector<int> validTileLevels( const TileType tileType ) const;
49 
50  private:
51  DownloadRegionPrivate* const d;
52 };
53 
54 }
55 
56 #endif
Binds a QML item to a specific geodetic location in screen coordinates.
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Wed Oct 4 2023 04:09:41 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.