Marble

ElevationModel.h
1// SPDX-License-Identifier: LGPL-2.1-or-later
2//
3// SPDX-FileCopyrightText: 2011 Niko Sams <niko.sams@gmail.com>
4//
5
6#ifndef MARBLE_ELEVATIONMODEL_H
7#define MARBLE_ELEVATIONMODEL_H
8
9#include "marble_export.h"
10
11#include <QObject>
12
13class QImage;
14
15namespace Marble
16{
17class GeoDataCoordinates;
18
19namespace
20{
21unsigned int const invalidElevationData = 32768;
22}
23
24class TileId;
25class ElevationModelPrivate;
26class HttpDownloadManager;
27class PluginManager;
28
29class MARBLE_EXPORT ElevationModel : public QObject
30{
31 Q_OBJECT
32public:
33 explicit ElevationModel(HttpDownloadManager *downloadManager, PluginManager *pluginManager, QObject *parent = nullptr);
34 ~ElevationModel() override;
35
36 qreal height(qreal lon, qreal lat) const;
37 QList<GeoDataCoordinates> heightProfile(qreal fromLon, qreal fromLat, qreal toLon, qreal toLat) const;
38
39Q_SIGNALS:
40 /**
41 * Elevation tiles loaded. You will get more accurate results when querying height
42 * for at least one that was queried before.
43 **/
44 void updateAvailable();
45
46private:
47 Q_PRIVATE_SLOT(d, void tileCompleted(const TileId &, const QImage &))
48
49private:
50 friend class ElevationModelPrivate;
51 ElevationModelPrivate *const d;
52};
53
54}
55
56#endif // MARBLE_ELEVATIONMODEL_H
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 Fri Nov 8 2024 12:02:43 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.