#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.
This commit is contained in:
Magne Sjaastad 2019-01-29 10:01:24 +01:00
parent 5fe4a057ce
commit 6935ea0688
3 changed files with 25 additions and 0 deletions

View File

@ -761,6 +761,19 @@ void RimEclipseCase::setFilesContainingFaults(const std::vector<QString>& val)
m_filesContainingFaultsSemColSeparated = separatedPaths; m_filesContainingFaultsSemColSeparated = separatedPaths;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimEclipseCase::ensureReservoirCaseIsOpen()
{
if (m_rigEclipseCase.notNull())
{
return true;
}
return openReserviorCase();
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -69,6 +69,7 @@ public:
std::vector<QString> filesContainingFaults() const; std::vector<QString> filesContainingFaults() const;
void setFilesContainingFaults(const std::vector<QString>& val); void setFilesContainingFaults(const std::vector<QString>& val);
bool ensureReservoirCaseIsOpen();
bool openReserviorCase(); bool openReserviorCase();
virtual bool openEclipseGridFile() = 0; virtual bool openEclipseGridFile() = 0;

View File

@ -20,6 +20,8 @@
#include "RimEclipseResultDefinition.h" #include "RimEclipseResultDefinition.h"
#include "RiaLogging.h"
#include "RigActiveCellInfo.h" #include "RigActiveCellInfo.h"
#include "RigCaseCellResultsData.h" #include "RigCaseCellResultsData.h"
#include "RigEclipseCaseData.h" #include "RigEclipseCaseData.h"
@ -769,6 +771,15 @@ void RimEclipseResultDefinition::loadResult()
{ {
if (isFlowDiagOrInjectionFlooding()) return; // Will load automatically on access 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(); RigCaseCellResultsData* gridCellResults = this->currentGridCellResults();
if (gridCellResults) if (gridCellResults)
{ {