From 59eeb0894f1cc8803f5837876c00fa2d4ac11c45 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Fri, 20 Dec 2013 09:18:52 +0100 Subject: [PATCH] Faults: Eclipse input case use preferences to control import of faults --- .../FileInterface/RifEclipseInputFileTools.cpp | 13 ++++++++----- .../FileInterface/RifEclipseInputFileTools.h | 2 +- .../FileInterface/RifReaderEclipseInput.cpp | 2 +- .../FileInterface/RifReaderEclipseOutput.cpp | 12 +----------- .../FileInterface/RifReaderEclipseOutput.h | 3 --- ApplicationCode/FileInterface/RifReaderInterface.h | 11 ++++++++--- ApplicationCode/ProjectDataModel/RimInputCase.cpp | 9 +++++++-- ApplicationCode/ProjectDataModel/RimResultCase.cpp | 7 ++----- 8 files changed, 28 insertions(+), 31 deletions(-) diff --git a/ApplicationCode/FileInterface/RifEclipseInputFileTools.cpp b/ApplicationCode/FileInterface/RifEclipseInputFileTools.cpp index 07d274e6da..7184fd8429 100644 --- a/ApplicationCode/FileInterface/RifEclipseInputFileTools.cpp +++ b/ApplicationCode/FileInterface/RifEclipseInputFileTools.cpp @@ -67,7 +67,7 @@ RifEclipseInputFileTools::~RifEclipseInputFileTools() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -bool RifEclipseInputFileTools::openGridFile(const QString& fileName, RigCaseData* eclipseCase) +bool RifEclipseInputFileTools::openGridFile(const QString& fileName, RigCaseData* eclipseCase, bool importFaults) { CVF_ASSERT(eclipseCase); @@ -168,11 +168,14 @@ bool RifEclipseInputFileTools::openGridFile(const QString& fileName, RigCaseData progress.setProgress(7); progress.setProgressDescription("Read faults ..."); - cvf::Collection faults; - RifEclipseInputFileTools::readFaults(fileName, faults, keywordsAndFilePos); + if (importFaults) + { + cvf::Collection faults; + RifEclipseInputFileTools::readFaults(fileName, faults, keywordsAndFilePos); - RigMainGrid* mainGrid = eclipseCase->mainGrid(); - mainGrid->setFaults(faults); + RigMainGrid* mainGrid = eclipseCase->mainGrid(); + mainGrid->setFaults(faults); + } progress.setProgress(8); progress.setProgressDescription("Cleaning up ..."); diff --git a/ApplicationCode/FileInterface/RifEclipseInputFileTools.h b/ApplicationCode/FileInterface/RifEclipseInputFileTools.h index ce984e42aa..717b9fe79f 100644 --- a/ApplicationCode/FileInterface/RifEclipseInputFileTools.h +++ b/ApplicationCode/FileInterface/RifEclipseInputFileTools.h @@ -53,7 +53,7 @@ public: RifEclipseInputFileTools(); virtual ~RifEclipseInputFileTools(); - static bool openGridFile(const QString& fileName, RigCaseData* eclipseCase); + static bool openGridFile(const QString& fileName, RigCaseData* eclipseCase, bool importFaults); // Returns map of assigned resultName and Eclipse Keyword. static std::map readProperties(const QString& fileName, RigCaseData* eclipseCase); diff --git a/ApplicationCode/FileInterface/RifReaderEclipseInput.cpp b/ApplicationCode/FileInterface/RifReaderEclipseInput.cpp index 3836f514b8..8e74e59068 100644 --- a/ApplicationCode/FileInterface/RifReaderEclipseInput.cpp +++ b/ApplicationCode/FileInterface/RifReaderEclipseInput.cpp @@ -86,7 +86,7 @@ bool RifReaderEclipseInput::open(const QString& fileName, RigCaseData* eclipseCa bool isOk = false; if (eclipseCase->mainGrid()->gridPointDimensions() == cvf::Vec3st(0,0,0)) { - isOk = RifEclipseInputFileTools::openGridFile(fileName, eclipseCase); + isOk = RifEclipseInputFileTools::openGridFile(fileName, eclipseCase, isFaultImportEnabled()); } return isOk; diff --git a/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp b/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp index 420af2aecf..65196ecfe5 100644 --- a/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp +++ b/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp @@ -196,8 +196,6 @@ RifReaderEclipseOutput::RifReaderEclipseOutput() m_ecl_init_file = NULL; m_dynamicResultsAccess = NULL; - - m_enableFaultsImport = true; } //-------------------------------------------------------------------------------------------------- @@ -379,7 +377,7 @@ bool RifReaderEclipseOutput::open(const QString& fileName, RigCaseData* eclipseC progInfo.setProgressDescription("Reading faults"); progInfo.setNextProgressIncrement(10); - if (m_enableFaultsImport) + if (isFaultImportEnabled()) { if (this->filenamesWithFaults().size() > 0) { @@ -1710,11 +1708,3 @@ std::string RifReaderEclipseOutput::ertGridName(size_t gridNr) return gridName; } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RifReaderEclipseOutput::enableFaultsImport(bool enableFaultsImport) -{ - m_enableFaultsImport = enableFaultsImport; -} - diff --git a/ApplicationCode/FileInterface/RifReaderEclipseOutput.h b/ApplicationCode/FileInterface/RifReaderEclipseOutput.h index c186881e72..4f2668f162 100644 --- a/ApplicationCode/FileInterface/RifReaderEclipseOutput.h +++ b/ApplicationCode/FileInterface/RifReaderEclipseOutput.h @@ -45,7 +45,6 @@ public: RifReaderEclipseOutput(); virtual ~RifReaderEclipseOutput(); - void enableFaultsImport(bool enableFaultsImport); bool open(const QString& fileName, RigCaseData* eclipseCase); virtual bool openAndReadActiveCellData(const QString& fileName, const std::vector& mainCaseTimeSteps, RigCaseData* eclipseCase); void close(); @@ -89,6 +88,4 @@ private: ecl_file_type* m_ecl_init_file; // File access to static results cvf::ref m_dynamicResultsAccess; // File access to dynamic results - - bool m_enableFaultsImport; }; diff --git a/ApplicationCode/FileInterface/RifReaderInterface.h b/ApplicationCode/FileInterface/RifReaderInterface.h index 7fef596af5..f8fe3bb4b7 100644 --- a/ApplicationCode/FileInterface/RifReaderInterface.h +++ b/ApplicationCode/FileInterface/RifReaderInterface.h @@ -44,8 +44,11 @@ public: }; public: - RifReaderInterface() {} - virtual ~RifReaderInterface() {} + RifReaderInterface() { m_enableFaultsImport = false; } + virtual ~RifReaderInterface() {} + + void enableFaultsImport(bool enableFaultsImport) { m_enableFaultsImport = enableFaultsImport; } + bool isFaultImportEnabled() { return m_enableFaultsImport; } virtual bool open(const QString& fileName, RigCaseData* eclipseCase) = 0; virtual void close() = 0; @@ -58,6 +61,8 @@ public: void setFilenamesWithFaults(const std::vector& filenames) { m_filenamesWithFaults = filenames; } std::vector filenamesWithFaults() { return m_filenamesWithFaults; } + private: - std::vector m_filenamesWithFaults; + std::vector m_filenamesWithFaults; + bool m_enableFaultsImport; }; diff --git a/ApplicationCode/ProjectDataModel/RimInputCase.cpp b/ApplicationCode/ProjectDataModel/RimInputCase.cpp index 422cb91f03..fa3de1d124 100644 --- a/ApplicationCode/ProjectDataModel/RimInputCase.cpp +++ b/ApplicationCode/ProjectDataModel/RimInputCase.cpp @@ -103,9 +103,11 @@ void RimInputCase::openDataFileSet(const QStringList& fileNames) // First find and read the grid data if (this->reservoirData()->mainGrid()->gridPointDimensions() == cvf::Vec3st(0,0,0)) { + RiaPreferences* prefs = RiaApplication::instance()->preferences(); + for (int i = 0; i < fileNames.size(); i++) { - if (RifEclipseInputFileTools::openGridFile(fileNames[i], this->reservoirData())) + if (RifEclipseInputFileTools::openGridFile(fileNames[i], this->reservoirData(), prefs->enableFaultsImport())) { m_gridFileName = fileNames[i]; @@ -188,8 +190,11 @@ bool RimInputCase::openEclipseGridFile() } else { - cvf::ref eclipseCase = new RigCaseData; + RiaPreferences* prefs = RiaApplication::instance()->preferences(); readerInterface = new RifReaderEclipseInput; + readerInterface->enableFaultsImport(prefs->enableFaultsImport()); + + cvf::ref eclipseCase = new RigCaseData; if (!readerInterface->open(m_gridFileName, eclipseCase.p())) { return false; diff --git a/ApplicationCode/ProjectDataModel/RimResultCase.cpp b/ApplicationCode/ProjectDataModel/RimResultCase.cpp index 5804990d8b..addecdae46 100644 --- a/ApplicationCode/ProjectDataModel/RimResultCase.cpp +++ b/ApplicationCode/ProjectDataModel/RimResultCase.cpp @@ -98,12 +98,9 @@ bool RimResultCase::openEclipseGridFile() return false; } - cvf::ref outputInterface = new RifReaderEclipseOutput; - RiaPreferences* prefs = RiaApplication::instance()->preferences(); - outputInterface->enableFaultsImport(prefs->enableFaultsImport()); - readerInterface = outputInterface; - + readerInterface = new RifReaderEclipseOutput; + readerInterface->enableFaultsImport(prefs->enableFaultsImport()); readerInterface->setFilenamesWithFaults(this->filesContainingFaults()); cvf::ref eclipseCase = new RigCaseData;