mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1947 RFT/PLT Plot: Open RFT file on usage
This commit is contained in:
parent
f56557f0c3
commit
24d59d7f84
@ -25,7 +25,8 @@
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RifReaderEclipseRft::RifReaderEclipseRft()
|
||||
RifReaderEclipseRft::RifReaderEclipseRft(const std::string& fileName):
|
||||
m_fileName(fileName), m_ecl_rft_file(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
@ -39,13 +40,13 @@ RifReaderEclipseRft::~RifReaderEclipseRft()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RifReaderEclipseRft::open(const std::string& fileName)
|
||||
void RifReaderEclipseRft::open()
|
||||
{
|
||||
if (fileName.empty()) return false;
|
||||
if (m_fileName.empty()) return;
|
||||
|
||||
m_ecl_rft_file = ecl_rft_file_alloc_case(fileName.data());
|
||||
m_ecl_rft_file = ecl_rft_file_alloc_case(m_fileName.data());
|
||||
|
||||
if (m_ecl_rft_file == NULL) return false;
|
||||
if (m_ecl_rft_file == NULL) return;
|
||||
|
||||
int fileSize = ecl_rft_file_get_size(m_ecl_rft_file);
|
||||
|
||||
@ -97,22 +98,32 @@ bool RifReaderEclipseRft::open(const std::string& fileName)
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
return;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const std::vector<RifEclipseRftAddress>& RifReaderEclipseRft::eclipseRftAddresses() const
|
||||
const std::vector<RifEclipseRftAddress>& RifReaderEclipseRft::eclipseRftAddresses()
|
||||
{
|
||||
if (!m_ecl_rft_file)
|
||||
{
|
||||
open();
|
||||
}
|
||||
|
||||
return m_eclipseRftAddresses;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RifReaderEclipseRft::values(const RifEclipseRftAddress& rftAddress, std::vector<double>* values) const
|
||||
void RifReaderEclipseRft::values(const RifEclipseRftAddress& rftAddress, std::vector<double>* values)
|
||||
{
|
||||
if (!m_ecl_rft_file)
|
||||
{
|
||||
open();
|
||||
}
|
||||
|
||||
int index = indexFromAddress(rftAddress);
|
||||
if (index < 0) return;
|
||||
|
||||
|
@ -31,27 +31,22 @@ class RifEclipseRftAddress;
|
||||
class RifReaderEclipseRft
|
||||
{
|
||||
public:
|
||||
RifReaderEclipseRft();
|
||||
RifReaderEclipseRft(const std::string& fileName);
|
||||
~RifReaderEclipseRft();
|
||||
|
||||
bool open(const std::string& fileName);
|
||||
|
||||
const std::vector<RifEclipseRftAddress>& eclipseRftAddresses() const;
|
||||
void values(const RifEclipseRftAddress& rftAddress, std::vector<double>* values) const;
|
||||
|
||||
/*const std::vector<std::string>& wellNames() const;
|
||||
std::vector<time_t> timeSteps();*/
|
||||
//void values(const std::string& wellName, size_t timeStepIndex, std::vector<double>* values) const;
|
||||
const std::vector<RifEclipseRftAddress>& eclipseRftAddresses();
|
||||
void values(const RifEclipseRftAddress& rftAddress, std::vector<double>* values);
|
||||
|
||||
private:
|
||||
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
|
||||
typedef struct ecl_rft_file_struct ecl_rft_file_type;
|
||||
typedef struct ecl_rft_node_struct ecl_rft_node_type;
|
||||
|
||||
std::string m_fileName;
|
||||
ecl_rft_file_type* m_ecl_rft_file;
|
||||
std::vector<RifEclipseRftAddress> m_eclipseRftAddresses;
|
||||
std::map<RifEclipseRftAddress, int> m_rftAddressToLibeclNodeIdx;
|
||||
|
@ -12,9 +12,8 @@
|
||||
TEST(DISABLED_RifReaderEclipseRftTest, TestRifEclipseRftAddress)
|
||||
{
|
||||
std::string filename = "C:\\Users\\Rebecca Cox\\Dropbox\\norne\\norne\\NORNE_ATW2013.RFT";
|
||||
RifReaderEclipseRft reader;
|
||||
bool ok = reader.open(filename);
|
||||
ASSERT_TRUE(ok);
|
||||
|
||||
RifReaderEclipseRft reader(filename);
|
||||
|
||||
std::vector<RifEclipseRftAddress> addresses = reader.eclipseRftAddresses();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user