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

Proxy class for a wellbore frame representation. A wellbore frame representation is a representation of a wellbore that is organized along a wellbore trajectory by its MD values. More...

#include <WellboreFrameRepresentation.h>

Inheritance diagram for resqml2::WellboreFrameRepresentation:
resqml2::AbstractRepresentation common::AbstractObject resqml2::BlockedWellboreRepresentation resqml2::SeismicWellboreFrameRepresentation resqml2::WellboreMarkerFrameRepresentation resqml2_0_1::WellboreFrameRepresentation resqml2_2::WellboreFrameRepresentation resqml2_0_1::BlockedWellboreRepresentation resqml2_2::BlockedWellboreRepresentation resqml2_2::SeismicWellboreFrameRepresentation resqml2_0_1::WellboreMarkerFrameRepresentation resqml2_2::WellboreMarkerFrameRepresentation

Public Member Functions

 ~WellboreFrameRepresentation ()=default
 
void setMdValues (double const *mdValues, unsigned int mdValueCount, eml2::AbstractHdfProxy *proxy=nullptr)
 
void setMdValues (double firstMdValue, double incrementMdValue, unsigned int mdValueCount)
 
bool areMdValuesRegularlySpaced () const
 
double getMdConstantIncrementValue () const
 
double getMdFirstValue () const
 
unsigned int getMdValuesCount () const
 
uint64_t getXyzPointCountOfPatch (unsigned int patchIndex) const override
 
void getXyzPointsOfPatch (unsigned int patchIndex, double *xyzPoints) const override
 
common::AbstractObject::hdfDatatypeEnum getMdHdfDatatype () const
 
void getMdAsDoubleValues (double *values) const
 
void getMdAsFloatValues (float *values) const
 
common::DataObjectReference getWellboreTrajectoryDor () const
 
class WellboreTrajectoryRepresentationgetWellboreTrajectory () const
 
common::DataObjectReference getLocalCrsDor (unsigned int patchIndex) const override
 
common::DataObjectReference getHdfProxyDor () const final
 Gets the data object reference of the HDF proxy which is used for storing the numerical values of this representation (i.e. its geometry). More...
 
unsigned int getPatchCount () const final
 
- Public Member Functions inherited from resqml2::AbstractRepresentation
virtual ~AbstractRepresentation ()=default
 
class AbstractLocal3dCrsgetLocalCrs (unsigned int patchIndex) const
 
std::vector< class AbstractProperty * > getPropertySet () const
 
void setInterpretation (class AbstractFeatureInterpretation *interp)
 
class AbstractFeatureInterpretationgetInterpretation () const
 
common::DataObjectReference getInterpretationDor () const
 
uint64_t getXyzPointCountOfAllPatches () const
 
void getXyzPointsOfPatchInGlobalCrs (unsigned int patchIndex, double *xyzPoints) const
 Gets all the xyz points of a particular patch of this representation. xyz points are given in the global CRS. More...
 
void getXyzPointsOfAllPatches (double *xyzPoints) const
 Gets all the xyz points of all patches of this representation. xyz points are given in the local CRS. More...
 
bool isInSingleLocalCrs () const
 
bool isInSingleGlobalCrs () const
 
void getXyzPointsOfAllPatchesInGlobalCrs (double *xyzPoints) const
 
AbstractRepresentationgetSeismicSupportOfPatch (const unsigned int &patchIndex) const
 
std::set< AbstractRepresentation * > getAllSeismicSupport () const
 
void pushBackIntoRepresentationSet (class RepresentationSetRepresentation *repSet)
 
void addSeismic3dCoordinatesToPatch (unsigned int patchIndex, double *inlines, double *crosslines, unsigned int pointCount, resqml2::AbstractRepresentation *seismicSupport, eml2::AbstractHdfProxy *proxy)
 
void addSeismic3dCoordinatesToPatch (unsigned int patchIndex, double startInline, double incrInline, unsigned int countInline, double startCrossline, double incrCrossline, unsigned int countCrossline, resqml2::AbstractRepresentation *seismicSupport)
 
void addSeismic2dCoordinatesToPatch (unsigned int patchIndex, double *lineAbscissa, resqml2::AbstractRepresentation *seismicSupport, eml2::AbstractHdfProxy *proxy)
 
void getSeismicLineAbscissaOfPointsOfPatch (unsigned int patchIndex, double *values) const
 
void getInlinesOfPointsOfPatch (unsigned int patchIndex, double *values) const
 
void getCrosslinesOfPointsOfPatch (unsigned int patchIndex, double *values) const
 
- 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)
 
void setGsoapProxy (gsoap_resqml2_0_1::eml20__AbstractCitedDataObject *gsoapProxy)
 
void setGsoapProxy (gsoap_eml2_1::eml21__AbstractObject *gsoapProxy)
 
gsoap_resqml2_0_1::eml20__AbstractCitedDataObject * getEml20GsoapProxy () const
 
gsoap_eml2_1::eml21__AbstractObject * getEml21GsoapProxy () const
 
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
 

Additional Inherited Members

- Public Types inherited from resqml2::AbstractRepresentation
enum  indexableElement {
  NODE = 0 , EDGE = 1 , FACE = 2 , VOLUME = 3 ,
  PILLAR = 4
}
 
- 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)
 
- Static Public Attributes inherited from resqml2::AbstractRepresentation
static const char * XML_TAG
 

Detailed Description

Proxy class for a wellbore frame representation. A wellbore frame representation is a representation of a wellbore that is organized along a wellbore trajectory by its MD values.

RESQML uses MD values to associate properties on points and to organize association of properties on intervals between MD points.

Constructor & Destructor Documentation

◆ ~WellboreFrameRepresentation()

resqml2::WellboreFrameRepresentation::~WellboreFrameRepresentation ( )
default

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

Member Function Documentation

◆ areMdValuesRegularlySpaced()

bool resqml2::WellboreFrameRepresentation::areMdValuesRegularlySpaced ( ) const

Indicates either the MDs are regularly spaced or not (useful for optimization). Does not check the regularity if the writer has used a generic array to store regular MDs.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
Returns
True if MD values are regularly spaced, false if not.

◆ getHdfProxyDor()

common::DataObjectReference resqml2::WellboreFrameRepresentation::getHdfProxyDor ( ) const
finalvirtual

Gets the data object reference of the HDF proxy which is used for storing the numerical values of this representation (i.e. its geometry).

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML v2.0 or RESQML v2.0 one.
std::logic_errorIf this representation is partial.
Returns
The data object reference of the HDF proxy used for storing the geometry, or empty data object reference if it fails.

Implements resqml2::AbstractRepresentation.

◆ getLocalCrsDor()

common::DataObjectReference resqml2::WellboreFrameRepresentation::getLocalCrsDor ( unsigned int  patchIndex) const
overridevirtual

Gets the data object reference of the local 3d CRS associated to a given patch of this representation. This local CRS is where the point ordinals are given.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
Parameters
patchIndexZero-based index of the patch for which we look for the local CRS.
Returns
Empty data object reference if it fails, else the data object reference of the local CRS associated to the patchIndex patch.

Reimplemented from resqml2::AbstractRepresentation.

◆ getMdAsDoubleValues()

void resqml2::WellboreFrameRepresentation::getMdAsDoubleValues ( double *  values) const

Gets all the MD values of this instance which are supposed to be double ones.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::logic_errorIf the MD values are neither stored in a HDF5 double array nor in a double lattice array.
std::invalid_argumentIf the MD values are stored in a HDF5 double array and the HDF proxy is missing.
Parameters
[out]valuesA buffer to receive the MD values ordered from top to bottom of the wellbore trajectory. It must be preallocated with size of getMdValuesCount().

◆ getMdAsFloatValues()

void resqml2::WellboreFrameRepresentation::getMdAsFloatValues ( float *  values) const

Gets all the MD values of this instance which are supposed to be float ones.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::logic_errorIf the MD values are neither stored in a HDF5 double array nor in a double lattice array.
std::invalid_argumentIf the MD values are stored in a HDF5 double array and the HDF proxy is missing.
Parameters
[out]valuesA buffer to receive the MD values ordered from top to bottom of the wellbore trajectory. It must be preallocated with size of getMdValuesCount().

◆ getMdConstantIncrementValue()

double resqml2::WellboreFrameRepresentation::getMdConstantIncrementValue ( ) const

Indicates the increment value between two MDs in case of regularly spaced MDs. Please check the regularity of MDs with areMdValuesRegularlySpaced() before using this method.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf the MD values are not regularly spaced.
Returns
The MD constant increment value.

◆ getMdFirstValue()

double resqml2::WellboreFrameRepresentation::getMdFirstValue ( ) const

Returns the first MD value of this wellbore frame representation.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::logic_errorIf the MD values are neither stored in a HDF5 double array nor in a double lattice array.
std::invalid_argumentIf the MD values are stored in a HDF5 double array and the HDF proxy is missing.
Returns
The first MD value.

◆ getMdHdfDatatype()

common::AbstractObject::hdfDatatypeEnum resqml2::WellboreFrameRepresentation::getMdHdfDatatype ( ) const

Gets the MD datatype in the HDF dataset.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf the MD values are stored in a HDF5 double array and the HDF proxy is missing.
Returns
The MD datatype in the HDF dataset if MD values are actually stored in a HDF dataset. Returns DOUBLE if MD values are stored as a regular discretization along the wellbore trajectory.

◆ getMdValuesCount()

unsigned int resqml2::WellboreFrameRepresentation::getMdValuesCount ( ) const

Gets the number of MD values in this wellbore frame representation.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
Returns
The MD values count.

◆ getPatchCount()

unsigned int resqml2::WellboreFrameRepresentation::getPatchCount ( ) const
inlinefinalvirtual

Gets the patch count.

Returns
The patch count.

Implements resqml2::AbstractRepresentation.

◆ getWellboreTrajectory()

class WellboreTrajectoryRepresentation* resqml2::WellboreFrameRepresentation::getWellboreTrajectory ( ) const

Gets the associated RESQML wellbore trajectory.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
Returns
The associated RESQML wellbore trajectory.

◆ getWellboreTrajectoryDor()

common::DataObjectReference resqml2::WellboreFrameRepresentation::getWellboreTrajectoryDor ( ) const

Gets the data object reference of the associated RESQML wellbore trajectory.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
Returns
The data object reference of the associated RESQML wellbore trajectory.

◆ getXyzPointCountOfPatch()

uint64_t resqml2::WellboreFrameRepresentation::getXyzPointCountOfPatch ( unsigned int  patchIndex) const
overridevirtual

Get the xyz point count in a given patch.

Implements resqml2::AbstractRepresentation.

◆ getXyzPointsOfPatch()

void resqml2::WellboreFrameRepresentation::getXyzPointsOfPatch ( unsigned int  patchIndex,
double *  xyzPoints 
) const
overridevirtual

Use linear interpolation between 2 trajectory stations.

Implements resqml2::AbstractRepresentation.

◆ setMdValues() [1/2]

void resqml2::WellboreFrameRepresentation::setMdValues ( double const *  mdValues,
unsigned int  mdValueCount,
eml2::AbstractHdfProxy proxy = nullptr 
)

Sets the measured depth (MD) values of this wellbore frame representation as a 1d array of explicit values.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf proxy is nullptr and no default HDF proxy is defined in the repository.
Parameters
mdValuesAll the MD values to set from top to bottom of the wellbore trajectory. Size if mdValueCount.
mdValueCountThe MD values count.
[in,out]proxy(Optional) The HDF proxy where to write the MD values. It must be already opened for writing and won't be closed in this method. If nullptr, then a default HDF proxy must be defined in the repository.

◆ setMdValues() [2/2]

void resqml2::WellboreFrameRepresentation::setMdValues ( double  firstMdValue,
double  incrementMdValue,
unsigned int  mdValueCount 
)

Sets the measured depth (MD) values of this wellbore frame representation as a regular discretization along the wellbore trajectory.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
Parameters
firstMdValueThe first MD value.
incrementMdValueThe increment value between two MDs.
mdValueCountThe count of MD values in this wellbore frame representation.

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