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
7#ifndef MARBLE_ELEVATIONMODEL_H
8#define MARBLE_ELEVATIONMODEL_H
9
10#include "marble_export.h"
11
12#include <QObject>
13
14class QImage;
15
16namespace Marble
17{
18class GeoDataCoordinates;
19
20namespace {
21 unsigned 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 QVector<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 *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 Tue Mar 26 2024 11:18:17 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.