#2912 Ensemble curves. Fixes regarding summary curve definitions

This commit is contained in:
Bjørn Erik Jensen
2018-05-15 10:11:49 +02:00
parent 77dd3cbc43
commit 6edd240c4c
6 changed files with 36 additions and 9 deletions

View File

@@ -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;
}

View File

@@ -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;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -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);