From 497314668a08670fdfd2f7de228ff50e0a1951b8 Mon Sep 17 00:00:00 2001 From: Malin E Date: Thu, 21 Apr 2022 11:30:06 +0200 Subject: [PATCH] Apply color map also outside data range --- .../src/tileprovider/temporaltileprovider.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/modules/globebrowsing/src/tileprovider/temporaltileprovider.cpp b/modules/globebrowsing/src/tileprovider/temporaltileprovider.cpp index 5d795c0099..4e15d41fe4 100644 --- a/modules/globebrowsing/src/tileprovider/temporaltileprovider.cpp +++ b/modules/globebrowsing/src/tileprovider/temporaltileprovider.cpp @@ -504,12 +504,12 @@ TemporalTileProvider::tileProvider( ); It curr = next != _folder.files.begin() ? next - 1 : next; + It nextNext = next != _folder.files.end() ? next + 1 : curr; if (next == _folder.files.end()) { - return retrieveTileProvider(Time(curr->first)); + curr = next = nextNext = _folder.files.end() - 1; } - It nextNext = next != _folder.files.end() ? next + 1 : curr; It prev = curr != _folder.files.begin() ? curr - 1 : curr; _interpolateTileProvider->t1 = retrieveTileProvider(Time(curr->first)); @@ -517,14 +517,11 @@ TemporalTileProvider::tileProvider( _interpolateTileProvider->future = retrieveTileProvider(Time(nextNext->first)); _interpolateTileProvider->before = retrieveTileProvider(Time(prev->first)); - _interpolateTileProvider->factor = static_cast( - (time.j2000Seconds() - curr->first) / - (next->first - curr->first) + float factor = static_cast( + (time.j2000Seconds() - curr->first) / (next->first - curr->first) ); - if (_interpolateTileProvider->factor > 1.f) { - _interpolateTileProvider->factor = 1.f; - } + _interpolateTileProvider->factor = std::min(std::max(factor, 0.f), 1.f); return _interpolateTileProvider.get(); }