h5geo 0.4.0
C++17 and python API to work with geo-data (seismic, wells, maps, other in process) based on HDF5. Aimed at geoscientists and developers.
Loading...
Searching...
No Matches
h5logcurveimpl.h
1#ifndef H5LOGCURVEIMPL_H
2#define H5LOGCURVEIMPL_H
3
4#include "../h5logcurve.h"
5#include "h5baseobjectimpl.h"
6
7class H5LogCurveImpl : public H5BaseObjectImpl<H5LogCurve>
8{
9protected:
10 explicit H5LogCurveImpl(const h5gt::Group &group);
11 virtual ~H5LogCurveImpl() = default;
12
13public:
14 virtual bool writeCurve(
15 const h5geo::LogDataType& name,
16 Eigen::Ref<Eigen::VectorXd> v,
17 const std::string& units = "") override;
18 virtual bool writeCurve(
19 const std::string& name,
20 Eigen::Ref<Eigen::VectorXd> v,
21 const std::string& units = "") override;
22
23 virtual size_t getNCurves() override;
24 virtual size_t getNSamp() override;
25 virtual Eigen::VectorXd getCurve(
26 const h5geo::LogDataType& name,
27 const std::string& units = "") override;
28 virtual Eigen::VectorXd getCurve(
29 const std::string& name,
30 const std::string& units = "") override;
31
32 virtual std::string getRelativeName() override;
33
34 virtual H5LogCurveParam getParam() override;
35
36 virtual H5WellContainer* openWellContainer() override;
37 virtual H5Well* openWell() override;
38
39 virtual std::optional<h5gt::DataSet> getLogCurveD() override;
40
41 //----------- FRIEND CLASSES -----------
42 friend class H5WellImpl;
43 friend class H5BaseObjectImpl<H5LogCurve>;
44 friend H5LogCurve* h5geo::openLogCurve(h5gt::Group group);
45};
46
47#endif // H5LOGCURVEIMPL_H
Definition h5baseobjectimpl.h:12
Provides API to work with well logs.
Definition h5logcurve.h:18
Definition h5logcurveimpl.h:8
virtual size_t getNCurves() override
Get number of curves.
Definition h5logcurveimpl.cpp:65
virtual std::string getRelativeName() override
Get current Log curve's name.
Definition h5logcurveimpl.cpp:119
virtual bool writeCurve(const h5geo::LogDataType &name, Eigen::Ref< Eigen::VectorXd > v, const std::string &units="") override
Write MD or VAL curve.
Definition h5logcurveimpl.cpp:14
virtual Eigen::VectorXd getCurve(const h5geo::LogDataType &name, const std::string &units="") override
Get MD or VAL curve.
Definition h5logcurveimpl.cpp:81
virtual H5LogCurveParam getParam() override
Get parameters that were used to create current log curve.
Definition h5logcurveimpl.cpp:133
virtual H5Well * openWell() override
Open parent H5Well.
Definition h5logcurveimpl.cpp:151
virtual std::optional< h5gt::DataSet > getLogCurveD() override
Get current Log curve's DataSet.
Definition h5logcurveimpl.cpp:161
virtual H5WellContainer * openWellContainer() override
Open H5WellContainer where current log curve resides.
Definition h5logcurveimpl.cpp:145
virtual size_t getNSamp() override
Get number of samples.
Definition h5logcurveimpl.cpp:73
A container built around HDF5 file and used for storing and manipulating H5Well objects.
Definition h5wellcontainer.h:15
Provides API to work with wells.
Definition h5well.h:22
Definition h5wellimpl.h:8
H5GEO_EXPORT H5LogCurve * openLogCurve(h5gt::Group group)
Factory function for opening H5LogCurve.
Definition h5baseimpl.cpp:2161
Class for creating H5LogCurve.
Definition h5base.h:157