Access of RimEclipseCase was done by firstAncestorOf from, and in several cases RimEclipseCase is not parent of RimEclipseCellColors. RimEclipseCase must be explicitly specified.
This commit is contained in:
Magne Sjaastad
2017-01-19 10:37:59 +01:00
parent 539db3cc52
commit 9b42f1ca8c
10 changed files with 48 additions and 22 deletions

View File

@@ -23,19 +23,18 @@
#include "RigActiveCellsResultAccessor.h"
#include "RigAllGridCellsResultAccessor.h"
#include "RigCaseCellResultsData.h"
#include "RigEclipseCaseData.h"
#include "RigCombMultResultAccessor.h"
#include "RigCombTransResultAccessor.h"
#include "RigEclipseCaseData.h"
#include "RigFlowDiagResults.h"
#include "RigGridBase.h"
#include "RigMainGrid.h"
#include "RigResultAccessor.h"
#include "RimEclipseCase.h"
#include "RimEclipseResultDefinition.h"
#include "RimFlowDiagSolution.h"
#include <math.h>
#include "RimFlowDiagSolution.h"
#include "RigFlowDiagResults.h"
//--------------------------------------------------------------------------------------------------
///
@@ -168,16 +167,11 @@ cvf::ref<RigResultAccessor> RigResultAccessorFactory::createFromNameAndType(RigE
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
cvf::ref<RigResultAccessor> RigResultAccessorFactory::createFromResultDefinition(size_t gridIndex,
cvf::ref<RigResultAccessor> RigResultAccessorFactory::createFromResultDefinition(RigEclipseCaseData* eclipseCase,
size_t gridIndex,
size_t timeStepIndex,
RimEclipseResultDefinition* resultDefinition)
{
RimEclipseCase* rimEclipseCase = nullptr;
resultDefinition->firstAncestorOrThisOfType(rimEclipseCase);
RigEclipseCaseData* eclipseCase = rimEclipseCase->reservoirData();
if (!eclipseCase) return new RigHugeValResultAccessor;
RifReaderInterface::PorosityModelResultType porosityModel = RigCaseCellResultsData::convertFromProjectModelPorosityModel(resultDefinition->porosityModel());
if (resultDefinition->resultType() != RimDefines::FLOW_DIAGNOSTICS)
@@ -198,7 +192,7 @@ cvf::ref<RigResultAccessor> RigResultAccessorFactory::createFromResultDefinition
else
{
RimFlowDiagSolution* flowSol = resultDefinition->flowDiagSolution();
if (!flowSol) return new RigHugeValResultAccessor;
if (!flowSol) return new RigHugeValResultAccessor;;
const std::vector<double>* resultValues = flowSol->flowDiagResults()->resultValues( resultDefinition->flowDiagResAddress(), timeStepIndex);
if (!resultValues) return new RigHugeValResultAccessor;