#8143 Performance: Avoid parsing grid GRDECL file twice

Previous implementation parsed grid file twice both for geometry data and properties.
This commit is contained in:
Magne Sjaastad
2021-10-21 13:13:01 +02:00
parent 9940b4ea50
commit 6b13a31349
10 changed files with 135 additions and 39 deletions

View File

@@ -26,6 +26,8 @@
class RimEclipseInputPropertyCollection;
class RigEclipseCaseData;
class RifEclipseKeywordContent;
namespace caf
{
class ProgressInfo;
@@ -44,6 +46,9 @@ public:
const std::vector<QString>& filenames,
bool allowImportOfFaults );
static void createInputPropertiesFromKeywords( RigEclipseCaseData* eclipseCase,
const std::vector<RifEclipseKeywordContent>& keywordContent );
private:
// Hide constructor to prevent instantiation
RifEclipseInputPropertyLoader();
@@ -54,9 +59,17 @@ private:
static const std::vector<QString>& invalidPropertyDataKeywords();
static bool isValidDataKeyword( const QString& keyword );
static bool appendInputPropertyResult( RigEclipseCaseData* caseData,
const QString& resultName,
const std::string& eclipseKeyword,
const std::vector<float>& values,
QString* errMsg );
static bool isInputPropertyCandidate( const RigEclipseCaseData* caseData,
const std::string& eclipseKeyword,
size_t numberOfValues );
static bool appendNewInputPropertyResult( RigEclipseCaseData* caseData,
const QString& resultName,
const std::string& eclipseKeyword,
const std::vector<float>& values,
QString* errMsg );
static QString evaluateAndCreateInputPropertyResult( RigEclipseCaseData* eclipseCase,
const RifEclipseKeywordContent& keywordContent,
QString* errorMessage );
};