mirror of
https://github.com/OPM/ResInsight.git
synced 2026-11-02 20:30:46 -06:00
Ensure correct update of required delta ensembles
When a summary ensemble is modified, update all dependent delta ensembles related to curve display and tree item display.
This commit is contained in:
1 parent
18b6420633
commit
d7fe226114
6 files changed
+37
No files matched your search
@@ -27,6 +27,7 @@
|
|||||||
#include "RimSummaryCase.h"
|
#include "RimSummaryCase.h"
|
||||||
#include "RimSummaryCaseMainCollection.h"
|
#include "RimSummaryCaseMainCollection.h"
|
||||||
#include "RimSummaryEnsemble.h"
|
#include "RimSummaryEnsemble.h"
|
||||||
|
#include "RimSummaryEnsembleTools.h"
|
||||||
|
|
||||||
#include "cafPdmObject.h"
|
#include "cafPdmObject.h"
|
||||||
#include "cafSelectionManager.h"
|
#include "cafSelectionManager.h"
|
||||||
@@ -124,6 +125,7 @@ void RicReloadSummaryCaseFeature::reloadTaggedSummaryCasesAndUpdate()
|
|||||||
{
|
{
|
||||||
ensemble->reloadCases();
|
ensemble->reloadCases();
|
||||||
ensemble->updateConnectedEditors();
|
ensemble->updateConnectedEditors();
|
||||||
|
RimSummaryEnsembleTools::updateDependentDeltaEnsembles( ensemble );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -138,6 +140,7 @@ void RicReloadSummaryCaseFeature::reloadSelectedCasesAndUpdate()
|
|||||||
for ( RimSummaryEnsemble* ensemble : ensembleSelection )
|
for ( RimSummaryEnsemble* ensemble : ensembleSelection )
|
||||||
{
|
{
|
||||||
ensemble->reloadCases();
|
ensemble->reloadCases();
|
||||||
|
RimSummaryEnsembleTools::updateDependentDeltaEnsembles( ensemble );
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( RimSummaryCase* summaryCase : caseSelection )
|
for ( RimSummaryCase* summaryCase : caseSelection )
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
#include "EnsembleFileSet/RimEnsembleFileSetCollection.h"
|
#include "EnsembleFileSet/RimEnsembleFileSetCollection.h"
|
||||||
#include "EnsembleFileSet/RimEnsembleFileSetTools.h"
|
#include "EnsembleFileSet/RimEnsembleFileSetTools.h"
|
||||||
#include "RimSummaryCase.h"
|
#include "RimSummaryCase.h"
|
||||||
|
#include "RimSummaryEnsembleTools.h"
|
||||||
|
|
||||||
CAF_PDM_SOURCE_INIT( RimSummaryFileSetEnsemble, "RimSummaryFileSetEnsemble" );
|
CAF_PDM_SOURCE_INIT( RimSummaryFileSetEnsemble, "RimSummaryFileSetEnsemble" );
|
||||||
|
|
||||||
@@ -134,6 +135,8 @@ void RimSummaryFileSetEnsemble::onFileSetChanged( const caf::SignalEmitter* emit
|
|||||||
RiaSummaryTools::updateConnectedPlots( this );
|
RiaSummaryTools::updateConnectedPlots( this );
|
||||||
buildChildNodes();
|
buildChildNodes();
|
||||||
updateAllRequiredEditors();
|
updateAllRequiredEditors();
|
||||||
|
|
||||||
|
RimSummaryEnsembleTools::updateDependentDeltaEnsembles( this );
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -148,6 +148,17 @@ std::set<RifEclipseSummaryAddress> RimDeltaSummaryEnsemble::ensembleSummaryAddre
|
|||||||
return addresses;
|
return addresses;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimDeltaSummaryEnsemble::onSourceEnsembleChanged()
|
||||||
|
{
|
||||||
|
createDerivedEnsembleCases();
|
||||||
|
buildMetaData();
|
||||||
|
updateReferringCurveSets();
|
||||||
|
updateConnectedEditors();
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ public:
|
|||||||
|
|
||||||
void onLoadDataAndUpdate() override;
|
void onLoadDataAndUpdate() override;
|
||||||
|
|
||||||
|
void onSourceEnsembleChanged();
|
||||||
void createDerivedEnsembleCases();
|
void createDerivedEnsembleCases();
|
||||||
|
|
||||||
bool discardMissingOrIncompleteRealizations() const;
|
bool discardMissingOrIncompleteRealizations() const;
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
#include "RigEnsembleParameter.h"
|
#include "RigEnsembleParameter.h"
|
||||||
|
|
||||||
#include "RimCorrelationPlotCollection.h"
|
#include "RimCorrelationPlotCollection.h"
|
||||||
|
#include "RimDeltaSummaryEnsemble.h"
|
||||||
#include "RimEnsembleCurveSet.h"
|
#include "RimEnsembleCurveSet.h"
|
||||||
#include "RimMainPlotCollection.h"
|
#include "RimMainPlotCollection.h"
|
||||||
#include "RimParameterResultCrossPlot.h"
|
#include "RimParameterResultCrossPlot.h"
|
||||||
@@ -506,3 +507,18 @@ RimSummaryCase* RimSummaryEnsembleTools::caseWithMostDataObjects( const std::vec
|
|||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimSummaryEnsembleTools::updateDependentDeltaEnsembles( const RimSummaryEnsemble* sourceEnsemble )
|
||||||
|
{
|
||||||
|
if ( !sourceEnsemble ) return;
|
||||||
|
|
||||||
|
auto referringObjects = sourceEnsemble->objectsWithReferringPtrFieldsOfType<RimDeltaSummaryEnsemble>();
|
||||||
|
for ( auto referringEnsemble : referringObjects )
|
||||||
|
{
|
||||||
|
referringEnsemble->onSourceEnsembleChanged();
|
||||||
|
updateDependentDeltaEnsembles( referringEnsemble );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -26,6 +26,7 @@
|
|||||||
class RimSummaryCase;
|
class RimSummaryCase;
|
||||||
class RimPlotCurve;
|
class RimPlotCurve;
|
||||||
class RigEnsembleParameter;
|
class RigEnsembleParameter;
|
||||||
|
class RimSummaryEnsemble;
|
||||||
|
|
||||||
namespace RimSummaryEnsembleTools
|
namespace RimSummaryEnsembleTools
|
||||||
{
|
{
|
||||||
@@ -46,4 +47,6 @@ void resetHighlightAllPlots();
|
|||||||
|
|
||||||
RimSummaryCase* caseWithMostDataObjects( const std::vector<RimSummaryCase*>& sourceCases );
|
RimSummaryCase* caseWithMostDataObjects( const std::vector<RimSummaryCase*>& sourceCases );
|
||||||
|
|
||||||
|
void updateDependentDeltaEnsembles( const RimSummaryEnsemble* sourceEnsemble );
|
||||||
|
|
||||||
} // namespace RimSummaryEnsembleTools
|
} // namespace RimSummaryEnsembleTools
|
||||||
Reference in new issue
Block a user