Roff support with submodule

* Roff: Add initial roff support (with roffcpp as submodule).
* Roff: Create viewer when importing roff files.
* Roff: add timing for roff import.
* Roff: precompute active cell indexes.
* Roff: parallelize using OpenMP.
* Roff: Handle exceptions when importing.
* Roff: improvements from review.
* Invert ordering

Co-authored-by: Magne Sjaastad <magne.sjaastad@ceetronsolutions.com>
This commit is contained in:
Kristian Bendiksen
2022-12-19 15:28:26 +01:00
committed by GitHub
parent 38bfa9ef1f
commit 8b51160ac4
19 changed files with 968 additions and 2 deletions

View File

@@ -55,6 +55,7 @@ RicImportGeneralDataFeature::OpenCaseResults
QStringList eclipseCaseFiles;
QStringList eclipseInputFiles;
QStringList eclipseSummaryFiles;
QStringList roffFiles;
for ( const QString& fileName : fileNames )
{
@@ -71,6 +72,10 @@ RicImportGeneralDataFeature::OpenCaseResults
{
eclipseSummaryFiles.push_back( fileName );
}
else if ( fileTypeAsInt & int( ImportFileType::ROFF_FILE ) )
{
roffFiles.push_back( fileName );
}
}
OpenCaseResults results;
@@ -104,6 +109,17 @@ RicImportGeneralDataFeature::OpenCaseResults
RiaApplication::instance()->setLastUsedDialogDirectory( defaultDirectoryLabel( ImportFileType::ECLIPSE_SUMMARY_FILE ),
defaultDir );
}
if ( !roffFiles.empty() )
{
if ( !openRoffCaseFromFileNames( roffFiles, createDefaultView, results.createdCaseIds ) )
{
return OpenCaseResults();
}
results.roffFiles = roffFiles;
RiaApplication::instance()->setLastUsedDialogDirectory( defaultDirectoryLabel( ImportFileType::ROFF_FILE ),
defaultDir );
}
return results;
}
@@ -167,6 +183,7 @@ QStringList RicImportGeneralDataFeature::getEclipseFileNamesWithDialog( RiaDefin
QString eclipseEGridFilePattern( "*.EGRID" );
QString eclipseInputFilePattern( "*.GRDECL" );
QString eclipseSummaryFilePattern( "*.SMSPEC" );
QString roffFilePattern( "*.ROFF *.ROFFASC" );
QStringList filePatternTexts;
if ( fileType == ImportFileType::ANY_ECLIPSE_FILE )
@@ -196,6 +213,10 @@ QStringList RicImportGeneralDataFeature::getEclipseFileNamesWithDialog( RiaDefin
{
filePatternTexts += QString( "Eclipse Summary File (%1)" ).arg( eclipseSummaryFilePattern );
}
if ( fileTypeAsInt & int( ImportFileType::ROFF_FILE ) )
{
filePatternTexts += QString( "Roff File (%1)" ).arg( roffFilePattern );
}
QString fullPattern = filePatternTexts.join( ";;" );
@@ -289,3 +310,22 @@ bool RicImportGeneralDataFeature::openSummaryCaseFromFileNames( const QStringLis
}
return false;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RicImportGeneralDataFeature::openRoffCaseFromFileNames( const QStringList& fileNames,
bool createDefaultView,
std::vector<int>& createdCaseIds )
{
CAF_ASSERT( !fileNames.empty() );
auto generatedCaseId = RiaImportEclipseCaseTools::openRoffCaseFromFileNames( fileNames, createDefaultView );
if ( generatedCaseId >= 0 )
{
RiaApplication::instance()->addToRecentFiles( fileNames[0] );
createdCaseIds.push_back( generatedCaseId );
return true;
}
return false;
}