mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3052 Summary Plot : Make name helper class more robust
This commit is contained in:
parent
5059201126
commit
174538bb92
@ -1578,8 +1578,8 @@ void RimSummaryPlot::updateNameHelperWithCurveData(RimSummaryPlotNameHelper* nam
|
||||
|
||||
nameHelper->clear();
|
||||
nameHelper->appendAddresses(addresses);
|
||||
nameHelper->appendSummaryCases(sumCases);
|
||||
nameHelper->appendEnsembleCases(ensembleCases);
|
||||
nameHelper->setSummaryCases(sumCases);
|
||||
nameHelper->setEnsembleCases(ensembleCases);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -36,7 +36,7 @@ RimSummaryPlotNameHelper::RimSummaryPlotNameHelper() {}
|
||||
void RimSummaryPlotNameHelper::clear()
|
||||
{
|
||||
m_summaryCases.clear();
|
||||
|
||||
m_ensembleCases.clear();
|
||||
m_analyzer.clear();
|
||||
|
||||
clearTitleSubStrings();
|
||||
@ -55,13 +55,15 @@ void RimSummaryPlotNameHelper::appendAddresses(const std::vector<RifEclipseSumma
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryPlotNameHelper::appendSummaryCases(const std::vector<RimSummaryCase*>& summaryCases)
|
||||
void RimSummaryPlotNameHelper::setSummaryCases(const std::vector<RimSummaryCase*>& summaryCases)
|
||||
{
|
||||
m_summaryCases.clear();
|
||||
|
||||
for (auto summaryCase : summaryCases)
|
||||
m_summaryCases.resize(summaryCases.size());
|
||||
|
||||
for (size_t i = 0; i < summaryCases.size(); i++)
|
||||
{
|
||||
if (summaryCase) m_summaryCases.insert(summaryCase);
|
||||
m_summaryCases[i] = summaryCases[i];
|
||||
}
|
||||
|
||||
extractPlotTitleSubStrings();
|
||||
@ -70,13 +72,15 @@ void RimSummaryPlotNameHelper::appendSummaryCases(const std::vector<RimSummaryCa
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryPlotNameHelper::appendEnsembleCases(const std::vector<RimSummaryCaseCollection*>& ensembleCases)
|
||||
void RimSummaryPlotNameHelper::setEnsembleCases(const std::vector<RimSummaryCaseCollection*>& ensembleCases)
|
||||
{
|
||||
m_ensembleCases.clear();
|
||||
|
||||
for (auto ensembleCase : ensembleCases)
|
||||
m_ensembleCases.resize(ensembleCases.size());
|
||||
|
||||
for (size_t i = 0; i < ensembleCases.size(); i++)
|
||||
{
|
||||
if (ensembleCase) m_ensembleCases.insert(ensembleCase);
|
||||
m_ensembleCases[i] = ensembleCases[i];
|
||||
}
|
||||
|
||||
extractPlotTitleSubStrings();
|
||||
@ -216,21 +220,54 @@ void RimSummaryPlotNameHelper::extractPlotTitleSubStrings()
|
||||
}
|
||||
}
|
||||
|
||||
if (m_summaryCases.size() == 1 && m_ensembleCases.empty())
|
||||
auto summaryCases = setOfSummaryCases();
|
||||
auto ensembleCases = setOfEnsembleCases();
|
||||
|
||||
if (summaryCases.size() == 1 && ensembleCases.empty())
|
||||
{
|
||||
auto summaryCase = *(m_summaryCases.begin());
|
||||
auto summaryCase = *(summaryCases.begin());
|
||||
|
||||
if (summaryCase)
|
||||
{
|
||||
m_titleCaseName = summaryCase->caseName();
|
||||
}
|
||||
}
|
||||
else if (m_ensembleCases.size() == 1 && m_summaryCases.empty())
|
||||
else if (ensembleCases.size() == 1 && summaryCases.empty())
|
||||
{
|
||||
auto ensembleCase = *(m_ensembleCases.begin());
|
||||
auto ensembleCase = *(ensembleCases.begin());
|
||||
if (ensembleCase)
|
||||
{
|
||||
m_titleCaseName = ensembleCase->name();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::set<RimSummaryCase*> RimSummaryPlotNameHelper::setOfSummaryCases() const
|
||||
{
|
||||
std::set<RimSummaryCase*> summaryCases;
|
||||
|
||||
for (const auto& sumCase : m_summaryCases)
|
||||
{
|
||||
if (sumCase) summaryCases.insert(sumCase);
|
||||
}
|
||||
|
||||
return summaryCases;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::set<RimSummaryCaseCollection*> RimSummaryPlotNameHelper::setOfEnsembleCases() const
|
||||
{
|
||||
std::set<RimSummaryCaseCollection*> ensembleCases;
|
||||
|
||||
for (const auto& ensemble : m_ensembleCases)
|
||||
{
|
||||
if (ensemble) ensembleCases.insert(ensemble);
|
||||
}
|
||||
|
||||
return ensembleCases;
|
||||
}
|
||||
|
@ -22,6 +22,8 @@
|
||||
|
||||
#include "RifEclipseSummaryAddress.h"
|
||||
|
||||
#include "cafPdmPointer.h"
|
||||
|
||||
#include <QString>
|
||||
|
||||
#include <string>
|
||||
@ -42,8 +44,8 @@ public:
|
||||
void clear();
|
||||
|
||||
void appendAddresses(const std::vector<RifEclipseSummaryAddress>& addresses);
|
||||
void appendSummaryCases(const std::vector<RimSummaryCase*>& summaryCases);
|
||||
void appendEnsembleCases(const std::vector<RimSummaryCaseCollection*>& ensembleCases);
|
||||
void setSummaryCases(const std::vector<RimSummaryCase*>& summaryCases);
|
||||
void setEnsembleCases(const std::vector<RimSummaryCaseCollection*>& ensembleCases);
|
||||
|
||||
QString plotTitle() const;
|
||||
|
||||
@ -57,11 +59,15 @@ private:
|
||||
void clearTitleSubStrings();
|
||||
void extractPlotTitleSubStrings();
|
||||
|
||||
std::set<RimSummaryCase*> setOfSummaryCases() const;
|
||||
std::set<RimSummaryCaseCollection*> setOfEnsembleCases() const;
|
||||
|
||||
|
||||
private:
|
||||
RiaSummaryCurveAnalyzer m_analyzer;
|
||||
|
||||
std::set<RimSummaryCase*> m_summaryCases;
|
||||
std::set<RimSummaryCaseCollection*> m_ensembleCases;
|
||||
std::vector<caf::PdmPointer<RimSummaryCase>> m_summaryCases;
|
||||
std::vector<caf::PdmPointer<RimSummaryCaseCollection>> m_ensembleCases;
|
||||
|
||||
std::string m_titleQuantity;
|
||||
std::string m_titleWellName;
|
||||
|
Loading…
Reference in New Issue
Block a user