#2913 Improve coupling between egrid and summary cases

* Convert RimGridSummaryCase to RimFileSummaryCase when closing grid.
This commit is contained in:
Gaute Lindkvist
2018-05-15 15:43:04 +02:00
parent 7103ff73a2
commit 0c9470fdf0
8 changed files with 171 additions and 32 deletions

View File

@@ -23,6 +23,7 @@
#include "RimCaseCollection.h"
#include "RimEclipseCase.h"
#include "RimEclipseResultCase.h"
#include "RimEclipseCaseCollection.h"
#include "RimEclipseStatisticsCase.h"
#include "RimGeoMechCase.h"
@@ -31,6 +32,8 @@
#include "RimOilField.h"
#include "RimProject.h"
#include "RimMainPlotCollection.h"
#include "RimGridSummaryCase.h"
#include "RimSummaryCaseMainCollection.h"
#include "RimWellLogPlotCollection.h"
#include "RiuMainWindow.h"
@@ -186,6 +189,22 @@ void RicCloseCaseFeature::deleteEclipseCase(RimEclipseCase* eclipseCase)
removeCaseFromAllGroups(eclipseCase);
}
RimEclipseResultCase* resultCase = dynamic_cast<RimEclipseResultCase*>(eclipseCase);
if (resultCase)
{
RimProject* project = RiaApplication::instance()->project();
RimSummaryCaseMainCollection* sumCaseColl = project->activeOilField() ? project->activeOilField()->summaryCaseMainCollection() : nullptr;
if (sumCaseColl)
{
RimSummaryCase* summaryCase = sumCaseColl->findSummaryCaseFromEclipseResultCase(resultCase);
if (summaryCase)
{
RimGridSummaryCase* gridSummaryCase = dynamic_cast<RimGridSummaryCase*>(summaryCase);
sumCaseColl->convertGridSummaryCasesToFileSummaryCases(gridSummaryCase);
}
}
}
delete eclipseCase;
}