Use raw pointers instead of ref count

Added more asserts and cleanup
p4#: 20891
This commit is contained in:
Magne Sjaastad 2013-03-13 14:43:27 +01:00
parent d33a27a082
commit 160456106a
3 changed files with 19 additions and 15 deletions

View File

@ -43,7 +43,7 @@ public:
virtual void setCellScalar(size_t cellIndex, double value); virtual void setCellScalar(size_t cellIndex, double value);
private: private:
cvf::cref<RigGridBase> m_grid; const RigGridBase* m_grid;
std::vector<double>* m_reservoirResultValues; std::vector<double>* m_reservoirResultValues;
}; };
@ -55,6 +55,7 @@ RigGridAllCellsScalarDataAccess::RigGridAllCellsScalarDataAccess(const RigGridBa
m_reservoirResultValues(reservoirResultValues) m_reservoirResultValues(reservoirResultValues)
{ {
CVF_ASSERT(reservoirResultValues != NULL); CVF_ASSERT(reservoirResultValues != NULL);
CVF_ASSERT(grid != NULL);
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -65,7 +66,7 @@ double RigGridAllCellsScalarDataAccess::cellScalar(size_t gridLocalCellIndex) co
if (m_reservoirResultValues->size() == 0 ) return HUGE_VAL; if (m_reservoirResultValues->size() == 0 ) return HUGE_VAL;
size_t globalGridCellIndex = m_grid->globalGridCellIndex(gridLocalCellIndex); size_t globalGridCellIndex = m_grid->globalGridCellIndex(gridLocalCellIndex);
CVF_TIGHT_ASSERT(globalGridCellIndex < m_reservoirResultValues->size() ); CVF_TIGHT_ASSERT(globalGridCellIndex < m_reservoirResultValues->size());
return m_reservoirResultValues->at(globalGridCellIndex); return m_reservoirResultValues->at(globalGridCellIndex);
} }
@ -76,7 +77,7 @@ double RigGridAllCellsScalarDataAccess::cellScalar(size_t gridLocalCellIndex) co
void RigGridAllCellsScalarDataAccess::setCellScalar(size_t gridLocalCellIndex, double scalarValue) void RigGridAllCellsScalarDataAccess::setCellScalar(size_t gridLocalCellIndex, double scalarValue)
{ {
size_t globalGridCellIndex = m_grid->globalGridCellIndex(gridLocalCellIndex); size_t globalGridCellIndex = m_grid->globalGridCellIndex(gridLocalCellIndex);
CVF_TIGHT_ASSERT(globalGridCellIndex < m_reservoirResultValues->size() ); CVF_TIGHT_ASSERT(globalGridCellIndex < m_reservoirResultValues->size());
(*m_reservoirResultValues)[globalGridCellIndex] = scalarValue; (*m_reservoirResultValues)[globalGridCellIndex] = scalarValue;
} }
@ -92,7 +93,8 @@ public:
m_reservoirResultValues(reservoirResultValues), m_reservoirResultValues(reservoirResultValues),
m_activeCellInfo(activeCellInfo) m_activeCellInfo(activeCellInfo)
{ {
CVF_ASSERT(reservoirResultValues != NULL);
CVF_ASSERT(grid != NULL);
} }
virtual double cellScalar(size_t gridLocalCellIndex) const virtual double cellScalar(size_t gridLocalCellIndex) const
@ -103,7 +105,7 @@ public:
size_t resultValueIndex = m_activeCellInfo->activeIndexInMatrixModel(globalGridCellIndex); size_t resultValueIndex = m_activeCellInfo->activeIndexInMatrixModel(globalGridCellIndex);
if (resultValueIndex == cvf::UNDEFINED_SIZE_T) return HUGE_VAL; if (resultValueIndex == cvf::UNDEFINED_SIZE_T) return HUGE_VAL;
CVF_TIGHT_ASSERT (resultValueIndex < m_reservoirResultValues->size()); CVF_TIGHT_ASSERT(resultValueIndex < m_reservoirResultValues->size());
return m_reservoirResultValues->at(resultValueIndex); return m_reservoirResultValues->at(resultValueIndex);
} }
@ -116,14 +118,14 @@ public:
size_t globalGridCellIndex = m_grid->globalGridCellIndex(gridLocalCellIndex); size_t globalGridCellIndex = m_grid->globalGridCellIndex(gridLocalCellIndex);
size_t resultValueIndex = m_activeCellInfo->activeIndexInMatrixModel(globalGridCellIndex); size_t resultValueIndex = m_activeCellInfo->activeIndexInMatrixModel(globalGridCellIndex);
CVF_TIGHT_ASSERT (resultValueIndex < m_reservoirResultValues->size()); CVF_TIGHT_ASSERT(resultValueIndex < m_reservoirResultValues->size());
(*m_reservoirResultValues)[resultValueIndex] = scalarValue; (*m_reservoirResultValues)[resultValueIndex] = scalarValue;
} }
private: private:
const RigActiveCellInfo* m_activeCellInfo; const RigActiveCellInfo* m_activeCellInfo;
cvf::cref<RigGridBase> m_grid; const RigGridBase* m_grid;
std::vector<double>* m_reservoirResultValues; std::vector<double>* m_reservoirResultValues;
}; };
@ -137,7 +139,6 @@ cvf::ref<cvf::StructGridScalarDataAccess> RigGridScalarDataAccessFactory::create
size_t timeStepIndex, size_t timeStepIndex,
size_t scalarSetIndex) size_t scalarSetIndex)
{ {
CVF_ASSERT(gridIndex < eclipseCase->gridCount()); CVF_ASSERT(gridIndex < eclipseCase->gridCount());
CVF_ASSERT(eclipseCase); CVF_ASSERT(eclipseCase);
CVF_ASSERT(eclipseCase->results(porosityModel)); CVF_ASSERT(eclipseCase->results(porosityModel));
@ -145,12 +146,12 @@ cvf::ref<cvf::StructGridScalarDataAccess> RigGridScalarDataAccessFactory::create
RigGridBase *grid = eclipseCase->grid(gridIndex); RigGridBase *grid = eclipseCase->grid(gridIndex);
if ( !eclipseCase || !eclipseCase->results(porosityModel) || !eclipseCase->activeCellInfo(porosityModel)) if (!eclipseCase || !eclipseCase->results(porosityModel) || !eclipseCase->activeCellInfo(porosityModel))
{ {
return NULL; return NULL;
} }
std::vector< std::vector<double> > & scalarSetResults = eclipseCase->results(porosityModel)->cellScalarResults(scalarSetIndex); std::vector< std::vector<double> >& scalarSetResults = eclipseCase->results(porosityModel)->cellScalarResults(scalarSetIndex);
if (timeStepIndex >= scalarSetResults.size()) if (timeStepIndex >= scalarSetResults.size())
{ {
return NULL; return NULL;
@ -158,7 +159,6 @@ cvf::ref<cvf::StructGridScalarDataAccess> RigGridScalarDataAccessFactory::create
std::vector<double>* resultValues = &(scalarSetResults[timeStepIndex]); std::vector<double>* resultValues = &(scalarSetResults[timeStepIndex]);
bool useGlobalActiveIndex = eclipseCase->results(porosityModel)->isUsingGlobalActiveIndex(scalarSetIndex); bool useGlobalActiveIndex = eclipseCase->results(porosityModel)->isUsingGlobalActiveIndex(scalarSetIndex);
if (useGlobalActiveIndex) if (useGlobalActiveIndex)
{ {
@ -170,6 +170,5 @@ cvf::ref<cvf::StructGridScalarDataAccess> RigGridScalarDataAccessFactory::create
cvf::ref<cvf::StructGridScalarDataAccess> object = new RigGridAllCellsScalarDataAccess(grid, resultValues); cvf::ref<cvf::StructGridScalarDataAccess> object = new RigGridAllCellsScalarDataAccess(grid, resultValues);
return object; return object;
} }
} }

View File

@ -56,6 +56,8 @@ void RigStatistics::computeActiveCellUnion()
return; return;
} }
CVF_ASSERT(m_destinationCase);
RigMainGrid* mainGrid = m_sourceCases[0]->mainGrid(); RigMainGrid* mainGrid = m_sourceCases[0]->mainGrid();
CVF_ASSERT(mainGrid); CVF_ASSERT(mainGrid);
@ -165,7 +167,7 @@ void RigStatistics::buildSourceMetaData(RimDefines::ResultCatType resultType, co
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RigStatistics::evaluateStatistics(const QList<QPair<RimDefines::ResultCatType, QString> >& resultSpecification) void RigStatistics::evaluateStatistics(const QList<QPair<RimDefines::ResultCatType, QString> >& resultSpecification)
{ {
CVF_ASSERT(m_destinationCase.notNull()); CVF_ASSERT(m_destinationCase);
computeActiveCellUnion(); computeActiveCellUnion();
@ -372,9 +374,10 @@ void RigStatistics::evaluateStatistics(const QList<QPair<RimDefines::ResultCatTy
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RigStatistics::debugOutput(RimDefines::ResultCatType resultType, const QString& resultName, size_t timeStepIdx) void RigStatistics::debugOutput(RimDefines::ResultCatType resultType, const QString& resultName, size_t timeStepIdx)
{ {
CVF_ASSERT(m_destinationCase);
qDebug() << resultName << "timeIdx : " << timeStepIdx; qDebug() << resultName << "timeIdx : " << timeStepIdx;
RigReservoirCellResults* matrixResults = m_destinationCase->results(RifReaderInterface::MATRIX_RESULTS);
size_t scalarResultIndex = m_destinationCase->results(RifReaderInterface::MATRIX_RESULTS)->findOrLoadScalarResult(resultType, resultName); size_t scalarResultIndex = m_destinationCase->results(RifReaderInterface::MATRIX_RESULTS)->findOrLoadScalarResult(resultType, resultName);
cvf::ref<cvf::StructGridScalarDataAccess> dataAccessObject = m_destinationCase->dataAccessObject(m_destinationCase->mainGrid(), RifReaderInterface::MATRIX_RESULTS, timeStepIdx, scalarResultIndex); cvf::ref<cvf::StructGridScalarDataAccess> dataAccessObject = m_destinationCase->dataAccessObject(m_destinationCase->mainGrid(), RifReaderInterface::MATRIX_RESULTS, timeStepIdx, scalarResultIndex);
@ -399,5 +402,7 @@ RigStatistics::RigStatistics(cvf::Collection<RigEclipseCase>& sourceCases, const
{ {
m_globalCellCount = sourceCases[0]->mainGrid()->cells().size(); m_globalCellCount = sourceCases[0]->mainGrid()->cells().size();
} }
CVF_ASSERT(m_destinationCase);
} }

View File

@ -147,6 +147,6 @@ private:
RigStatisticsConfig m_statisticsConfig; RigStatisticsConfig m_statisticsConfig;
cvf::ref<RigEclipseCase> m_destinationCase; RigEclipseCase* m_destinationCase;
}; };