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->clear();
|
||||||
nameHelper->appendAddresses(addresses);
|
nameHelper->appendAddresses(addresses);
|
||||||
nameHelper->appendSummaryCases(sumCases);
|
nameHelper->setSummaryCases(sumCases);
|
||||||
nameHelper->appendEnsembleCases(ensembleCases);
|
nameHelper->setEnsembleCases(ensembleCases);
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -36,7 +36,7 @@ RimSummaryPlotNameHelper::RimSummaryPlotNameHelper() {}
|
|||||||
void RimSummaryPlotNameHelper::clear()
|
void RimSummaryPlotNameHelper::clear()
|
||||||
{
|
{
|
||||||
m_summaryCases.clear();
|
m_summaryCases.clear();
|
||||||
|
m_ensembleCases.clear();
|
||||||
m_analyzer.clear();
|
m_analyzer.clear();
|
||||||
|
|
||||||
clearTitleSubStrings();
|
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();
|
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();
|
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();
|
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();
|
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)
|
if (summaryCase)
|
||||||
{
|
{
|
||||||
m_titleCaseName = summaryCase->caseName();
|
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)
|
if (ensembleCase)
|
||||||
{
|
{
|
||||||
m_titleCaseName = ensembleCase->name();
|
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 "RifEclipseSummaryAddress.h"
|
||||||
|
|
||||||
|
#include "cafPdmPointer.h"
|
||||||
|
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
@ -42,8 +44,8 @@ public:
|
|||||||
void clear();
|
void clear();
|
||||||
|
|
||||||
void appendAddresses(const std::vector<RifEclipseSummaryAddress>& addresses);
|
void appendAddresses(const std::vector<RifEclipseSummaryAddress>& addresses);
|
||||||
void appendSummaryCases(const std::vector<RimSummaryCase*>& summaryCases);
|
void setSummaryCases(const std::vector<RimSummaryCase*>& summaryCases);
|
||||||
void appendEnsembleCases(const std::vector<RimSummaryCaseCollection*>& ensembleCases);
|
void setEnsembleCases(const std::vector<RimSummaryCaseCollection*>& ensembleCases);
|
||||||
|
|
||||||
QString plotTitle() const;
|
QString plotTitle() const;
|
||||||
|
|
||||||
@ -57,11 +59,15 @@ private:
|
|||||||
void clearTitleSubStrings();
|
void clearTitleSubStrings();
|
||||||
void extractPlotTitleSubStrings();
|
void extractPlotTitleSubStrings();
|
||||||
|
|
||||||
|
std::set<RimSummaryCase*> setOfSummaryCases() const;
|
||||||
|
std::set<RimSummaryCaseCollection*> setOfEnsembleCases() const;
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RiaSummaryCurveAnalyzer m_analyzer;
|
RiaSummaryCurveAnalyzer m_analyzer;
|
||||||
|
|
||||||
std::set<RimSummaryCase*> m_summaryCases;
|
std::vector<caf::PdmPointer<RimSummaryCase>> m_summaryCases;
|
||||||
std::set<RimSummaryCaseCollection*> m_ensembleCases;
|
std::vector<caf::PdmPointer<RimSummaryCaseCollection>> m_ensembleCases;
|
||||||
|
|
||||||
std::string m_titleQuantity;
|
std::string m_titleQuantity;
|
||||||
std::string m_titleWellName;
|
std::string m_titleWellName;
|
||||||
|
Loading…
Reference in New Issue
Block a user