Marble

DownloadRegion.h
1// SPDX-License-Identifier: LGPL-2.1-or-later
2//
3// SPDX-FileCopyrightText: 2012 Dennis Nienhüser <nienhueser@kde.org>
4//
5
6#ifndef MARBLE_DOWNLOADREGION_H
7#define MARBLE_DOWNLOADREGION_H
8
9#include <QList>
10#include <QObject>
11
12#include <MarbleGlobal.h>
13
14#include "marble_export.h"
15
16namespace Marble
17{
18class DownloadRegionPrivate;
19class GeoDataLatLonAltBox;
20class GeoDataLineString;
21class TileCoordsPyramid;
22class MarbleModel;
23class TileLayer;
24class TextureLayer;
25
26class MARBLE_EXPORT DownloadRegion : public QObject
27{
28 Q_OBJECT
29
30public:
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 QList<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 QList<TileCoordsPyramid> fromPath(const TileLayer *tileLayer, qreal offset, const GeoDataLineString &path) const;
47
48 QList<int> validTileLevels(const TileType tileType) const;
49
50private:
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-2024 The KDE developers.
Generated on Sat Dec 21 2024 17:04:13 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.