From 6935ea06883f1a4872e39fac1b7fd825ba6952d5 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Tue, 29 Jan 2019 10:01:24 +0100 Subject: [PATCH] #4018 Result management : Ensure result file is open if no 3D views are present, make sure the result grid case file is open as part of creating a curve. --- ApplicationCode/ProjectDataModel/RimEclipseCase.cpp | 13 +++++++++++++ ApplicationCode/ProjectDataModel/RimEclipseCase.h | 1 + .../ProjectDataModel/RimEclipseResultDefinition.cpp | 11 +++++++++++ 3 files changed, 25 insertions(+) diff --git a/ApplicationCode/ProjectDataModel/RimEclipseCase.cpp b/ApplicationCode/ProjectDataModel/RimEclipseCase.cpp index c7ae4b094e..a8faf05a14 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseCase.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseCase.cpp @@ -761,6 +761,19 @@ void RimEclipseCase::setFilesContainingFaults(const std::vector& val) m_filesContainingFaultsSemColSeparated = separatedPaths; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimEclipseCase::ensureReservoirCaseIsOpen() +{ + if (m_rigEclipseCase.notNull()) + { + return true; + } + + return openReserviorCase(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/RimEclipseCase.h b/ApplicationCode/ProjectDataModel/RimEclipseCase.h index f5d9ece307..ad33df9f73 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseCase.h +++ b/ApplicationCode/ProjectDataModel/RimEclipseCase.h @@ -69,6 +69,7 @@ public: std::vector filesContainingFaults() const; void setFilesContainingFaults(const std::vector& val); + bool ensureReservoirCaseIsOpen(); bool openReserviorCase(); virtual bool openEclipseGridFile() = 0; diff --git a/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.cpp b/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.cpp index 8a8788ae32..7d6120fd7c 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.cpp @@ -20,6 +20,8 @@ #include "RimEclipseResultDefinition.h" +#include "RiaLogging.h" + #include "RigActiveCellInfo.h" #include "RigCaseCellResultsData.h" #include "RigEclipseCaseData.h" @@ -769,6 +771,15 @@ void RimEclipseResultDefinition::loadResult() { if (isFlowDiagOrInjectionFlooding()) return; // Will load automatically on access + if (m_eclipseCase) + { + if (!m_eclipseCase->ensureReservoirCaseIsOpen()) + { + RiaLogging::error("Could not open the Eclipse Grid file: " + m_eclipseCase->gridFileName()); + return; + } + } + RigCaseCellResultsData* gridCellResults = this->currentGridCellResults(); if (gridCellResults) {