mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Ensemble curve set. Speed up calculate value options
This commit is contained in:
@@ -446,7 +446,7 @@ void RimEnsembleCurveSet::fieldChangedByUi(const caf::PdmFieldHandle* changedFie
|
||||
else if (changedField == &m_yValuesSummaryGroup)
|
||||
{
|
||||
// Empty address cache
|
||||
m_allAddressesCache.clear();
|
||||
//m_allAddressesCache.clear();
|
||||
updateAllCurves();
|
||||
|
||||
updateTextInPlot = true;
|
||||
@@ -720,23 +720,24 @@ void RimEnsembleCurveSet::appendOptionItemsForSummaryAddresses(QList<caf::PdmOpt
|
||||
{
|
||||
if (!summaryCaseGroup) return;
|
||||
|
||||
if (m_allAddressesCache.empty())
|
||||
std::set<RifEclipseSummaryAddress> addrSet;
|
||||
for (RimSummaryCase* summaryCase : summaryCaseGroup->allSummaryCases())
|
||||
{
|
||||
for (RimSummaryCase* summaryCase : summaryCaseGroup->allSummaryCases())
|
||||
RifSummaryReaderInterface* reader = summaryCase->summaryReader();
|
||||
const std::vector<RifEclipseSummaryAddress>& addrs = reader ? reader->allResultAddresses() : std::vector<RifEclipseSummaryAddress>();
|
||||
|
||||
for (auto& addr : addrs)
|
||||
{
|
||||
RifSummaryReaderInterface* reader = summaryCase->summaryReader();
|
||||
const std::vector<RifEclipseSummaryAddress> addrs = reader ? reader->allResultAddresses() : std::vector<RifEclipseSummaryAddress>();
|
||||
m_allAddressesCache.insert(addrs.begin(), addrs.end());
|
||||
if (summaryFilter && !summaryFilter->isIncludedByFilter(addr)) continue;
|
||||
addrSet.insert(addr);
|
||||
}
|
||||
}
|
||||
|
||||
for (auto& address : m_allAddressesCache)
|
||||
for (auto& addr : addrSet)
|
||||
{
|
||||
if (summaryFilter && !summaryFilter->isIncludedByFilter(address)) continue;
|
||||
|
||||
std::string name = address.uiText();
|
||||
std::string name = addr.uiText();
|
||||
QString s = QString::fromStdString(name);
|
||||
options->push_back(caf::PdmOptionItemInfo(s, QVariant::fromValue(address)));
|
||||
options->push_back(caf::PdmOptionItemInfo(s, QVariant::fromValue(addr)));
|
||||
}
|
||||
|
||||
options->push_front(caf::PdmOptionItemInfo(RiaDefines::undefinedResultName(), QVariant::fromValue(RifEclipseSummaryAddress())));
|
||||
|
||||
@@ -162,8 +162,6 @@ private:
|
||||
caf::PdmProxyValueField<QString> m_autoGeneratedName;
|
||||
caf::PdmChildField<RimSummaryCurveAutoName*> m_summaryAddressNameTools;
|
||||
|
||||
std::set<RifEclipseSummaryAddress> m_allAddressesCache;
|
||||
|
||||
QwtPlotCurve* m_qwtPlotCurveForLegendText;
|
||||
|
||||
std::unique_ptr<RimEnsembleStatisticsCase> m_ensembleStatCase;
|
||||
|
||||
Reference in New Issue
Block a user