mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-10 23:46:00 -06:00
#2912 Ensemble curves. Fixes regarding summary curve definitions
This commit is contained in:
parent
77dd3cbc43
commit
6edd240c4c
@ -146,9 +146,12 @@ bool RiaSummaryCurveDefinition::operator<(const RiaSummaryCurveDefinition& other
|
||||
{
|
||||
if (m_curveDefinition.first == other.summaryCase())
|
||||
{
|
||||
if (m_curveDefinition.second == other.summaryAddress())
|
||||
{
|
||||
return m_ensemble < other.m_ensemble;
|
||||
}
|
||||
return (m_curveDefinition.second < other.summaryAddress());
|
||||
}
|
||||
|
||||
return (m_curveDefinition.first < other.summaryCase());
|
||||
}
|
||||
|
||||
|
@ -337,7 +337,8 @@ void RicSummaryCurveCreator::syncPreviewCurvesFromUiSelection()
|
||||
|
||||
for (const auto& curve : currentCurvesInPreviewPlot)
|
||||
{
|
||||
currentCurveDefs.insert(RiaSummaryCurveDefinition(curve->summaryCaseY(), curve->summaryAddressY()));
|
||||
RimSummaryCase* sumCase = curve->summaryCaseY();
|
||||
currentCurveDefs.insert(RiaSummaryCurveDefinition(sumCase, curve->summaryAddressY(), sumCase ? sumCase->ensemble() : nullptr));
|
||||
}
|
||||
|
||||
if (allCurveDefinitions.size() < currentCurvesInPreviewPlot.size())
|
||||
@ -352,7 +353,8 @@ void RicSummaryCurveCreator::syncPreviewCurvesFromUiSelection()
|
||||
|
||||
for (const auto& curve : currentCurvesInPreviewPlot)
|
||||
{
|
||||
RiaSummaryCurveDefinition curveDef = RiaSummaryCurveDefinition(curve->summaryCaseY(), curve->summaryAddressY());
|
||||
RimSummaryCase* sumCase = curve->summaryCaseY();
|
||||
RiaSummaryCurveDefinition curveDef = RiaSummaryCurveDefinition(sumCase, curve->summaryAddressY(), sumCase ? sumCase->ensemble() : nullptr);
|
||||
if (deleteCurveDefs.count(curveDef) > 0) curvesToDelete.insert(curve);
|
||||
}
|
||||
}
|
||||
@ -592,9 +594,6 @@ void RicSummaryCurveCreator::populateCurveCreator(const RimSummaryPlot& sourceSu
|
||||
for (const auto& curve : curveSet->curves())
|
||||
{
|
||||
curveDefs.push_back(RiaSummaryCurveDefinition(curve->summaryCaseY(), curve->summaryAddressY(), ensemble));
|
||||
|
||||
// Copy curve object to the preview plot
|
||||
copyEnsembleCurveAndAddToCurveSet(curve, newCurveSet, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -859,6 +859,12 @@ RimEnsembleCurveSet* RimEnsembleCurveSet::clone() const
|
||||
{
|
||||
RimEnsembleCurveSet* copy = dynamic_cast<RimEnsembleCurveSet*>(this->xmlCapability()->copyByXmlSerialization(caf::PdmDefaultObjectFactory::instance()));
|
||||
copy->m_yValuesSummaryGroup = m_yValuesSummaryGroup();
|
||||
|
||||
// Update summary case references
|
||||
for (int i = 0; i < m_curves.size(); i++)
|
||||
{
|
||||
copy->m_curves[i]->setSummaryCaseY(m_curves[i]->summaryCaseY());
|
||||
}
|
||||
return copy;
|
||||
}
|
||||
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include "RimProject.h"
|
||||
#include "RimSummaryCaseMainCollection.h"
|
||||
#include "RimSummaryPlotCollection.h"
|
||||
#include "RimSummaryCaseCollection.h"
|
||||
|
||||
#include "cvfAssert.h"
|
||||
|
||||
@ -107,6 +108,24 @@ bool RimSummaryCase::hasCaseRealizationParameters() const
|
||||
return m_crlParameters != nullptr;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimSummaryCaseCollection* RimSummaryCase::ensemble() const
|
||||
{
|
||||
RimSummaryCaseCollection* e;
|
||||
firstAncestorOrThisOfType(e);
|
||||
return e;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimSummaryCase::isEnsembleCase() const
|
||||
{
|
||||
return ensemble() != nullptr;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include <memory>
|
||||
|
||||
class RifSummaryReaderInterface;
|
||||
class RimSummaryCaseCollection;
|
||||
|
||||
//==================================================================================================
|
||||
//
|
||||
@ -59,6 +60,8 @@ public:
|
||||
void setCaseRealizationParameters(const std::shared_ptr<RigCaseRealizationParameters>& crlParameters);
|
||||
std::shared_ptr<RigCaseRealizationParameters> caseRealizationParameters() const;
|
||||
bool hasCaseRealizationParameters() const;
|
||||
RimSummaryCaseCollection* ensemble() const;
|
||||
bool isEnsembleCase() const;
|
||||
|
||||
protected:
|
||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
|
||||
|
@ -1077,9 +1077,6 @@ std::vector<SummarySource*> RiuSummaryCurveDefSelection::selectedSummarySources(
|
||||
|
||||
for (const auto& source : m_selectedSources)
|
||||
{
|
||||
RimSummaryCase* c = dynamic_cast<RimSummaryCase*>(source.p());
|
||||
RimSummaryCaseCollection* cc = dynamic_cast<RimSummaryCaseCollection*>(source.p());
|
||||
|
||||
sources.push_back(source);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user