#1918 Observed Data : Stripped down SummaryReaderInterface

This commit is contained in:
Magne Sjaastad 2017-09-22 09:41:33 +02:00
parent 30a77e4f68
commit 8f158510f9
6 changed files with 22 additions and 40 deletions

View File

@ -82,6 +82,8 @@ bool RifReaderEclipseSummary::open(const std::string& headerFileName, const std:
m_timeSteps.push_back(sim_time);
}
buildMetaData();
return true;
}
@ -288,8 +290,6 @@ const std::vector<time_t>& RifReaderEclipseSummary::timeSteps(const RifEclipseSu
//--------------------------------------------------------------------------------------------------
int RifReaderEclipseSummary::indexFromAddress(const RifEclipseSummaryAddress& resultAddress)
{
this->buildMetaData();
auto it = m_resultAddressToErtNodeIdx.find(resultAddress);
if (it != m_resultAddressToErtNodeIdx.end())
{
@ -304,7 +304,10 @@ int RifReaderEclipseSummary::indexFromAddress(const RifEclipseSummaryAddress& re
//--------------------------------------------------------------------------------------------------
void RifReaderEclipseSummary::buildMetaData()
{
if(m_allResultAddresses.size() == 0 && m_ecl_SmSpec)
m_allResultAddresses.clear();
m_resultAddressToErtNodeIdx.clear();
if(m_ecl_SmSpec)
{
int varCount = ecl_smspec_num_nodes(m_ecl_SmSpec);
for(int i = 0; i < varCount; i++)
@ -347,4 +350,4 @@ void RifReaderEclipseSummary::populateVectorFromStringList(stringlist_type* stri
}
}
#endif
#endif

View File

@ -36,18 +36,18 @@ public:
RifReaderEclipseSummary();
~RifReaderEclipseSummary();
virtual bool open(const std::string& headerFileName, const std::vector<std::string>& dataFileNames) override;
bool open(const std::string& headerFileName, const std::vector<std::string>& dataFileNames);
virtual const std::vector<time_t>& timeSteps(const RifEclipseSummaryAddress& resultAddress) const override;
virtual const std::vector<time_t>& timeSteps(const RifEclipseSummaryAddress& resultAddress) const override;
virtual bool values(const RifEclipseSummaryAddress& resultAddress, std::vector<double>* values) override;
std::string unitName(const RifEclipseSummaryAddress& resultAddress) override;
virtual bool values(const RifEclipseSummaryAddress& resultAddress, std::vector<double>* values) override;
std::string unitName(const RifEclipseSummaryAddress& resultAddress) override;
private:
virtual int timeStepCount() const;
int indexFromAddress(const RifEclipseSummaryAddress& resultAddress);
int timeStepCount() const;
int indexFromAddress(const RifEclipseSummaryAddress& resultAddress);
void buildMetaData();
virtual void buildMetaData() override;
private:
// Taken from ecl_sum.h
typedef struct ecl_sum_struct ecl_sum_type;

View File

@ -47,7 +47,7 @@ RifReaderObservedData::~RifReaderObservedData()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RifReaderObservedData::open(const std::string& headerFileName, const std::vector<std::string>& dataFileNames)
bool RifReaderObservedData::open(const std::string& headerFileName)
{
if (headerFileName.empty()) return false;
@ -83,17 +83,6 @@ const std::vector<time_t>& RifReaderObservedData::timeSteps(const RifEclipseSumm
return m_timeStepsTime_t;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RifReaderObservedData::buildMetaData()
{
if (m_allResultAddresses.size() == 0)
{
}
}
//--------------------------------------------------------------------------------------------------
///

View File

@ -42,7 +42,7 @@ public:
RifReaderObservedData();
~RifReaderObservedData();
virtual bool open(const std::string& headerFileName, const std::vector<std::string>& dataFileNames) override;
bool open(const std::string& headerFileName);
virtual const std::vector<time_t>& timeSteps(const RifEclipseSummaryAddress& resultAddress) const override;
@ -50,8 +50,6 @@ public:
std::string unitName(const RifEclipseSummaryAddress& resultAddress) override;
private:
virtual void buildMetaData() override;
RifEclipseSummaryAddress address(const AsciiData& asciiData, std::string identifierName, RifEclipseSummaryAddress::SummaryVarCategory summaryCategor);
private:
RifColumnBasedAsciiParser* m_asciiParser;

View File

@ -28,8 +28,6 @@
//--------------------------------------------------------------------------------------------------
const std::vector<RifEclipseSummaryAddress>& RifSummaryReaderInterface::allResultAddresses()
{
this->buildMetaData();
return m_allResultAddresses;
}
@ -54,8 +52,6 @@ std::vector<QDateTime> RifSummaryReaderInterface::fromTimeT(const std::vector<ti
//--------------------------------------------------------------------------------------------------
bool RifSummaryReaderInterface::hasAddress(const RifEclipseSummaryAddress& resultAddress)
{
this->buildMetaData();
for (RifEclipseSummaryAddress summaryAddress : m_allResultAddresses)
{
if (summaryAddress == resultAddress)

View File

@ -37,21 +37,17 @@ class QDateTime;
class RifSummaryReaderInterface : public cvf::Object
{
public:
virtual bool open(const std::string& headerFileName, const std::vector<std::string>& dataFileNames) = 0;
bool hasAddress(const RifEclipseSummaryAddress& resultAddress);
const std::vector<RifEclipseSummaryAddress>& allResultAddresses();
virtual const std::vector<time_t>& timeSteps(const RifEclipseSummaryAddress& resultAddress) const = 0;
virtual bool values(const RifEclipseSummaryAddress& resultAddress,
std::vector<double>* values) = 0;
bool hasAddress(const RifEclipseSummaryAddress& resultAddress);
const std::vector<RifEclipseSummaryAddress>& allResultAddresses();
virtual const std::vector<time_t>& timeSteps(const RifEclipseSummaryAddress& resultAddress) const = 0;
virtual bool values(const RifEclipseSummaryAddress& resultAddress, std::vector<double>* values) = 0;
virtual std::string unitName(const RifEclipseSummaryAddress& resultAddress) = 0;
virtual std::string unitName(const RifEclipseSummaryAddress& resultAddress) = 0;
// TODO: Move this to a tools class with static members
static std::vector<QDateTime> fromTimeT(const std::vector<time_t>& timeSteps);
protected:
virtual void buildMetaData() = 0;
protected:
std::vector<RifEclipseSummaryAddress> m_allResultAddresses;
};