#1816 Move functions from SummaryReaderInterface to EclipseSummaryReader

This commit is contained in:
Rebecca Cox 2017-09-21 12:20:09 +02:00
parent 68a101fe2d
commit 62d9978504
6 changed files with 28 additions and 38 deletions

View File

@ -283,6 +283,22 @@ const std::vector<time_t>& RifReaderEclipseSummary::timeSteps(size_t timeSeriesI
return m_timeSteps;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
int RifReaderEclipseSummary::indexFromAddress(const RifEclipseSummaryAddress& resultAddress)
{
this->buildMetaData();
auto it = m_resultAddressToErtNodeIdx.find(resultAddress);
if (it != m_resultAddressToErtNodeIdx.end())
{
return it->second;
}
return -1;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -49,7 +49,8 @@ public:
std::string unitName(const RifEclipseSummaryAddress& resultAddress) override;
private:
virtual int timeStepCount() const override;
virtual int timeStepCount() const;
int indexFromAddress(const RifEclipseSummaryAddress& resultAddress);
virtual void buildMetaData() override;
private:
@ -60,5 +61,7 @@ private:
ecl_sum_type* m_ecl_sum;
const ecl_smspec_type * m_ecl_SmSpec;
std::vector<time_t> m_timeSteps;
std::map<RifEclipseSummaryAddress, int> m_resultAddressToErtNodeIdx;
};

View File

@ -66,19 +66,6 @@ bool RifReaderObservedData::values(const RifEclipseSummaryAddress& resultAddress
return true;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
int RifReaderObservedData::timeStepCount() const
{
if (m_asciiParser)
{
return static_cast<int>(m_asciiParser->timeSteps().size());
}
return 0;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -50,7 +50,6 @@ public:
std::string unitName(const RifEclipseSummaryAddress& resultAddress) override;
private:
virtual int timeStepCount() const override;
virtual void buildMetaData() override;
RifEclipseSummaryAddress address(const AsciiData& asciiData, std::string identifierName, RifEclipseSummaryAddress::SummaryVarCategory summaryCategor);

View File

@ -49,22 +49,6 @@ std::vector<QDateTime> RifSummaryReaderInterface::fromTimeT(const std::vector<ti
return a;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
int RifSummaryReaderInterface::indexFromAddress(const RifEclipseSummaryAddress& resultAddress)
{
this->buildMetaData();
auto it = m_resultAddressToErtNodeIdx.find(resultAddress);
if (it != m_resultAddressToErtNodeIdx.end())
{
return it->second;
}
return -1;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -72,7 +56,13 @@ bool RifSummaryReaderInterface::hasAddress(const RifEclipseSummaryAddress& resul
{
this->buildMetaData();
auto it = m_resultAddressToErtNodeIdx.find(resultAddress);
for (RifEclipseSummaryAddress summaryAddress : m_allResultAddresses)
{
if (summaryAddress == resultAddress)
{
return true;
}
}
return (it != m_resultAddressToErtNodeIdx.end());
return false;
}

View File

@ -50,14 +50,9 @@ public:
static std::vector<QDateTime> fromTimeT(const std::vector<time_t>& timeSteps);
protected:
virtual int timeStepCount() const = 0;
int indexFromAddress(const RifEclipseSummaryAddress& resultAddress);
virtual void buildMetaData() = 0;
protected:
std::vector<RifEclipseSummaryAddress> m_allResultAddresses;
std::map<RifEclipseSummaryAddress, int> m_resultAddressToErtNodeIdx;
};