Merged branch dev into pre-proto

This commit is contained in:
Magne Sjaastad 2017-01-19 10:45:22 +01:00
commit da371c099b
13 changed files with 55 additions and 28 deletions

View File

@ -126,7 +126,8 @@ void RivIntersectionBoxPartMgr::updateCellResultColor(size_t timeStepIndex)
} }
else else
{ {
resultAccessor = RigResultAccessorFactory::createFromResultDefinition(0, resultAccessor = RigResultAccessorFactory::createFromResultDefinition(cellResultColors->reservoirView()->eclipseCase()->reservoirData(),
0,
timeStepIndex, timeStepIndex,
cellResultColors); cellResultColors);
} }

View File

@ -134,7 +134,8 @@ void RivIntersectionPartMgr::updateCellResultColor(size_t timeStepIndex)
} }
else else
{ {
resultAccessor = RigResultAccessorFactory::createFromResultDefinition(0, resultAccessor = RigResultAccessorFactory::createFromResultDefinition(cellResultColors->reservoirView()->eclipseCase()->reservoirData(),
0,
timeStepIndex, timeStepIndex,
cellResultColors); cellResultColors);
} }

View File

@ -60,7 +60,7 @@ void RivCellEdgeGeometryUtils::addCellEdgeResultsToDrawableGeo(
// Create result access objects // Create result access objects
cvf::ref<RigResultAccessor> cellCenterDataAccessObject = RigResultAccessorFactory::createFromResultDefinition(gridIndex, timeStepIndex, cellResultColors); cvf::ref<RigResultAccessor> cellCenterDataAccessObject = createCellCenterResultAccessor(cellResultColors, timeStepIndex, eclipseCase, eclipseCase->grid(gridIndex));
cvf::ref<RigResultAccessor> cellEdgeResultAccessor = createCellEdgeResultAccessor(cellResultColors, cellEdgeResultColors, timeStepIndex, eclipseCase, eclipseCase->grid(gridIndex)); cvf::ref<RigResultAccessor> cellEdgeResultAccessor = createCellEdgeResultAccessor(cellResultColors, cellEdgeResultColors, timeStepIndex, eclipseCase, eclipseCase->grid(gridIndex));
size_t vertexCount = geo->vertexArray()->size(); size_t vertexCount = geo->vertexArray()->size();
@ -303,7 +303,7 @@ cvf::ref<RigResultAccessor> RivCellEdgeGeometryUtils::createCellEdgeResultAccess
if (cellEdgeResultColors->propertyType() == RimCellEdgeColors::ANY_SINGLE_PROPERTY) if (cellEdgeResultColors->propertyType() == RimCellEdgeColors::ANY_SINGLE_PROPERTY)
{ {
cvf::ref<RigResultAccessor> daObj = RigResultAccessorFactory::createFromResultDefinition(grid->gridIndex(), timeStepIndex, cellEdgeResultColors->singleVarEdgeResultColors()); cvf::ref<RigResultAccessor> daObj = RivCellEdgeGeometryUtils::createCellCenterResultAccessor(cellEdgeResultColors->singleVarEdgeResultColors(), timeStepIndex, eclipseCase, grid);
for (size_t cubeFaceIdx = 0; cubeFaceIdx < 6; cubeFaceIdx++) for (size_t cubeFaceIdx = 0; cubeFaceIdx < 6; cubeFaceIdx++)
{ {
@ -335,3 +335,23 @@ cvf::ref<RigResultAccessor> RivCellEdgeGeometryUtils::createCellEdgeResultAccess
return cellEdgeResultAccessor; return cellEdgeResultAccessor;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
cvf::ref<RigResultAccessor> RivCellEdgeGeometryUtils::createCellCenterResultAccessor(RimEclipseCellColors* cellResultColors, size_t timeStepIndex, RigEclipseCaseData* eclipseCase, const RigGridBase* grid)
{
cvf::ref<RigResultAccessor> resultAccessor = NULL;
if (cellResultColors->hasResult())
{
resultAccessor = RigResultAccessorFactory::createFromResultDefinition(eclipseCase, grid->gridIndex(), timeStepIndex, cellResultColors);
}
if (resultAccessor.isNull())
{
resultAccessor = new RigHugeValResultAccessor;
}
return resultAccessor;
}

View File

@ -57,6 +57,12 @@ public:
private: private:
static cvf::ref<RigResultAccessor> createCellCenterResultAccessor(
RimEclipseCellColors* cellResultColors,
size_t timeStepIndex,
RigEclipseCaseData* eclipseCase,
const RigGridBase* grid);
static cvf::ref<RigResultAccessor> createCellEdgeResultAccessor( static cvf::ref<RigResultAccessor> createCellEdgeResultAccessor(
RimEclipseCellColors* cellResultColors, RimEclipseCellColors* cellResultColors,
RimCellEdgeColors* cellEdgeResultColors, RimCellEdgeColors* cellEdgeResultColors,

View File

@ -789,7 +789,9 @@ void RivReservoirViewPartMgr::computePropertyVisibility(cvf::UByteArray* cellVis
{ {
const RimCellFilter::FilterModeType filterType = propertyFilter->filterMode(); const RimCellFilter::FilterModeType filterType = propertyFilter->filterMode();
cvf::ref<RigResultAccessor> resultAccessor = RigResultAccessorFactory::createFromResultDefinition(grid->gridIndex(), timeStepIndex, propertyFilter->resultDefinition); RigEclipseCaseData* eclipseCase = propFilterColl->reservoirView()->eclipseCase()->reservoirData();
cvf::ref<RigResultAccessor> resultAccessor = RigResultAccessorFactory::createFromResultDefinition(eclipseCase, grid->gridIndex(), timeStepIndex, propertyFilter->resultDefinition);
CVF_ASSERT(resultAccessor.notNull()); CVF_ASSERT(resultAccessor.notNull());

View File

@ -45,7 +45,7 @@ RivTextureCoordsCreator::RivTextureCoordsCreator(RimEclipseCellColors* cellResul
m_quadMapper = quadMapper; m_quadMapper = quadMapper;
CVF_ASSERT(quadMapper && eclipseCase ); CVF_ASSERT(quadMapper && eclipseCase );
m_resultAccessor = RigResultAccessorFactory::createFromResultDefinition(gridIndex, timeStepIndex, cellResultColors); m_resultAccessor = RigResultAccessorFactory::createFromResultDefinition(eclipseCase, gridIndex, timeStepIndex, cellResultColors);
cvf::ref<RigPipeInCellEvaluator> pipeInCellEval = cvf::ref<RigPipeInCellEvaluator> pipeInCellEval =
new RigPipeInCellEvaluator(cellResultColors->reservoirView()->wellCollection()->resultWellGeometryVisibilities(timeStepIndex), new RigPipeInCellEvaluator(cellResultColors->reservoirView()->wellCollection()->resultWellGeometryVisibilities(timeStepIndex),

View File

@ -250,7 +250,8 @@ void RimWellLogExtractionCurve::onLoadDataAndUpdate()
m_eclipseResultDefinition->loadResult(); m_eclipseResultDefinition->loadResult();
cvf::ref<RigResultAccessor> resAcc = RigResultAccessorFactory::createFromResultDefinition(0, cvf::ref<RigResultAccessor> resAcc = RigResultAccessorFactory::createFromResultDefinition(eclipseCase->reservoirData(),
0,
m_timeStep, m_timeStep,
m_eclipseResultDefinition); m_eclipseResultDefinition);

View File

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

View File

@ -33,7 +33,8 @@ class RigResultAccessorFactory
{ {
public: public:
static cvf::ref<RigResultAccessor> static cvf::ref<RigResultAccessor>
createFromResultDefinition(size_t gridIndex, createFromResultDefinition(RigEclipseCaseData* eclipseCase,
size_t gridIndex,
size_t timeStepIndex, size_t timeStepIndex,
RimEclipseResultDefinition* resultDefinition); RimEclipseResultDefinition* resultDefinition);

View File

@ -31,13 +31,13 @@
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
std::vector<double> RigTimeHistoryResultAccessor::timeHistoryValues(RimEclipseCellColors* cellColors, size_t gridIndex, size_t cellIndex, size_t timeStepCount) std::vector<double> RigTimeHistoryResultAccessor::timeHistoryValues(RigEclipseCaseData* eclipseCaseData, RimEclipseCellColors* cellColors, size_t gridIndex, size_t cellIndex, size_t timeStepCount)
{ {
std::vector<double> values; std::vector<double> values;
for (size_t i = 0; i < timeStepCount; i++) for (size_t i = 0; i < timeStepCount; i++)
{ {
cvf::ref<RigResultAccessor> resultAccessor = RigResultAccessorFactory::createFromResultDefinition(gridIndex, i, cellColors); cvf::ref<RigResultAccessor> resultAccessor = RigResultAccessorFactory::createFromResultDefinition(eclipseCaseData, gridIndex, i, cellColors);
values.push_back(resultAccessor->cellScalar(cellIndex)); values.push_back(resultAccessor->cellScalar(cellIndex));
} }
@ -48,7 +48,7 @@ std::vector<double> RigTimeHistoryResultAccessor::timeHistoryValues(RimEclipseCe
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
QString RigTimeHistoryResultAccessor::topologyText(RigEclipseCaseData* eclipseCaseData, size_t gridIndex, size_t cellIndex) QString RigTimeHistoryResultAccessor::topologyText(RigEclipseCaseData* eclipseCaseData, size_t gridIndex, size_t cellIndex)
{ {
QString text; QString text;

View File

@ -30,7 +30,7 @@ class RimEclipseCellColors;
class RigTimeHistoryResultAccessor class RigTimeHistoryResultAccessor
{ {
public: public:
static QString topologyText(RigEclipseCaseData* m_eclipseCaseData, size_t m_gridIndex, size_t m_cellIndex); static QString topologyText(RigEclipseCaseData* eclipseCaseData, size_t m_gridIndex, size_t m_cellIndex);
static std::vector<double> timeHistoryValues(RimEclipseCellColors* cellColors, size_t gridIndex, size_t cellIndex, size_t timeStepCount); static std::vector<double> timeHistoryValues(RigEclipseCaseData* eclipseCaseData, RimEclipseCellColors* cellColors, size_t gridIndex, size_t cellIndex, size_t timeStepCount);
}; };

View File

@ -494,7 +494,7 @@ void RiuResultTextBuilder::appendTextFromResultColors(RigEclipseCaseData* eclips
} }
else else
{ {
resultAccessor = RigResultAccessorFactory::createFromResultDefinition(gridIndex, timeStepIndex, resultColors); resultAccessor = RigResultAccessorFactory::createFromResultDefinition(eclipseCase, gridIndex, timeStepIndex, resultColors);
} }
if (resultAccessor.notNull()) if (resultAccessor.notNull())
@ -700,7 +700,7 @@ QString RiuResultTextBuilder::cellResultText(RimEclipseCellColors* resultColors)
adjustedTimeStep = 0; adjustedTimeStep = 0;
} }
cvf::ref<RigResultAccessor> resultAccessor = RigResultAccessorFactory::createFromResultDefinition(m_gridIndex, adjustedTimeStep, resultColors); cvf::ref<RigResultAccessor> resultAccessor = RigResultAccessorFactory::createFromResultDefinition(eclipseCaseData, m_gridIndex, adjustedTimeStep, resultColors);
if (resultAccessor.notNull()) if (resultAccessor.notNull())
{ {
double scalarValue = resultAccessor->cellFaceScalar(m_cellIndex, m_face); double scalarValue = resultAccessor->cellFaceScalar(m_cellIndex, m_face);

View File

@ -127,7 +127,8 @@ void RiuSelectionChangedHandler::addCurveFromSelectionItem(const RiuEclipseSelec
curveName += ", "; curveName += ", ";
curveName += RigTimeHistoryResultAccessor::topologyText(eclipseView->eclipseCase()->reservoirData(), eclipseSelectionItem->m_gridIndex, eclipseSelectionItem->m_cellIndex); curveName += RigTimeHistoryResultAccessor::topologyText(eclipseView->eclipseCase()->reservoirData(), eclipseSelectionItem->m_gridIndex, eclipseSelectionItem->m_cellIndex);
std::vector<double> timeHistoryValues = RigTimeHistoryResultAccessor::timeHistoryValues(eclipseView->cellResult(), eclipseSelectionItem->m_gridIndex, eclipseSelectionItem->m_cellIndex, timeStepDates.size());
std::vector<double> timeHistoryValues = RigTimeHistoryResultAccessor::timeHistoryValues(eclipseView->eclipseCase()->reservoirData(), eclipseView->cellResult(), eclipseSelectionItem->m_gridIndex, eclipseSelectionItem->m_cellIndex, timeStepDates.size());
CVF_ASSERT(timeStepDates.size() == timeHistoryValues.size()); CVF_ASSERT(timeStepDates.size() == timeHistoryValues.size());
RiuMainWindow::instance()->resultPlot()->addCurve(curveName, eclipseSelectionItem->m_color, timeStepDates, timeHistoryValues); RiuMainWindow::instance()->resultPlot()->addCurve(curveName, eclipseSelectionItem->m_color, timeStepDates, timeHistoryValues);