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
h5basepointsimpl.h
1#ifndef H5BASEPOINTSIMPL_H
2#define H5BASEPOINTSIMPL_H
3
4#include "../h5basepoints.h"
5#include "h5baseobjectimpl.h"
6
7template <typename TBase>
9
10template <typename TBase = H5BasePoints>
12{
13protected:
14 explicit H5BasePointsImpl(const h5gt::Group &group);
15 virtual ~H5BasePointsImpl() = default;
16
17public:
18 virtual bool setNPoints(size_t n) override;
19 virtual bool setDomain(const h5geo::Domain& domain) override;
20
21 virtual H5BaseContainer* openContainer() const override;
22 virtual size_t getNPoints() override;
23 virtual h5geo::Domain getDomain() override;
24
25 virtual H5PointsParam getParam() override;
26
27 virtual std::optional<h5gt::DataSet> getPointsD() const override;
28
29protected:
30
31 //----------- FRIEND CLASSES -----------
32 friend class H5BaseObjectImpl<H5BasePoints>;
37 friend class H5BaseObjectImpl<H5BaseObject>;
38 friend class H5BaseObjectImpl<H5Points1>;
39 friend class H5BaseObjectImpl<H5Points2>;
40 friend class H5BaseObjectImpl<H5Points3>;
41 friend class H5BaseObjectImpl<H5Points4>;
42 friend class H5BaseObjectImpl<H5Horizon>;
43 friend class H5BaseObjectImpl<H5WellTops>;
44 friend class H5BaseObjectImpl<H5Map>;
45 friend class H5BaseObjectImpl<H5Seis>;
46 friend class H5BaseObjectImpl<H5Well>;
47 friend class H5BaseObjectImpl<H5DevCurve>;
48 friend class H5BaseObjectImpl<H5LogCurve>;
49 friend H5BasePoints* openPoints(h5gt::Group group);
50};
51
52#endif // H5BASEPOINTSIMPL_H
Base class for geo-containers.
Definition h5basecontainer.h:9
Definition h5basecontainerimpl.h:11
Base class for geo-objects.
Definition h5baseobject.h:13
Definition h5baseobjectimpl.h:12
Base class for Points.
Definition h5basepoints.h:16
Definition h5basepointsimpl.h:12
virtual h5geo::Domain getDomain() override
Get domain (TVD, TVDSS, TWT, OWT)
Definition h5basepointsimpl.cpp:65
virtual bool setDomain(const h5geo::Domain &domain) override
Set domain for the points (TVD, TVDSS, TWT, OWT)
Definition h5basepointsimpl.cpp:40
virtual size_t getNPoints() override
Return number of points.
Definition h5basepointsimpl.cpp:55
friend H5BasePoints * openPoints(h5gt::Group group)
Factory function for opening H5BasePoints derived points.
virtual bool setNPoints(size_t n) override
Resize HDF5 DataSet.
Definition h5basepointsimpl.cpp:24
virtual std::optional< h5gt::DataSet > getPointsD() const override
Get current points DataSet.
Definition h5basepointsimpl.cpp:73
virtual H5PointsParam getParam() override
Get parameters that were used to create current points.
Definition h5basepointsimpl.cpp:82
virtual H5BaseContainer * openContainer() const override
Open container where current points resides.
Definition h5basepointsimpl.cpp:49
Provides API to work with well deviations (trajectories)
Definition h5devcurve.h:21
Provides API to work with horizons.
Definition h5horizon.h:17
Provides API to work with well logs.
Definition h5logcurve.h:18
A container built around HDF5 file and used for storing and manipulating H5Map objects.
Definition h5mapcontainer.h:15
Provides API to work with maps.
Definition h5map.h:19
Provides API to work with 1D points.
Definition h5points1.h:12
Provides API to work with 2D points.
Definition h5points2.h:12
Provides API to work with 3D points.
Definition h5points3.h:12
Provides API to work with 4D points.
Definition h5points4.h:12
A container built around HDF5 file and used for storing and manipulating H5Seis objects.
Definition h5seiscontainer.h:15
Provides API to work with seismic.
Definition h5seis.h:33
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
Provides API to work with welltops.
Definition h5welltops.h:12
Common class for creating H5Points1, H5Points2, H5Points3, H5Points4.
Definition h5base.h:71