Faults: Eclipse input case use preferences to control import of faults

This commit is contained in:
Magne Sjaastad 2013-12-20 09:18:52 +01:00
parent b7141dde50
commit 59eeb0894f
8 changed files with 28 additions and 31 deletions

View File

@ -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<RigFault> faults;
RifEclipseInputFileTools::readFaults(fileName, faults, keywordsAndFilePos);
if (importFaults)
{
cvf::Collection<RigFault> 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 ...");

View File

@ -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<QString, QString> readProperties(const QString& fileName, RigCaseData* eclipseCase);

View File

@ -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;

View File

@ -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;
}

View File

@ -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<QDateTime>& mainCaseTimeSteps, RigCaseData* eclipseCase);
void close();
@ -89,6 +88,4 @@ private:
ecl_file_type* m_ecl_init_file; // File access to static results
cvf::ref<RifEclipseRestartDataAccess> m_dynamicResultsAccess; // File access to dynamic results
bool m_enableFaultsImport;
};

View File

@ -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<QString>& filenames) { m_filenamesWithFaults = filenames; }
std::vector<QString> filenamesWithFaults() { return m_filenamesWithFaults; }
private:
std::vector<QString> m_filenamesWithFaults;
std::vector<QString> m_filenamesWithFaults;
bool m_enableFaultsImport;
};

View File

@ -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<RigCaseData> eclipseCase = new RigCaseData;
RiaPreferences* prefs = RiaApplication::instance()->preferences();
readerInterface = new RifReaderEclipseInput;
readerInterface->enableFaultsImport(prefs->enableFaultsImport());
cvf::ref<RigCaseData> eclipseCase = new RigCaseData;
if (!readerInterface->open(m_gridFileName, eclipseCase.p()))
{
return false;

View File

@ -98,12 +98,9 @@ bool RimResultCase::openEclipseGridFile()
return false;
}
cvf::ref<RifReaderEclipseOutput> 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<RigCaseData> eclipseCase = new RigCaseData;