mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-01-08 12:39:49 -06:00
Improve TileProvider interface by removing getAsyncReader()
This commit is contained in:
@@ -141,13 +141,13 @@ namespace openspace {
|
||||
_currentTileProvider->update();
|
||||
}
|
||||
|
||||
std::shared_ptr<AsyncTileDataProvider> TemporalTileProvider::getAsyncTileReader() {
|
||||
int TemporalTileProvider::maxLevel() {
|
||||
if (_currentTileProvider == nullptr) {
|
||||
LDEBUG("Warning: had to call update from getAsyncTileReader()");
|
||||
update();
|
||||
}
|
||||
|
||||
return _currentTileProvider->getAsyncTileReader();
|
||||
return _currentTileProvider->maxLevel();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -124,7 +124,7 @@ namespace openspace {
|
||||
virtual Tile::Status getTileStatus(const ChunkIndex& chunkIndex);
|
||||
virtual TileDepthTransform depthTransform();
|
||||
virtual void update();
|
||||
virtual std::shared_ptr<AsyncTileDataProvider> getAsyncTileReader();
|
||||
virtual int maxLevel();
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -75,15 +75,15 @@ namespace openspace {
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<AsyncTileDataProvider> 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;
|
||||
}
|
||||
|
||||
@@ -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<AsyncTileDataProvider> 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<AsyncTileDataProvider> getAsyncTileReader();
|
||||
virtual int maxLevel();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user