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.first == other.summaryCase())
|
||||||
{
|
{
|
||||||
|
if (m_curveDefinition.second == other.summaryAddress())
|
||||||
|
{
|
||||||
|
return m_ensemble < other.m_ensemble;
|
||||||
|
}
|
||||||
return (m_curveDefinition.second < other.summaryAddress());
|
return (m_curveDefinition.second < other.summaryAddress());
|
||||||
}
|
}
|
||||||
|
|
||||||
return (m_curveDefinition.first < other.summaryCase());
|
return (m_curveDefinition.first < other.summaryCase());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -337,7 +337,8 @@ void RicSummaryCurveCreator::syncPreviewCurvesFromUiSelection()
|
|||||||
|
|
||||||
for (const auto& curve : currentCurvesInPreviewPlot)
|
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())
|
if (allCurveDefinitions.size() < currentCurvesInPreviewPlot.size())
|
||||||
@ -352,7 +353,8 @@ void RicSummaryCurveCreator::syncPreviewCurvesFromUiSelection()
|
|||||||
|
|
||||||
for (const auto& curve : currentCurvesInPreviewPlot)
|
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);
|
if (deleteCurveDefs.count(curveDef) > 0) curvesToDelete.insert(curve);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -592,9 +594,6 @@ void RicSummaryCurveCreator::populateCurveCreator(const RimSummaryPlot& sourceSu
|
|||||||
for (const auto& curve : curveSet->curves())
|
for (const auto& curve : curveSet->curves())
|
||||||
{
|
{
|
||||||
curveDefs.push_back(RiaSummaryCurveDefinition(curve->summaryCaseY(), curve->summaryAddressY(), ensemble));
|
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()));
|
RimEnsembleCurveSet* copy = dynamic_cast<RimEnsembleCurveSet*>(this->xmlCapability()->copyByXmlSerialization(caf::PdmDefaultObjectFactory::instance()));
|
||||||
copy->m_yValuesSummaryGroup = m_yValuesSummaryGroup();
|
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;
|
return copy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
#include "RimSummaryCaseMainCollection.h"
|
#include "RimSummaryCaseMainCollection.h"
|
||||||
#include "RimSummaryPlotCollection.h"
|
#include "RimSummaryPlotCollection.h"
|
||||||
|
#include "RimSummaryCaseCollection.h"
|
||||||
|
|
||||||
#include "cvfAssert.h"
|
#include "cvfAssert.h"
|
||||||
|
|
||||||
@ -107,6 +108,24 @@ bool RimSummaryCase::hasCaseRealizationParameters() const
|
|||||||
return m_crlParameters != nullptr;
|
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>
|
#include <memory>
|
||||||
|
|
||||||
class RifSummaryReaderInterface;
|
class RifSummaryReaderInterface;
|
||||||
|
class RimSummaryCaseCollection;
|
||||||
|
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
//
|
//
|
||||||
@ -59,6 +60,8 @@ public:
|
|||||||
void setCaseRealizationParameters(const std::shared_ptr<RigCaseRealizationParameters>& crlParameters);
|
void setCaseRealizationParameters(const std::shared_ptr<RigCaseRealizationParameters>& crlParameters);
|
||||||
std::shared_ptr<RigCaseRealizationParameters> caseRealizationParameters() const;
|
std::shared_ptr<RigCaseRealizationParameters> caseRealizationParameters() const;
|
||||||
bool hasCaseRealizationParameters() const;
|
bool hasCaseRealizationParameters() const;
|
||||||
|
RimSummaryCaseCollection* ensemble() const;
|
||||||
|
bool isEnsembleCase() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
|
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)
|
for (const auto& source : m_selectedSources)
|
||||||
{
|
{
|
||||||
RimSummaryCase* c = dynamic_cast<RimSummaryCase*>(source.p());
|
|
||||||
RimSummaryCaseCollection* cc = dynamic_cast<RimSummaryCaseCollection*>(source.p());
|
|
||||||
|
|
||||||
sources.push_back(source);
|
sources.push_back(source);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user