#1322 Use HUGE_VAL if no results are available

This commit is contained in:
Magne Sjaastad 2017-03-24 08:21:24 +01:00
parent 17dbb179d9
commit 40ecdc5a7b

View File

@ -19,14 +19,12 @@
#include "RigTimeHistoryResultAccessor.h" #include "RigTimeHistoryResultAccessor.h"
#include "RigCaseCellResultsData.h"
#include "RigEclipseCaseData.h"
#include "RigGridBase.h"
#include "RigResultAccessor.h" #include "RigResultAccessor.h"
#include "RigResultAccessorFactory.h" #include "RigResultAccessorFactory.h"
#include "RimEclipseCellColors.h" #include "RigEclipseCaseData.h"
#include "RigGridBase.h"
#include <cmath> // Needed for HUGE_VAL on Linux //#include <cmath> // Needed for HUGE_VAL on Linux
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
@ -35,11 +33,22 @@ std::vector<double> RigTimeHistoryResultAccessor::timeHistoryValues(RigEclipseCa
{ {
std::vector<double> values; std::vector<double> values;
RigHugeValResultAccessor hugeVal;
for (size_t i = 0; i < timeStepCount; i++) for (size_t i = 0; i < timeStepCount; i++)
{ {
cvf::ref<RigResultAccessor> resultAccessor = RigResultAccessorFactory::createFromResultDefinition(eclipseCaseData, gridIndex, i, resultDefinition); // TODO: Consider rewrite RigResultAccessorFactory::createFromResultDefinition so the function always returns a valid
// result accessor. Use hugeVal result accessor if no valid result is found
values.push_back(resultAccessor->cellScalar(cellIndex)); cvf::ref<RigResultAccessor> resultAccessor = RigResultAccessorFactory::createFromResultDefinition(eclipseCaseData, gridIndex, i, resultDefinition);
if (resultAccessor.notNull())
{
values.push_back(resultAccessor->cellScalar(cellIndex));
}
else
{
values.push_back(hugeVal.cellScalar(cellIndex));
}
} }
return values; return values;