mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1980 PLT Plot: Make cells available in .RFT reader
This commit is contained in:
@@ -207,6 +207,35 @@ void RifReaderEclipseRft::values(const RifEclipseRftAddress& rftAddress, std::ve
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RifReaderEclipseRft::cellIndices(const RifEclipseRftAddress& rftAddress, std::vector<caf::VecIjk>* indices)
|
||||
{
|
||||
CVF_ASSERT(indices);
|
||||
|
||||
if (!m_ecl_rft_file)
|
||||
{
|
||||
open();
|
||||
}
|
||||
|
||||
indices->clear();
|
||||
|
||||
int index = indexFromAddress(rftAddress);
|
||||
if (index < 0) return;
|
||||
|
||||
ecl_rft_node_type* node = ecl_rft_file_iget_node(m_ecl_rft_file, index);
|
||||
|
||||
for (int cellIdx = 0; cellIdx < ecl_rft_node_get_size(node); cellIdx++)
|
||||
{
|
||||
int i, j, k;
|
||||
ecl_rft_node_iget_ijk(node, cellIdx, &i, &j, &k);
|
||||
|
||||
caf::VecIjk index( (size_t)i, (size_t)j, (size_t)k );
|
||||
indices->push_back(index);
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -24,11 +24,14 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "cafVecIjk.h"
|
||||
|
||||
#include "cvfBase.h"
|
||||
#include "cvfObject.h"
|
||||
|
||||
#include <QDateTime>
|
||||
|
||||
|
||||
//==================================================================================================
|
||||
//
|
||||
//
|
||||
@@ -39,8 +42,9 @@ public:
|
||||
RifReaderEclipseRft(const std::string& fileName);
|
||||
~RifReaderEclipseRft();
|
||||
|
||||
const std::vector<RifEclipseRftAddress>& eclipseRftAddresses();
|
||||
void values(const RifEclipseRftAddress& rftAddress, std::vector<double>* values);
|
||||
const std::vector<RifEclipseRftAddress>& eclipseRftAddresses();
|
||||
void values(const RifEclipseRftAddress& rftAddress, std::vector<double>* values);
|
||||
void cellIndices(const RifEclipseRftAddress& rftAddress, std::vector<caf::VecIjk>* indices);
|
||||
|
||||
std::vector<QDateTime> availableTimeSteps(const QString& wellName, const RifEclipseRftAddress::RftWellLogChannelName& wellLogChannelName);
|
||||
std::vector<RifEclipseRftAddress::RftWellLogChannelName> availableWellLogChannels(const QString& wellName);
|
||||
@@ -48,8 +52,8 @@ public:
|
||||
bool wellHasRftData(QString wellName);
|
||||
|
||||
private:
|
||||
void open();
|
||||
int indexFromAddress(const RifEclipseRftAddress& rftAddress) const;
|
||||
void open();
|
||||
int indexFromAddress(const RifEclipseRftAddress& rftAddress) const;
|
||||
|
||||
private:
|
||||
// Taken from ecl_rft_file.h and ecl_rft_node.h
|
||||
|
||||
Reference in New Issue
Block a user