#3958 Refactoring: RigCaseCellResultsData: Remove the final result index based interface

This commit is contained in:
Jacob Støren
2019-01-28 16:18:28 +01:00
parent a185929826
commit dbb2a564a2
32 changed files with 271 additions and 251 deletions

View File

@@ -350,9 +350,9 @@ public:
server->errorMessageDialog()->showMessage(RiaSocketServer::tr("ResInsight SocketServer: \n") + RiaSocketServer::tr("Could not find the property named: \"%2\"").arg(propertyName));
return true;
}
QString totalPropName = QString("%1IJK").arg(propertyName);
rimCase->results(m_porosityModelEnum)->findOrLoadKnownScalarResult(totalPropName);
nncData->setEclResultAddress(propertyName, RigEclipseResultAddress(totalPropName));
RigEclipseResultAddress resAddr(QString("%1IJK").arg(propertyName));
rimCase->results(m_porosityModelEnum)->ensureKnownResultLoaded(resAddr);
nncData->setEclResultAddress(propertyName, resAddr);
}
// Create a list of all the requested time steps
@@ -426,22 +426,19 @@ private:
static bool scalarResultExistsOrCreate(RigCaseCellResultsData* results, QString propertyName)
{
size_t scalarResultIndex = results->findOrLoadKnownScalarResult(propertyName);
if (scalarResultIndex == cvf::UNDEFINED_SIZE_T)
RigEclipseResultAddress resAddr(RiaDefines::GENERATED, propertyName);
if ( !results->ensureKnownResultLoaded(resAddr) )
{
scalarResultIndex = results->findOrCreateScalarResultIndex(RiaDefines::GENERATED, propertyName, true);
}
if (scalarResultIndex != cvf::UNDEFINED_SIZE_T)
{
std::vector< std::vector<double> >* scalarResultFrames = nullptr;
scalarResultFrames = &(results->cellScalarResults(RigEclipseResultAddress(propertyName)));
size_t timeStepCount = results->maxTimeStepCount();
scalarResultFrames->resize(timeStepCount);
return true;
results->createResultEntry(resAddr, true);
}
return false;
std::vector< std::vector<double> >* scalarResultFrames = nullptr;
scalarResultFrames = &(results->cellScalarResults(resAddr));
size_t timeStepCount = results->maxTimeStepCount();
scalarResultFrames->resize(timeStepCount);
return true;
}
public:
bool interpretMore(RiaSocketServer* server, QTcpSocket* currentClient) override

View File

@@ -73,18 +73,14 @@ public:
// Find the requested data
size_t scalarResultIndex = cvf::UNDEFINED_SIZE_T;
std::vector< std::vector<double> >* scalarResultFrames = nullptr;
if (rimCase && rimCase->results(porosityModelEnum))
{
scalarResultIndex = rimCase->results(porosityModelEnum)->findOrLoadKnownScalarResult(propertyName);
if (scalarResultIndex != cvf::UNDEFINED_SIZE_T)
if (rimCase->results(porosityModelEnum)->ensureKnownResultLoaded(RigEclipseResultAddress(propertyName)))
{
scalarResultFrames = &(rimCase->results(porosityModelEnum)->cellScalarResults(RigEclipseResultAddress(propertyName)));
}
}
if (scalarResultFrames == nullptr)
@@ -245,7 +241,7 @@ public:
porosityModelEnum = RiaDefines::FRACTURE_MODEL;
}
size_t scalarResultIndex = cvf::UNDEFINED_SIZE_T;
bool isResultsLoaded = false;
RigEclipseResultAddress resVarAddr(propertyName);
@@ -259,11 +255,11 @@ public:
// Find the requested data
if (rimCase && rimCase->results(porosityModelEnum))
{
scalarResultIndex = rimCase->results(porosityModelEnum)->findOrLoadKnownScalarResult(propertyName);
isResultsLoaded = rimCase->results(porosityModelEnum)->ensureKnownResultLoaded(resVarAddr);
}
}
if (scalarResultIndex == cvf::UNDEFINED_SIZE_T)
if (!isResultsLoaded)
{
server->errorMessageDialog()->showMessage(RiaSocketServer::tr("ResInsight SocketServer: \n") + RiaSocketServer::tr("Could not find the %1 model property named: \"%2\"").arg(porosityModelName).arg(propertyName));
@@ -414,13 +410,11 @@ public:
if (rimCase && rimCase->results(m_porosityModelEnum))
{
size_t scalarResultIndex = cvf::UNDEFINED_SIZE_T;
scalarResultIndex = rimCase->results(m_porosityModelEnum)->findOrLoadKnownScalarResult(RiaDefines::GENERATED, propertyName);
RigEclipseResultAddress eclResAddr(RiaDefines::GENERATED, propertyName);
if (scalarResultIndex == cvf::UNDEFINED_SIZE_T)
if (!rimCase->results(m_porosityModelEnum)->ensureKnownResultLoaded(eclResAddr))
{
scalarResultIndex = rimCase->results(m_porosityModelEnum)->findOrCreateScalarResultIndex(RiaDefines::GENERATED, propertyName, true);
rimCase->results(m_porosityModelEnum)->createResultEntry(eclResAddr, true);
RigEclipseResultAddress addrToMaxTimeStepCountResult;
rimCase->results(m_porosityModelEnum)->maxTimeStepCount(&addrToMaxTimeStepCountResult);
@@ -428,15 +422,12 @@ public:
rimCase->results(m_porosityModelEnum)->setTimeStepInfos(eclResAddr, timeStepInfos);
}
if (scalarResultIndex != cvf::UNDEFINED_SIZE_T)
{
scalarResultFrames = &(rimCase->results(m_porosityModelEnum)->cellScalarResults(eclResAddr));
size_t timeStepCount = rimCase->results(m_porosityModelEnum)->maxTimeStepCount();
scalarResultFrames->resize(timeStepCount);
scalarResultFrames = &(rimCase->results(m_porosityModelEnum)->cellScalarResults(eclResAddr));
size_t timeStepCount = rimCase->results(m_porosityModelEnum)->maxTimeStepCount();
scalarResultFrames->resize(timeStepCount);
m_currentEclResultAddress = eclResAddr;
m_currentPropertyName = propertyName;
}
m_currentEclResultAddress = eclResAddr;
m_currentPropertyName = propertyName;
}
if (scalarResultFrames == nullptr)
@@ -804,27 +795,23 @@ public:
}
size_t scalarResultIndex = cvf::UNDEFINED_SIZE_T;
std::vector< std::vector<double> >* scalarResultFrames = nullptr;
if (rimCase && rimCase->results(m_porosityModelEnum))
{
scalarResultIndex = rimCase->results(m_porosityModelEnum)->findOrLoadKnownScalarResult(RiaDefines::GENERATED, propertyName);
RigEclipseResultAddress resAddr(RiaDefines::GENERATED, propertyName);
if (scalarResultIndex == cvf::UNDEFINED_SIZE_T)
if ( !rimCase->results(m_porosityModelEnum)->ensureKnownResultLoaded(resAddr))
{
scalarResultIndex = rimCase->results(m_porosityModelEnum)->findOrCreateScalarResultIndex(RiaDefines::GENERATED, propertyName, true);
rimCase->results(m_porosityModelEnum)->createResultEntry(resAddr, true);
}
if (scalarResultIndex != cvf::UNDEFINED_SIZE_T)
{
m_currentResultAddress = RigEclipseResultAddress(RiaDefines::GENERATED, propertyName);
scalarResultFrames = &(rimCase->results(m_porosityModelEnum)->cellScalarResults(m_currentResultAddress));
size_t timeStepCount = rimCase->results(m_porosityModelEnum)->maxTimeStepCount();
scalarResultFrames->resize(timeStepCount);
m_currentResultAddress = resAddr;
scalarResultFrames = &(rimCase->results(m_porosityModelEnum)->cellScalarResults(m_currentResultAddress));
size_t timeStepCount = rimCase->results(m_porosityModelEnum)->maxTimeStepCount();
scalarResultFrames->resize(timeStepCount);
m_currentPropertyName = propertyName;
}
m_currentPropertyName = propertyName;
}
if (scalarResultFrames == nullptr)
@@ -1206,7 +1193,7 @@ public:
if (rimCase && rimCase->results(porosityModel))
{
rimCase->results(porosityModel)->findOrLoadKnownScalarResult(propertyName);
rimCase->results(porosityModel)->ensureKnownResultLoaded(RigEclipseResultAddress( propertyName) );
}
std::vector<size_t> requestedTimesteps;