QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
TerrainTile.h
Go to the documentation of this file.
1#pragma once
2
3#include <QtCore/QList>
4#include <QtCore/QLoggingCategory>
5
6class QGeoCoordinate;
7class TerrainTileTest;
8
9Q_DECLARE_LOGGING_CATEGORY(TerrainTileLog)
10
12{
13 friend class TerrainTileTest;
14
15public:
18 explicit TerrainTile(const QByteArray &byteArray);
19 virtual ~TerrainTile();
20
23 bool isValid() const { return _isValid; }
24
28 double elevation(const QGeoCoordinate &coordinate) const;
29
32 double minElevation() const { return (_isValid ? static_cast<double>(_tileInfo.minElevation) : qQNaN()); }
33
36 double maxElevation() const { return (_isValid ? static_cast<double>(_tileInfo.maxElevation) : qQNaN()); }
37
40 double avgElevation() const { return (_isValid ? _tileInfo.avgElevation : qQNaN()); }
41
42protected:
43 struct TileInfo_t {
44 double swLat, swLon, neLat, neLon;
45 int16_t minElevation, maxElevation;
47 int16_t gridSizeLat, gridSizeLon;
48 } Q_PACKED;
49
50private:
51 TileInfo_t _tileInfo{};
52 QList<QList<int16_t>> _elevationData;
53 double _cellSizeLat = 0.0;
54 double _cellSizeLon = 0.0;
55 bool _isValid = false;
56};
Q_DECLARE_LOGGING_CATEGORY(AndroidSerialLog)
double maxElevation() const
Definition TerrainTile.h:36
double minElevation() const
Definition TerrainTile.h:32
double avgElevation() const
Definition TerrainTile.h:40
bool isValid() const
Definition TerrainTile.h:23