From 7a9c0871e8ea5e6cc02a4552b2756b53540a953b Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Fri, 21 Oct 2016 09:33:03 +0200 Subject: [PATCH] (#928) Remove import of faults using opm-parser --- .../RifEclipseInputFileTools.cpp | 33 +++++++++++-------- .../FileInterface/RifEclipseInputFileTools.h | 2 +- .../FileInterface/RifReaderEclipseOutput.cpp | 13 ++++---- 3 files changed, 27 insertions(+), 21 deletions(-) diff --git a/ApplicationCode/FileInterface/RifEclipseInputFileTools.cpp b/ApplicationCode/FileInterface/RifEclipseInputFileTools.cpp index 4de8cd573d..a7dc788348 100644 --- a/ApplicationCode/FileInterface/RifEclipseInputFileTools.cpp +++ b/ApplicationCode/FileInterface/RifEclipseInputFileTools.cpp @@ -634,20 +634,6 @@ void RifEclipseInputFileTools::readFaults(const QString& fileName, const std::ve return; } - // Parse complete file if no keywords are parsed - if (fileKeywords.size() == 0) - { - qint64 filePos = findKeyword(faultsKeyword, data, 0); - - while (filePos != -1) - { - readFaults(data, filePos, faults, NULL); - filePos = findKeyword(faultsKeyword, data, filePos); - } - - return; - } - for (size_t i = 0; i < fileKeywords.size(); i++) { if (fileKeywords[i].keyword.compare(editKeyword, Qt::CaseInsensitive) == 0) @@ -671,6 +657,25 @@ void RifEclipseInputFileTools::readFaults(const QString& fileName, const std::ve } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifEclipseInputFileTools::parseAndReadFaults(const QString& fileName, cvf::Collection* faults) +{ + QFile data(fileName); + if (!data.open(QFile::ReadOnly)) + { + return; + } + + qint64 filePos = findKeyword(faultsKeyword, data, 0); + + while (filePos != -1) + { + readFaults(data, filePos, faults, NULL); + filePos = findKeyword(faultsKeyword, data, filePos); + } +} //-------------------------------------------------------------------------------------------------- /// diff --git a/ApplicationCode/FileInterface/RifEclipseInputFileTools.h b/ApplicationCode/FileInterface/RifEclipseInputFileTools.h index 7a00552b1c..2a1aa75add 100644 --- a/ApplicationCode/FileInterface/RifEclipseInputFileTools.h +++ b/ApplicationCode/FileInterface/RifEclipseInputFileTools.h @@ -62,9 +62,9 @@ public: static bool readProperty (const QString& fileName, RigCaseData* eclipseCase, const QString& eclipseKeyWord, const QString& resultName ); static bool readPropertyAtFilePosition (const QString& fileName, RigCaseData* eclipseCase, const QString& eclipseKeyWord, qint64 filePos, const QString& resultName ); - static void readFaultsInGridSection(const QString& fileName, cvf::Collection* faults, std::vector* filenamesWithFaults); static void readFaults(const QString& fileName, const std::vector< RifKeywordAndFilePos >& fileKeywords, cvf::Collection* faults); + static void parseAndReadFaults(const QString& fileName, cvf::Collection* faults); static void readFaults(QFile &data, qint64 filePos, cvf::Collection* faults, bool* isEditKeywordDetected); static void findKeywordsOnFile(const QString &fileName, std::vector< RifKeywordAndFilePos >* keywords); diff --git a/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp b/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp index cfc10e64b0..b04c22dc6f 100644 --- a/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp +++ b/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp @@ -387,7 +387,8 @@ bool RifReaderEclipseOutput::open(const QString& fileName, RigCaseData* eclipseC { cvf::Collection faults; - importFaultsOpmParser(fileSet, &faults); + //importFaultsOpmParser(fileSet, &faults); + importFaults(fileSet, &faults); RigMainGrid* mainGrid = eclipseCase->mainGrid(); mainGrid->setFaults(faults); @@ -454,13 +455,11 @@ void RifReaderEclipseOutput::importFaults(const QStringList& fileSet, cvf::Colle { if (this->filenamesWithFaults().size() > 0) { - std::vector< RifKeywordAndFilePos > fileKeywords; - for (size_t i = 0; i < this->filenamesWithFaults().size(); i++) { QString faultFilename = this->filenamesWithFaults()[i]; - RifEclipseInputFileTools::readFaults(faultFilename, fileKeywords, faults); + RifEclipseInputFileTools::parseAndReadFaults(faultFilename, faults); } } else @@ -469,9 +468,8 @@ void RifReaderEclipseOutput::importFaults(const QStringList& fileSet, cvf::Colle { if (fname.endsWith(".DATA")) { - cvf::Collection faults; std::vector filenamesWithFaults; - RifEclipseInputFileTools::readFaultsInGridSection(fname, &faults, &filenamesWithFaults); + RifEclipseInputFileTools::readFaultsInGridSection(fname, faults, &filenamesWithFaults); std::sort(filenamesWithFaults.begin(), filenamesWithFaults.end()); std::vector::iterator last = std::unique(filenamesWithFaults.begin(), filenamesWithFaults.end()); @@ -483,6 +481,9 @@ void RifReaderEclipseOutput::importFaults(const QStringList& fileSet, cvf::Colle } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- void RifReaderEclipseOutput::transferNNCData( const ecl_grid_type * mainEclGrid , const ecl_file_type * init_file, RigMainGrid * mainGrid) { if (!m_ecl_init_file ) return;