mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Read multiple FAULTS keywords
A list of files are cached in the project file. When reading faults from these files, make sure multiple FAULTS keywords in the same file is parsed.
This commit is contained in:
parent
1a83008e39
commit
3e6954d7f5
@ -581,8 +581,13 @@ void RifEclipseInputFileTools::readFaults(const QString& fileName, cvf::Collecti
|
||||
// Parse complete file if no keywords are parsed
|
||||
if (fileKeywords.size() == 0)
|
||||
{
|
||||
qint64 filePos = 0;
|
||||
readFaults(data, filePos, faults, NULL);
|
||||
qint64 filePos = findKeyword(faultsKeyword, data, 0);
|
||||
|
||||
while (filePos != -1)
|
||||
{
|
||||
readFaults(data, filePos, faults, NULL);
|
||||
filePos = findKeyword(faultsKeyword, data, filePos);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
@ -626,7 +631,7 @@ void RifEclipseInputFileTools::readFaultsInGridSection(const QString& fileName,
|
||||
|
||||
// Search for keyword grid
|
||||
|
||||
qint64 gridPos = findKeyword(gridKeyword, data);
|
||||
qint64 gridPos = findKeyword(gridKeyword, data, 0);
|
||||
if (gridPos < 0)
|
||||
{
|
||||
return;
|
||||
@ -657,10 +662,12 @@ size_t RifEclipseInputFileTools::findFaultByName(const cvf::Collection<RigFault>
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
qint64 RifEclipseInputFileTools::findKeyword(const QString& keyword, QFile& file)
|
||||
qint64 RifEclipseInputFileTools::findKeyword(const QString& keyword, QFile& file, qint64 startPos)
|
||||
{
|
||||
QString line;
|
||||
|
||||
file.seek(startPos);
|
||||
|
||||
do
|
||||
{
|
||||
line = file.readLine();
|
||||
|
@ -80,6 +80,6 @@ private:
|
||||
|
||||
static size_t findFaultByName(const cvf::Collection<RigFault>& faults, const QString& name);
|
||||
|
||||
static qint64 findKeyword(const QString& keyword, QFile& file);
|
||||
static qint64 findKeyword(const QString& keyword, QFile& file, qint64 startPos);
|
||||
|
||||
};
|
||||
|
@ -396,10 +396,10 @@ bool RifReaderEclipseOutput::open(const QString& fileName, RigCaseData* eclipseC
|
||||
QString faultFilename = this->filenamesWithFaults()[i];
|
||||
|
||||
RifEclipseInputFileTools::readFaults(faultFilename, faults, fileKeywords);
|
||||
|
||||
RigMainGrid* mainGrid = eclipseCase->mainGrid();
|
||||
mainGrid->setFaults(faults);
|
||||
}
|
||||
|
||||
RigMainGrid* mainGrid = eclipseCase->mainGrid();
|
||||
mainGrid->setFaults(faults);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -75,6 +75,13 @@ void CellRange::setRange(const cvf::Vec3st& min, const cvf::Vec3st& max)
|
||||
m_min = min;
|
||||
m_max = max;
|
||||
|
||||
CVF_ASSERT(m_min.x() != cvf::UNDEFINED_SIZE_T);
|
||||
CVF_ASSERT(m_min.y() != cvf::UNDEFINED_SIZE_T);
|
||||
CVF_ASSERT(m_min.z() != cvf::UNDEFINED_SIZE_T);
|
||||
CVF_ASSERT(m_max.x() != cvf::UNDEFINED_SIZE_T);
|
||||
CVF_ASSERT(m_max.y() != cvf::UNDEFINED_SIZE_T);
|
||||
CVF_ASSERT(m_max.z() != cvf::UNDEFINED_SIZE_T);
|
||||
|
||||
CVF_ASSERT(normalize());
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user