Fesapi 2.3.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Public Member Functions | Static Public Attributes | List of all members
witsml2_0::Well Class Reference

Contains all information that is the same for all wellbores (sidetracks). More...

#include <Well.h>

Inheritance diagram for witsml2_0::Well:
WITSML2_NS::Well common::AbstractObject

Public Member Functions

 Well (gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
 
 Well (common::DataObjectRepository *repo, const std::string &guid, const std::string &title)
 
 Well (common::DataObjectRepository *repo, const std::string &guid, const std::string &title, const std::string &operator_, gsoap_eml2_1::eml21__WellStatus statusWell, gsoap_eml2_1::witsml20__WellDirection directionWell)
 Constructor. More...
 
 Well (gsoap_eml2_1::witsml20__Well *fromGsoap)
 
 ~Well ()=default
 
void setGroundElevation (double value, gsoap_eml2_1::eml21__LengthUom uom, const std::string &datum) final
 Sets the ground level elevation (land rigs) More...
 
double getGroundElevationValue () const final
 Gets the ground level elevation value. More...
 
gsoap_eml2_1::eml21__LengthUom getGroundElevationUom () const final
 Gets the ground level elevation unit of measure. More...
 
std::string getGroundElevationDatum () const final
 Gets the ground level elevation datum. More...
 
void setTimeZone (bool direction, unsigned short hours, unsigned short minutes) final
 
bool getTimeZoneDirection () const final
 
unsigned short getTimeZoneHours () const final
 
unsigned short getTimeZoneMinutes () const final
 
double getLocationProjectedX (unsigned int locationIndex) final
 
double getLocationProjectedY (unsigned int locationIndex) final
 
void pushBackLocation (const std::string &guid, double projectedX, double projectedY, unsigned int projectedCrsEpsgCode) final
 
unsigned int geLocationCount () const final
 
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) final
 
unsigned int getDatumCount () const final
 
std::string getXmlNamespace () const final
 
- Public Member Functions inherited from WITSML2_NS::Well
 Well (gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
 
virtual ~Well ()=default
 
virtual void setGroundElevation (double value, gsoap_eml2_1::eml21__LengthUom uom, const std::string &datum)=0
 Sets the ground level elevation (land rigs) More...
 
virtual double getGroundElevationValue () const =0
 Gets the ground level elevation value. More...
 
virtual gsoap_eml2_1::eml21__LengthUom getGroundElevationUom () const =0
 Gets the ground level elevation unit of measure. More...
 
virtual std::string getGroundElevationDatum () const =0
 Gets the ground level elevation datum. More...
 
virtual void setTimeZone (bool direction, unsigned short hours, unsigned short minutes)=0
 
virtual bool getTimeZoneDirection () const =0
 
virtual unsigned short getTimeZoneHours () const =0
 
virtual unsigned short getTimeZoneMinutes () const =0
 
virtual double getLocationProjectedX (unsigned int locationIndex)=0
 
virtual double getLocationProjectedY (unsigned int locationIndex)=0
 
virtual void pushBackLocation (const std::string &guid, double projectedX, double projectedY, unsigned int projectedCrsEpsgCode)=0
 
virtual unsigned int geLocationCount () const =0
 
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
 
virtual unsigned int getDatumCount () const =0
 
std::vector< resqml2::WellboreFeature * > getResqmlWellboreFeatures () const
 
virtual std::string getXmlTag () const final
 
void loadTargetRelationships ()
 
- Public Member Functions inherited from common::AbstractObject
bool isPartial () const
 
virtual bool isTopLevelElement () const
 
std::string getUuid () const
 
std::string getTitle () const
 
std::string getEditor () const
 
time_t getCreation () const
 
tm getCreationAsTimeStructure () const
 
std::string getOriginator () const
 
std::string getDescription () const
 
time_t getLastUpdate () const
 
tm getLastUpdateAsTimeStructure () const
 
std::string getFormat () const
 
std::string getDescriptiveKeywords () const
 
std::string getVersion () const
 
void setTitle (const std::string &title)
 
void setEditor (const std::string &editor)
 
void setCreation (time_t creation)
 
void setCreation (const tm &creation)
 
void setOriginator (const std::string &originator)
 
void setDescription (const std::string &description)
 
void setLastUpdate (time_t lastUpdate)
 
void setLastUpdate (const tm &lastUpdate)
 
void setDescriptiveKeywords (const std::string &descriptiveKeywords)
 
void setVersion (const std::string &version)
 
void setMetadata (const std::string &title, const std::string &editor, time_t creation, const std::string &originator, const std::string &description, time_t lastUpdate, const std::string &descriptiveKeywords)
 
void serializeIntoStream (std::ostream *stream)
 
gsoap_resqml2_0_1::eml20__AbstractCitedDataObject * getEml20GsoapProxy () const
 
void setGsoapProxy (gsoap_resqml2_0_1::eml20__AbstractCitedDataObject *gsoapProxy)
 
gsoap_eml2_1::eml21__AbstractObject * getEml21GsoapProxy () const
 
void setGsoapProxy (gsoap_eml2_1::eml21__AbstractObject *gsoapProxy)
 
gsoap_eml2_2::eml22__AbstractObject * getEml22GsoapProxy () const
 
void setGsoapProxy (gsoap_eml2_2::eml22__AbstractObject *gsoapProxy)
 
gsoap_eml2_3::eml23__AbstractObject * getEml23GsoapProxy () const
 
void setGsoapProxy (gsoap_eml2_3::eml23__AbstractObject *gsoapProxy)
 
soap * getGsoapContext () const
 
int getGsoapType () const
 
gsoap_resqml2_0_1::eml20__DataObjectReference * newResqmlReference () const
 
gsoap_eml2_1::eml21__DataObjectReference * newEmlReference () const
 
gsoap_eml2_2::eml22__DataObjectReference * newEml22Reference () const
 
gsoap_eml2_3::eml23__DataObjectReference * newEml23Reference () const
 
gsoap_resqml2_0_1::resqml20__ContactElementReference * newContactElementReference2_0_1 () const
 
gsoap_eml2_3::resqml22__ContactElement * newContactElementReference2_2 () const
 
common::DataObjectRepositorygetRepository () const
 
virtual std::string getXmlNamespace () const =0
 
virtual std::string getXmlTag () const =0
 
virtual std::string getXmlNamespaceVersion () const
 
virtual std::string getContentType () const
 
virtual std::string getQualifiedType () const
 
virtual std::string getPartNameInEpcDocument () const
 
std::string serializeIntoString ()
 
void addAlias (const std::string &authority, const std::string &title)
 
unsigned int getAliasCount () const
 
std::string getAliasAuthorityAtIndex (unsigned int index) const
 
std::string getAliasTitleAtIndex (unsigned int index) const
 
std::vector< eml2::Activity * > getActivitySet () const
 
unsigned int getActivityCount () const
 
eml2::ActivitygetActivity (unsigned int index) const
 
void pushBackExtraMetadata (const std::string &key, const std::string &value)
 
std::unordered_map< std::string, std::string > getExtraMetadataSet () const
 
std::vector< std::string > getExtraMetadata (const std::string &key) const
 
unsigned int getExtraMetadataCount () const
 
std::string getExtraMetadataKeyAtIndex (unsigned int index) const
 
std::string getExtraMetadataStringValueAtIndex (unsigned int index) const
 
std::string buildEtp12Uri () const
 
void setUriSource (const std::string &uriSource)
 
const std::string & getUriSource () const
 
std::string getEpcSourceFolder () const
 
void changeToPartialObject ()
 
virtual void loadTargetRelationships ()=0
 

Static Public Attributes

static constexpr char const * XML_NS = "witsml20"
 
- Static Public Attributes inherited from WITSML2_NS::Well
static constexpr char const * XML_TAG = "Well"
 

Additional Inherited Members

- Public Types inherited from common::AbstractObject
enum  hdfDatatypeEnum {
  UNKNOWN = 0 , DOUBLE = 1 , FLOAT = 2 , LONG_64 = 3 ,
  ULONG_64 = 4 , INT = 5 , UINT = 6 , SHORT = 7 ,
  USHORT = 8 , CHAR = 9 , UCHAR = 10
}
 
- Static Public Member Functions inherited from common::AbstractObject
static void setFormat (const std::string &vendor, const std::string &applicationName, const std::string &applicationVersionNumber)
 

Detailed Description

Contains all information that is the same for all wellbores (sidetracks).

Constructor & Destructor Documentation

◆ Well() [1/4]

witsml2_0::Well::Well ( gsoap_resqml2_0_1::eml20__DataObjectReference *  partialObject)
inline

Only to be used in partial transfer context

Parameters
[in,out]partialObjectIf non-null, the partial object.

◆ Well() [2/4]

witsml2_0::Well::Well ( common::DataObjectRepository repo,
const std::string &  guid,
const std::string &  title 
)

Creates an instance of this class in a gsoap context.

Parameters
[in,out]repoThe dataobject repo where the underlying gsoap proxy is going to be created.
guidThe guid to set to this instance. If empty then a new guid will be generated.
titleThe title.

◆ Well() [3/4]

witsml2_0::Well::Well ( common::DataObjectRepository repo,
const std::string &  guid,
const std::string &  title,
const std::string &  operator_,
gsoap_eml2_1::eml21__WellStatus  statusWell,
gsoap_eml2_1::witsml20__WellDirection  directionWell 
)

Constructor.

Exceptions
std::invalid_argumentIf repo == nullptr.
Parameters
[in,out]repoIf non-null, the repo.
guidUnique identifier.
titleThe title.
operator_The operator.
statusWellThe status well.
directionWellThe direction well.

◆ Well() [4/4]

witsml2_0::Well::Well ( gsoap_eml2_1::witsml20__Well *  fromGsoap)
inline

Creates an instance of this class by wrapping a gsoap instance.

Parameters
[in,out]fromGsoapIf non-null, from gsoap.

◆ ~Well()

witsml2_0::Well::~Well ( )
virtualdefault

Destructor does nothing since the memory is managed by the gsoap context.

Reimplemented from WITSML2_NS::Well.

Member Function Documentation

◆ geLocationCount()

unsigned int witsml2_0::Well::geLocationCount ( ) const
finalvirtual

Ge location count

Returns
An int.

Implements WITSML2_NS::Well.

◆ getDatumCount()

unsigned int witsml2_0::Well::getDatumCount ( ) const
finalvirtual

Gets datum count

Returns
The datum count.

Implements WITSML2_NS::Well.

◆ getGroundElevationDatum()

std::string witsml2_0::Well::getGroundElevationDatum ( ) const
finalvirtual

Gets the ground level elevation datum.

Exceptions
std::invalid_argumentIf the ground elevation does not exist.
Returns
The ground level elevation datum.

Implements WITSML2_NS::Well.

◆ getGroundElevationUom()

gsoap_eml2_1::eml21__LengthUom witsml2_0::Well::getGroundElevationUom ( ) const
finalvirtual

Gets the ground level elevation unit of measure.

Exceptions
std::invalid_argumentIf the ground elevation does not exist.
Returns
The ground level elevation unit of measure.

Implements WITSML2_NS::Well.

◆ getGroundElevationValue()

double witsml2_0::Well::getGroundElevationValue ( ) const
finalvirtual

Gets the ground level elevation value.

Exceptions
std::invalid_argumentIf the ground elevation does not exist.
Returns
The ground level elevation value.

Implements WITSML2_NS::Well.

◆ getLocationProjectedX()

double witsml2_0::Well::getLocationProjectedX ( unsigned int  locationIndex)
finalvirtual

Gets location projected x coordinate

Parameters
locationIndexZero-based index of the location.
Returns
The location projected x coordinate.

Implements WITSML2_NS::Well.

◆ getLocationProjectedY()

double witsml2_0::Well::getLocationProjectedY ( unsigned int  locationIndex)
finalvirtual

Gets location projected y coordinate

Parameters
locationIndexZero-based index of the location.
Returns
The location projected y coordinate.

Implements WITSML2_NS::Well.

◆ getTimeZoneDirection()

bool witsml2_0::Well::getTimeZoneDirection ( ) const
finalvirtual

Get the time zone direction in which the well is located.

Returns
True means the time zone is a positive offset from UTC, false means the time zone is a negative offset from UTC. If the time zone is Z then an arbitrary '+' is returned.

Implements WITSML2_NS::Well.

◆ getTimeZoneHours()

unsigned short witsml2_0::Well::getTimeZoneHours ( ) const
finalvirtual

Get the time zone hour(s) in which the well is located. Must be used with getTimeZoneDirection and getTimeZoneMinute() to have the complete time zone.

Returns
the deviation hour(s) from UTC.

Implements WITSML2_NS::Well.

◆ getTimeZoneMinutes()

unsigned short witsml2_0::Well::getTimeZoneMinutes ( ) const
finalvirtual

Get the time zone minute(s) in which the well is located. Must be used with getTimeZoneDirection and getTimeZoneHour() to have the complete time zone.

Returns
the deviation minute(s) from UTC.

Implements WITSML2_NS::Well.

◆ getXmlNamespace()

std::string witsml2_0::Well::getXmlNamespace ( ) const
inlinefinalvirtual

Get the standard XML namespace for serializing this data object.

Implements common::AbstractObject.

◆ pushBackDatum()

void witsml2_0::Well::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 
)
finalvirtual

Pushes a back datum

Parameters
guidUnique identifier.
titleThe title.
codeThe code.
datumThe datum.
elevationUnitThe elevation unit.
elevationThe elevation.
verticalCrsEpsgCodeThe vertical crs epsg code.

Implements WITSML2_NS::Well.

◆ pushBackLocation()

void witsml2_0::Well::pushBackLocation ( const std::string &  guid,
double  projectedX,
double  projectedY,
unsigned int  projectedCrsEpsgCode 
)
finalvirtual

Pushes a back location

Parameters
guidUnique identifier.
projectedXThe projected x coordinate.
projectedYThe projected y coordinate.
projectedCrsEpsgCodeThe projected crs epsg code.

Implements WITSML2_NS::Well.

◆ setGroundElevation()

void witsml2_0::Well::setGroundElevation ( double  value,
gsoap_eml2_1::eml21__LengthUom  uom,
const std::string &  datum 
)
finalvirtual

Sets the ground level elevation (land rigs)

Exceptions
std::invalid_argumentIf value is undefined.
Parameters
valueThe elevation value.
uomThe elevation unit of measure.
datumThe elevation datum.

Implements WITSML2_NS::Well.

◆ setTimeZone()

void witsml2_0::Well::setTimeZone ( bool  direction,
unsigned short  hours,
unsigned short  minutes 
)
finalvirtual

Set the time zone in which the well is located.It is the deviation in hours and minutes from UTC.This should be the normal time zone at the well and not a seasonally-adjusted value, such as daylight savings time

Parameters
directionTrue means the time zone is a positive offset from UTC, false means the time zone is a negative offset from UTC.
hoursThe deviation hours from UTC.
minutesThe deviation minutes from UTC.

Implements WITSML2_NS::Well.

Member Data Documentation

◆ XML_NS

constexpr char const* witsml2_0::Well::XML_NS = "witsml20"
staticconstexpr

The standard XML namespace for serializing this data object.


The documentation for this class was generated from the following file: