mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Improved result accessor factory
Moved clamping of time step to zero for static results into factory
This commit is contained in:
@@ -30,6 +30,8 @@
|
||||
#include "RigMainGrid.h"
|
||||
#include "RigResultAccessor.h"
|
||||
|
||||
#include "RimEclipseResultDefinition.h"
|
||||
|
||||
#include "cvfAssert.h"
|
||||
#include "cvfBase.h"
|
||||
#include "cvfLibCore.h"
|
||||
@@ -145,7 +147,34 @@ cvf::ref<RigResultAccessor> RigResultAccessorFactory::createResultAccessor(RigCa
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return createResultAccessor(eclipseCase, gridIndex, porosityModel, timeStepIndex, scalarSetIndex);
|
||||
size_t adjustedTimeStepIndex = timeStepIndex;
|
||||
if (resultType == RimDefines::STATIC_NATIVE)
|
||||
{
|
||||
adjustedTimeStepIndex = 0;
|
||||
}
|
||||
|
||||
return createResultAccessor(eclipseCase, gridIndex, porosityModel, adjustedTimeStepIndex, scalarSetIndex);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
cvf::ref<RigResultAccessor> RigResultAccessorFactory::createResultAccessor(RigCaseData* eclipseCase, size_t gridIndex, size_t timeStepIndex, RimEclipseResultDefinition* resultDefinition)
|
||||
{
|
||||
RifReaderInterface::PorosityModelResultType porosityModel = RigCaseCellResultsData::convertFromProjectModelPorosityModel(resultDefinition->porosityModel());
|
||||
resultDefinition->loadResult();
|
||||
|
||||
size_t adjustedTimeStepIndex = timeStepIndex;
|
||||
if (resultDefinition->hasStaticResult())
|
||||
{
|
||||
adjustedTimeStepIndex = 0;
|
||||
}
|
||||
|
||||
return RigResultAccessorFactory::createResultAccessor(
|
||||
eclipseCase, 0,
|
||||
porosityModel,
|
||||
adjustedTimeStepIndex,
|
||||
resultDefinition->resultVariable());
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -21,14 +21,23 @@
|
||||
|
||||
#include "RifReaderInterface.h"
|
||||
#include "RigResultAccessor.h"
|
||||
|
||||
#include "RimDefines.h"
|
||||
|
||||
class RigActiveCellInfo;
|
||||
class RigGridBase;
|
||||
|
||||
class RimEclipseResultDefinition;
|
||||
|
||||
class RigResultAccessorFactory
|
||||
{
|
||||
public:
|
||||
static cvf::ref<RigResultAccessor>
|
||||
createResultAccessor(RigCaseData* eclipseCase,
|
||||
size_t gridIndex,
|
||||
size_t timeStepIndex,
|
||||
RimEclipseResultDefinition* resultDefinition);
|
||||
|
||||
static cvf::ref<RigResultAccessor>
|
||||
createResultAccessor(RigCaseData* eclipseCase,
|
||||
size_t gridIndex,
|
||||
@@ -51,8 +60,6 @@ public:
|
||||
size_t timeStepIndex,
|
||||
size_t resultIndex);
|
||||
|
||||
|
||||
|
||||
private:
|
||||
static cvf::ref<RigResultAccessor>
|
||||
createNativeResultAccessor(RigCaseData* eclipseCase,
|
||||
@@ -61,7 +68,6 @@ private:
|
||||
size_t timeStepIndex,
|
||||
const QString& resultName);
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user