20 connect(_flightMapSettings->mapType(), &
Fact::rawValueChanged,
this, &Viewer3DTerrainTexture::_onMapTypeChanged);
25 _setTextureLoaded(
false);
29 if (!_mapProvider || !_mapProvider->
mapLoaded()) {
30 qCDebug(Viewer3DTerrainTextureLog) <<
"loadTexture: no map provider or map not loaded";
34 if (!_terrainTileLoader) {
46void Viewer3DTerrainTexture::_updateTexture()
48 qCDebug(Viewer3DTerrainTextureLog) <<
"Texture loaded:" << _terrainTileLoader->
mapSize();
49 setSize(_terrainTileLoader->
mapSize());
50 setFormat(QQuick3DTextureData::RGBA32F);
51 setHasTransparency(
false);
53 setTextureData(_terrainTileLoader->
mapData());
54 _setTextureLoaded(
true);
59 _terrainTileLoader->deleteLater();
60 _terrainTileLoader =
nullptr;
64void Viewer3DTerrainTexture::_onMapTypeChanged()
66 _mapType = _flightMapSettings->mapProvider()->rawValue().toString()
68 + _flightMapSettings->mapType()->rawValue().toString();
72 if (mapId == _mapId) {
76 qCDebug(Viewer3DTerrainTextureLog) <<
"Map type changed:" << _mapType <<
"mapId:" << mapId;
83 if (_roiMinCoordinate == newRoiMinCoordinate) {
86 _roiMinCoordinate = newRoiMinCoordinate;
92 if (_roiMaxCoordinate == newRoiMaxCoordinate) {
95 _roiMaxCoordinate = newRoiMaxCoordinate;
101 if (_mapProvider == newMapProvider) {
109 _mapProvider = newMapProvider;
122 if (_tileCount == newTileCount) {
125 _tileCount = newTileCount;
131 if (_textureGeometryDone == newTextureGeometryDone) {
134 _textureGeometryDone = newTextureGeometryDone;
140 if (qFuzzyCompare(_textureDownloadProgress, newTextureDownloadProgress)) {
143 _textureDownloadProgress = newTextureDownloadProgress;
#define QGC_LOGGING_CATEGORY(name, categoryStr)
void rawValueChanged(const QVariant &value)
Provides access to all app settings.
static int getQtMapIdFromProviderType(QStringView type)
virtual std::pair< QGeoCoordinate, QGeoCoordinate > mapBoundingBox() const =0
virtual bool mapLoaded() const =0
void textureGeometryDoneChanged()
void mapProviderChanged()
void setRoiMinCoordinate(const QGeoCoordinate &newRoiMinCoordinate)
Q_INVOKABLE void loadTexture()
void setTextureGeometryDone(bool newTextureGeometryDone)
void setRoiMaxCoordinate(const QGeoCoordinate &newRoiMaxCoordinate)
void setTextureGeometry(const Viewer3DTileStatistics &tileInfo)
void roiMaxCoordinateChanged()
void roiMinCoordinateChanged()
void textureDownloadProgressChanged()
void setTextureDownloadProgress(float newTextureDownloadProgress)
void setTileCount(const QSize &newTileCount)
void setMapProvider(Viewer3DMapProvider *newMapProvider)
void textureGeometryReady(TileStatistics_t tileInfo)
void mapTileDownloaded(float progress)
void adaptiveMapTilesLoader(const QString &mapType, int mapId, const QGeoCoordinate &coordinateMin, const QGeoCoordinate &coordinateMax)
QByteArray mapData() const
void loadingMapCompleted()
QGeoCoordinate coordinateMin
QGeoCoordinate coordinateMax