From 2773c00f25a1ce5ec3768b490696d098b6108aec Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Thu, 21 Sep 2017 15:51:14 +0200 Subject: [PATCH] #1918 Observed Data : Use RifEclipseSummaryAddress when asking for timesteps --- .../FileInterface/RifReaderEclipseSummary.cpp | 2 +- .../FileInterface/RifReaderEclipseSummary.h | 7 +----- .../FileInterface/RifReaderObservedData.cpp | 22 +++++++++---------- .../FileInterface/RifReaderObservedData.h | 3 ++- .../FileInterface/RifSummaryReaderInterface.h | 2 +- .../Summary/RimSummaryCurve.cpp | 8 ++++--- 6 files changed, 20 insertions(+), 24 deletions(-) diff --git a/ApplicationCode/FileInterface/RifReaderEclipseSummary.cpp b/ApplicationCode/FileInterface/RifReaderEclipseSummary.cpp index 8214984dee..60a3703046 100644 --- a/ApplicationCode/FileInterface/RifReaderEclipseSummary.cpp +++ b/ApplicationCode/FileInterface/RifReaderEclipseSummary.cpp @@ -276,7 +276,7 @@ int RifReaderEclipseSummary::timeStepCount() const //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -const std::vector& RifReaderEclipseSummary::timeSteps(size_t timeSeriesIndex) const +const std::vector& RifReaderEclipseSummary::timeSteps(const RifEclipseSummaryAddress& resultAddress) const { assert(m_ecl_sum != NULL); diff --git a/ApplicationCode/FileInterface/RifReaderEclipseSummary.h b/ApplicationCode/FileInterface/RifReaderEclipseSummary.h index c5cdd35a97..e56f74430c 100644 --- a/ApplicationCode/FileInterface/RifReaderEclipseSummary.h +++ b/ApplicationCode/FileInterface/RifReaderEclipseSummary.h @@ -25,11 +25,6 @@ #include #include -#include "cvfObject.h" - - -class QDateTime; - //================================================================================================== // @@ -43,7 +38,7 @@ public: virtual bool open(const std::string& headerFileName, const std::vector& dataFileNames) override; - virtual const std::vector& timeSteps(size_t timeSeriesIndex = 0) const override; + virtual const std::vector& timeSteps(const RifEclipseSummaryAddress& resultAddress) const override; virtual bool values(const RifEclipseSummaryAddress& resultAddress, std::vector* values) override; std::string unitName(const RifEclipseSummaryAddress& resultAddress) override; diff --git a/ApplicationCode/FileInterface/RifReaderObservedData.cpp b/ApplicationCode/FileInterface/RifReaderObservedData.cpp index 5430cbab2a..addaa9bd22 100644 --- a/ApplicationCode/FileInterface/RifReaderObservedData.cpp +++ b/ApplicationCode/FileInterface/RifReaderObservedData.cpp @@ -69,20 +69,18 @@ bool RifReaderObservedData::values(const RifEclipseSummaryAddress& resultAddress //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -const std::vector& RifReaderObservedData::timeSteps(size_t timeSeriesIndex) const +const std::vector& RifReaderObservedData::timeSteps(const RifEclipseSummaryAddress& resultAddress) const { - std::vector timeStepsTime_t; - - if (m_asciiParser) - { - for (QDateTime timeStep : m_asciiParser->timeSteps()) - { - time_t t = timeStep.toTime_t(); - timeStepsTime_t.push_back(t); - } - } +// if (m_asciiParser) +// { +// for (QDateTime timeStep : m_asciiParser->timeSteps()) +// { +// time_t t = timeStep.toTime_t(); +// timeStepsTime_t.push_back(t); +// } +// } - return timeStepsTime_t; + return m_timeStepsTime_t; } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/FileInterface/RifReaderObservedData.h b/ApplicationCode/FileInterface/RifReaderObservedData.h index 94b17e8bd0..5a90f3f3b0 100644 --- a/ApplicationCode/FileInterface/RifReaderObservedData.h +++ b/ApplicationCode/FileInterface/RifReaderObservedData.h @@ -44,7 +44,7 @@ public: virtual bool open(const std::string& headerFileName, const std::vector& dataFileNames) override; - virtual const std::vector& timeSteps(size_t timeSeriesIndex = 0) const override; + virtual const std::vector& timeSteps(const RifEclipseSummaryAddress& resultAddress) const override; virtual bool values(const RifEclipseSummaryAddress& resultAddress, std::vector* values) override; std::string unitName(const RifEclipseSummaryAddress& resultAddress) override; @@ -55,5 +55,6 @@ private: RifEclipseSummaryAddress address(const AsciiData& asciiData, std::string identifierName, RifEclipseSummaryAddress::SummaryVarCategory summaryCategor); private: RifColumnBasedAsciiParser* m_asciiParser; + std::vector m_timeStepsTime_t; }; diff --git a/ApplicationCode/FileInterface/RifSummaryReaderInterface.h b/ApplicationCode/FileInterface/RifSummaryReaderInterface.h index 4a553a3bdf..cbb0a70ab0 100644 --- a/ApplicationCode/FileInterface/RifSummaryReaderInterface.h +++ b/ApplicationCode/FileInterface/RifSummaryReaderInterface.h @@ -41,7 +41,7 @@ public: bool hasAddress(const RifEclipseSummaryAddress& resultAddress); const std::vector& allResultAddresses(); - virtual const std::vector& timeSteps(size_t timeSeriesIndex = 0) const = 0; + virtual const std::vector& timeSteps(const RifEclipseSummaryAddress& resultAddress) const = 0; virtual bool values(const RifEclipseSummaryAddress& resultAddress, std::vector* values) = 0; virtual std::string unitName(const RifEclipseSummaryAddress& resultAddress) = 0; diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp index 8fc2b8b69e..f3df2568b4 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp @@ -262,7 +262,8 @@ const std::vector& RimSummaryCurve::timeSteps() const if ( !reader ) return emptyVector; - return reader->timeSteps(); + RifEclipseSummaryAddress addr = m_curveVariable()->address(); + return reader->timeSteps(addr); } //-------------------------------------------------------------------------------------------------- @@ -572,12 +573,13 @@ bool RimSummaryCurve::curveData(std::vector* timeSteps, std::vector times = reader->timeSteps(); + RifEclipseSummaryAddress addr = m_curveVariable()->address(); + + std::vector times = reader->timeSteps(addr); *timeSteps = RifReaderEclipseSummary::fromTimeT(times); if (!times.size()) return false; - RifEclipseSummaryAddress addr = m_curveVariable()->address(); return reader->values(addr, values); }