21#include "../common/AbstractObject.h"
23#include "../MacroDefinitions.h"
27 class WellboreFeature;
42 class Well :
public COMMON_NS::AbstractObject
51 DLL_IMPORT_OR_EXPORT
Well(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : COMMON_NS::AbstractObject(partialObject) {}
56 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, NameLegal)
57 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, NumLicense)
58 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, NumGovt)
59 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, Field)
60 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, Country)
61 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, State)
62 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, County)
63 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, Region)
64 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, District)
65 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, Block)
66 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, Operator)
67 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, OperatorDiv)
68 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, OriginalOperator)
69 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, NumAPI)
72 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_1::eml21__WellStatus, StatusWell)
73 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_1::witsml20__WellPurpose, PurposeWell)
74 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_1::witsml20__WellFluid, FluidWell)
75 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_1::witsml20__WellDirection, DirectionWell)
77 ABSTRACT_GETTER_AND_SETTER_MEASURE_OPTIONAL_ATTRIBUTE(WaterDepth, gsoap_eml2_1::eml21__LengthUom)
78 ABSTRACT_GETTER_PRESENCE_ATTRIBUTE(GroundElevation)
80 ABSTRACT_GETTER_AND_SETTER_MEASURE_OPTIONAL_ATTRIBUTE(PcInterest, gsoap_eml2_1::eml21__DimensionlessUom)
82 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(time_t, DTimLicense)
83 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(time_t, DTimSpud)
84 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(time_t, DTimPa)
95 DLL_IMPORT_OR_EXPORT virtual
void setGroundElevation(
double value, gsoap_eml2_1::eml21__LengthUom uom, const std::
string& datum) = 0;
134 DLL_IMPORT_OR_EXPORT virtual
void setTimeZone(
bool direction,
unsigned short hours,
unsigned short minutes) = 0;
135 ABSTRACT_GETTER_PRESENCE_ATTRIBUTE(TimeZone)
188 const std::
string & guid,
191 unsigned int projectedCrsEpsgCode) = 0;
212 const std::
string & guid,
213 const std::
string & title,
214 gsoap_eml2_1::eml21__WellboreDatumReference code,
215 const std::
string & datum,
216 gsoap_eml2_1::eml21__LengthUom elevationUnit,
218 unsigned int verticalCrsEpsgCode) = 0;
235 GETTER_DATAOBJECTS(WITSML2_0_NS::WellCompletion, Wellcompletion)
242 DLL_IMPORT_OR_EXPORT static constexpr
char const*
XML_TAG = "
Well";
264 Well(gsoap_eml2_1::witsml20__Well* fromGsoap) : COMMON_NS::AbstractObject(fromGsoap) {}
Contains all information that is the same for all wellbores (sidetracks).
Definition: Well.h:43
virtual double getLocationProjectedX(unsigned int locationIndex)=0
Well(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition: Well.h:51
virtual gsoap_eml2_1::eml21__LengthUom getGroundElevationUom() const =0
Gets the ground level elevation unit of measure.
virtual unsigned int getDatumCount() const =0
virtual std::string getGroundElevationDatum() const =0
Gets the ground level elevation datum.
void loadTargetRelationships()
Definition: Well.h:252
virtual void pushBackDatum(const std::string &guid, const std::string &title, gsoap_eml2_1::eml21__WellboreDatumReference code, const std::string &datum, gsoap_eml2_1::eml21__LengthUom elevationUnit, double elevation, unsigned int verticalCrsEpsgCode)=0
std::vector< resqml2::WellboreFeature * > getResqmlWellboreFeatures() const
virtual unsigned short getTimeZoneHours() const =0
virtual void setGroundElevation(double value, gsoap_eml2_1::eml21__LengthUom uom, const std::string &datum)=0
Sets the ground level elevation (land rigs)
virtual void setTimeZone(bool direction, unsigned short hours, unsigned short minutes)=0
virtual bool getTimeZoneDirection() const =0
virtual double getGroundElevationValue() const =0
Gets the ground level elevation value.
virtual std::string getXmlTag() const final
Definition: Well.h:249
virtual void pushBackLocation(const std::string &guid, double projectedX, double projectedY, unsigned int projectedCrsEpsgCode)=0
virtual unsigned short getTimeZoneMinutes() const =0
virtual unsigned int geLocationCount() const =0
static constexpr char const * XML_TAG
Definition: Well.h:242
virtual double getLocationProjectedY(unsigned int locationIndex)=0
A wellbore represents the path from surface to a unique bottomhole location.
Definition: Wellbore.h:46