diff --git a/modules/globebrowsing/tile/temporaltileprovider.cpp b/modules/globebrowsing/tile/temporaltileprovider.cpp index aa3fbe28be..0da42daf98 100644 --- a/modules/globebrowsing/tile/temporaltileprovider.cpp +++ b/modules/globebrowsing/tile/temporaltileprovider.cpp @@ -141,13 +141,13 @@ namespace openspace { _currentTileProvider->update(); } - std::shared_ptr TemporalTileProvider::getAsyncTileReader() { + int TemporalTileProvider::maxLevel() { if (_currentTileProvider == nullptr) { LDEBUG("Warning: had to call update from getAsyncTileReader()"); update(); } - return _currentTileProvider->getAsyncTileReader(); + return _currentTileProvider->maxLevel(); } diff --git a/modules/globebrowsing/tile/temporaltileprovider.h b/modules/globebrowsing/tile/temporaltileprovider.h index 8237a5d043..f7aa9709ea 100644 --- a/modules/globebrowsing/tile/temporaltileprovider.h +++ b/modules/globebrowsing/tile/temporaltileprovider.h @@ -124,7 +124,7 @@ namespace openspace { virtual Tile::Status getTileStatus(const ChunkIndex& chunkIndex); virtual TileDepthTransform depthTransform(); virtual void update(); - virtual std::shared_ptr getAsyncTileReader(); + virtual int maxLevel(); diff --git a/modules/globebrowsing/tile/tileprovider.cpp b/modules/globebrowsing/tile/tileprovider.cpp index c25feb2269..2d882d1af5 100644 --- a/modules/globebrowsing/tile/tileprovider.cpp +++ b/modules/globebrowsing/tile/tileprovider.cpp @@ -75,15 +75,15 @@ namespace openspace { } } - std::shared_ptr CachingTileProvider::getAsyncTileReader() { - return _asyncTextureDataProvider; + int CachingTileProvider::maxLevel() { + return _asyncTextureDataProvider->getTextureDataProvider()->getMaximumLevel(); } Tile CachingTileProvider::getTile(const ChunkIndex& chunkIndex) { Tile tile = Tile::TileUnavailable; - auto tileDataset = _asyncTextureDataProvider->getTextureDataProvider(); - if (chunkIndex.level > tileDataset->getMaximumLevel()) { + + if (chunkIndex.level > maxLevel()) { tile.status = Tile::Status::OutOfRange; return tile; } diff --git a/modules/globebrowsing/tile/tileprovider.h b/modules/globebrowsing/tile/tileprovider.h index 4e6361e1d1..9eaba2dd9e 100644 --- a/modules/globebrowsing/tile/tileprovider.h +++ b/modules/globebrowsing/tile/tileprovider.h @@ -71,7 +71,7 @@ namespace openspace { virtual Tile::Status getTileStatus(const ChunkIndex& index) = 0; virtual TileDepthTransform depthTransform() = 0; virtual void update() = 0; - virtual std::shared_ptr getAsyncTileReader() = 0; + virtual int maxLevel() = 0; }; @@ -97,7 +97,7 @@ namespace openspace { virtual Tile::Status getTileStatus(const ChunkIndex& index); virtual TileDepthTransform depthTransform(); virtual void update(); - virtual std::shared_ptr getAsyncTileReader(); + virtual int maxLevel(); private: diff --git a/modules/globebrowsing/tile/tileselector.cpp b/modules/globebrowsing/tile/tileselector.cpp index 790fd2cfaa..b537334bbc 100644 --- a/modules/globebrowsing/tile/tileselector.cpp +++ b/modules/globebrowsing/tile/tileselector.cpp @@ -52,7 +52,7 @@ namespace openspace { // Step 2. Traverse 0 or more parents up the chunkTree to make sure we're inside // the range of defined data. - int maximumLevel = tileProvider->getAsyncTileReader()->getTextureDataProvider()->getMaximumLevel(); + int maximumLevel = tileProvider->maxLevel(); while(chunkIndex.level > maximumLevel){ ascendToParent(chunkIndex, uvTransform); }