QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
Viewer3DTerrainTexture.h
Go to the documentation of this file.
1#pragma once
2
3#include <QtCore/QSize>
4#include <QtCore/QString>
5#include <QtPositioning/QGeoCoordinate>
6#include <QtQmlIntegration/QtQmlIntegration>
7#include <QtQuick3D/QQuick3DTextureData>
8
13
14class Viewer3DTerrainTexture : public QQuick3DTextureData
15{
16 Q_OBJECT
17 QML_ELEMENT
18 Q_MOC_INCLUDE("Viewer3DMapProvider.h")
19
21 Q_PROPERTY(QGeoCoordinate roiMinCoordinate READ roiMinCoordinate WRITE setRoiMinCoordinate NOTIFY roiMinCoordinateChanged)
22 Q_PROPERTY(QGeoCoordinate roiMaxCoordinate READ roiMaxCoordinate WRITE setRoiMaxCoordinate NOTIFY roiMaxCoordinateChanged)
23 Q_PROPERTY(QSize tileCount READ tileCount NOTIFY tileCountChanged)
24 Q_PROPERTY(bool textureLoaded READ textureLoaded NOTIFY textureLoadedChanged)
27
28public:
29 explicit Viewer3DTerrainTexture();
30
31 Q_INVOKABLE void loadTexture();
32
33 Viewer3DMapProvider *mapProvider() const { return _mapProvider; }
34 void setMapProvider(Viewer3DMapProvider *newMapProvider);
35
36 QGeoCoordinate roiMinCoordinate() const { return _roiMinCoordinate; }
37 void setRoiMinCoordinate(const QGeoCoordinate &newRoiMinCoordinate);
38
39 QGeoCoordinate roiMaxCoordinate() const { return _roiMaxCoordinate; }
40 void setRoiMaxCoordinate(const QGeoCoordinate &newRoiMaxCoordinate);
41
42 QSize tileCount() const { return _tileCount; }
43 void setTileCount(const QSize &newTileCount);
44
45 bool textureLoaded() const { return _textureLoaded; }
46 bool textureGeometryDone() const { return _textureGeometryDone; }
47 float textureDownloadProgress() const { return _textureDownloadProgress; }
48
49 void setTextureGeometryDone(bool newTextureGeometryDone);
50 void setTextureDownloadProgress(float newTextureDownloadProgress);
51 void setTextureGeometry(const Viewer3DTileStatistics &tileInfo);
52
53signals:
61
62private:
63 void _updateTexture();
64 void _setTextureLoaded(bool loaded) { _textureLoaded = loaded; emit textureLoadedChanged(); }
65 void _onMapTypeChanged();
66
67 Viewer3DTileQuery *_terrainTileLoader = nullptr;
68 FlightMapSettings *_flightMapSettings = nullptr;
69 Viewer3DMapProvider *_mapProvider = nullptr;
70
71 QGeoCoordinate _roiMinCoordinate;
72 QGeoCoordinate _roiMaxCoordinate;
73 QSize _tileCount;
74 QString _mapType;
75
76 float _textureDownloadProgress = 100.0f;
77 int _mapId = 0;
78 bool _textureLoaded = false;
79 bool _textureGeometryDone = false;
80};
QGeoCoordinate roiMaxCoordinate() const
void setRoiMinCoordinate(const QGeoCoordinate &newRoiMinCoordinate)
void setTextureGeometryDone(bool newTextureGeometryDone)
Viewer3DMapProvider * mapProvider() const
QGeoCoordinate roiMinCoordinate() const
void setRoiMaxCoordinate(const QGeoCoordinate &newRoiMaxCoordinate)
void setTextureGeometry(const Viewer3DTileStatistics &tileInfo)
void textureDownloadProgressChanged()
void setTextureDownloadProgress(float newTextureDownloadProgress)
void setTileCount(const QSize &newTileCount)
void setMapProvider(Viewer3DMapProvider *newMapProvider)