4#include "h5baseobject.h"
32 const std::string &logType,
33 const std::string &logName) = 0;
36 h5gt::Group group) = 0;
39 const std::string &devName) = 0;
42 h5gt::Group group) = 0;
81 Eigen::Ref<Eigen::Vector2d> v,
82 const std::string& lengthUnits =
"",
83 bool doCoordTransform =
false) = 0;
87 const std::string& lengthUnits =
"") = 0;
89 virtual bool setUWI(
const std::string& str) = 0;
99 const std::string& lengthUnits =
"",
100 bool doCoordTransform =
false) = 0;
103 const std::string& lengthUnits =
"") = 0;
136 virtual std::optional<h5gt::Group>
getDevG() = 0;
142 virtual std::optional<h5gt::Group>
getLogG() = 0;
144 virtual std::optional<h5gt::Group>
getLogTypeG(
const std::string& logType) = 0;
147using H5Well_ptr = std::unique_ptr<H5Well, h5geo::ObjectDeleter>;
Base class for geo-objects.
Definition h5baseobject.h:13
Provides API to work with well deviations (trajectories)
Definition h5devcurve.h:21
Provides API to work with well logs.
Definition h5logcurve.h:18
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
virtual H5LogCurve * createLogCurve(h5gt::Group group, H5LogCurveParam &p, h5geo::CreationType createFlag)=0
Create H5LogCurve.
virtual bool setActiveDevCurve(H5DevCurve *curve)=0
Set selected H5DevCurve as active.
virtual std::vector< h5gt::Group > getDevCurveGroupList()=0
Omit active dev curve.
virtual std::optional< h5gt::Group > getDevG()=0
Get current well's DEV Group (where H5DevCurves reside)
virtual size_t getLogCurveCount()=0
Get number of H5LogCurves within current well.
virtual std::optional< h5gt::Group > getWellTopsG()=0
Get current well's H5WellTops Group.
virtual H5DevCurve * openDevCurve(h5gt::Group group)=0
Open H5DevCurve.
virtual H5WellTops * createWellTops(H5WellTopsParam &p, h5geo::CreationType createFlag)=0
Create H5WellTops.
virtual H5DevCurve * openDevCurve(const std::string &devName)=0
Open H5DevCurve.
virtual H5LogCurve * openLogCurve(const std::string &logType, const std::string &logName)=0
Open H5LogCurve.
virtual std::vector< std::string > getLogCurveNameList()=0
Find and return vector of H5LogCurve names within current well.
virtual std::vector< std::string > getDevCurveNameList()=0
Find and return vector of H5DevCurve names within current well.
virtual H5WellContainer * openWellContainer()=0
Open H5WellContainer where current well resides.
virtual H5DevCurve * createDevCurve(h5gt::Group group, H5DevCurveParam &p, h5geo::CreationType createFlag)=0
Create H5DevCurve.
virtual H5WellTops * openWellTops()=0
Open H5WellTops.
virtual double getKB(const std::string &lengthUnits="")=0
Set kelly bushing.
virtual size_t getDevCurveCount()=0
Get number of H5DevCurves within current well.
virtual std::optional< h5gt::Group > getActiveDevG()=0
Get current well's active H5DevCurve Group.
virtual std::vector< h5gt::Group > getLogCurveGroupList()=0
Find and return vector of H5LogCurve Groups within current well.
virtual H5DevCurve * createDevCurve(std::string &devName, H5DevCurveParam &p, h5geo::CreationType createFlag)=0
Create H5DevCurve.
virtual Eigen::VectorXd getHeadCoord(const std::string &lengthUnits="", bool doCoordTransform=false)=0
Get XY well head coordinates.
virtual std::vector< std::string > getLogTypeList()=0
Find and return vector of H5LogCurve types within current well.
virtual bool setHeadCoord(Eigen::Ref< Eigen::Vector2d > v, const std::string &lengthUnits="", bool doCoordTransform=false)=0
Set XY well head coordinates.
virtual std::optional< h5gt::Group > getLogG()=0
Get current well's LOG Group (where H5LogCurves reside)
virtual H5DevCurve * openActiveDevCurve()=0
Get active H5DevCurve.
virtual H5WellParam getParam()=0
Get parameters that were used to create current well.
virtual H5LogCurve * createLogCurve(std::string &logType, std::string &logName, H5LogCurveParam &p, h5geo::CreationType createFlag)=0
Create H5LogCurve.
virtual bool setUWI(const std::string &str)=0
Set UWI Unique Well Identifier.
virtual std::string getUWI()=0
Get UWI Unique Well Identifier.
virtual bool setKB(double &val, const std::string &lengthUnits="")=0
Set XY kelly bushing.
virtual std::optional< h5gt::Group > getLogTypeG(const std::string &logType)=0
Get current well's logType Group.
virtual H5LogCurve * openLogCurve(h5gt::Group group)=0
Open H5LogCurve.
Provides API to work with welltops.
Definition h5welltops.h:12
CreationType
Definition h5enum.h:468
Class for creating H5DevCurve.
Definition h5base.h:149
Class for creating H5LogCurve.
Definition h5base.h:157
Class for creating H5Well.
Definition h5base.h:138
Class for creating H5WellTops.
Definition h5base.h:81