mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-03-13 17:09:05 -05:00
Lazy init default tiles. Make TemporalTileProviders only use one default tile
This commit is contained in:
@@ -64,6 +64,7 @@ namespace openspace {
|
||||
// read file
|
||||
std::string xml( (std::istreambuf_iterator<char>(in)), (std::istreambuf_iterator<char>()));
|
||||
_gdalXmlTemplate = consumeTemporalMetaData(xml);
|
||||
_defaultTile = getTileProvider()->getDefaultTile();
|
||||
}
|
||||
|
||||
std::string TemporalTileProvider::consumeTemporalMetaData(const std::string& xml) {
|
||||
@@ -124,8 +125,7 @@ namespace openspace {
|
||||
}
|
||||
|
||||
Tile TemporalTileProvider::getDefaultTile() {
|
||||
ensureUpdated();
|
||||
return _currentTileProvider->getDefaultTile();
|
||||
return _defaultTile;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -161,6 +161,8 @@ namespace openspace {
|
||||
std::unordered_map<TimeKey, std::shared_ptr<TileProvider> > _tileProviderMap;
|
||||
TileProviderInitData _tileProviderInitData;
|
||||
|
||||
Tile _defaultTile;
|
||||
|
||||
std::shared_ptr<TileProvider> _currentTileProvider;
|
||||
|
||||
TimeFormat * _timeFormat;
|
||||
|
||||
@@ -104,7 +104,7 @@ namespace openspace {
|
||||
, _framesUntilRequestFlush(framesUntilFlushRequestQueue)
|
||||
, _framesSinceLastRequestFlush(0)
|
||||
{
|
||||
_defaultTile = createTile(_asyncTextureDataProvider->getTextureDataProvider()->defaultTileData());
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -146,6 +146,9 @@ namespace openspace {
|
||||
}
|
||||
|
||||
Tile CachingTileProvider::getDefaultTile() {
|
||||
if (_defaultTile.texture == nullptr) {
|
||||
_defaultTile = createTile(_asyncTextureDataProvider->getTextureDataProvider()->defaultTileData());
|
||||
}
|
||||
return _defaultTile;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user