Enhances ensemble curve handling and performance

* Removes obsolete code
* Return first non-empty return value from reader
* Simplifies water cut curve visibility check
* Defers the page update until after all plots have been added.
* Add settings to control number of threads
* Refactors ensemble curve handling and visibility

Improves the efficiency of ensemble curve set management by separating realization and statistics curves into distinct collections. This allows for more targeted operations, such as selectively showing/hiding realization curves without affecting statistics.
Also defers data loading of curves until they are actually displayed, optimizing performance.
The visibility updates are modified to optionally skip updating the parent plot, providing more control over replotting behavior and preventing unnecessary updates.
This commit is contained in:
Magne Sjaastad authored and GitHub committed 2025-07-30 07:16:29 +02:00
1 parent af58c8c580
commit 2f9971cb30
15 files changed
+306 -217

No files matched your search

@@ -74,7 +74,8 @@ std::vector<time_t> RifMultipleSummaryReaders::timeSteps( const RifEclipseSummar
{
for ( const auto& r : m_readers )
{
if ( r->hasAddress( resultAddress ) ) return r->timeSteps( resultAddress );
const auto& timeSteps = r->timeSteps( resultAddress );
if ( !timeSteps.empty() ) return timeSteps;
}
return {};
@@ -87,7 +88,8 @@ std::pair<bool, std::vector<double>> RifMultipleSummaryReaders::values( const Ri
{
for ( const auto& r : m_readers )
{
if ( r->hasAddress( resultAddress ) ) return r->values( resultAddress );
const auto& okAndValues = r->values( resultAddress );
if ( okAndValues.first && !okAndValues.second.empty() ) return okAndValues;
}
return { false, {} };
@@ -100,7 +102,8 @@ std::string RifMultipleSummaryReaders::unitName( const RifEclipseSummaryAddress&
{
for ( const auto& r : m_readers )
{
if ( r->hasAddress( resultAddress ) ) return r->unitName( resultAddress );
auto name = r->unitName( resultAddress );
if ( !name.empty() ) return name;
}
return {};