Fesapi 2.9.0.1
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Loading...
Searching...
No Matches
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 resqml2::BlockedWellboreRepresentation resqml2::SeismicWellboreFrameRepresentation resqml2::WellboreMarkerFrameRepresentation

Public Member Functions

 ~WellboreFrameRepresentation ()=default
 
void setMdValues (double const *mdValues, uint64_t 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::numericalDatatypeEnum 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).
 
uint64_t getPatchCount () const final
 
- Public Member Functions inherited from resqml2::AbstractRepresentation
virtual ~AbstractRepresentation ()=default
 
class AbstractLocal3dCrsgetLocalCrs (unsigned int patchIndex) const
 
void setTimeIndex (uint64_t timeIndex, eml2 ::TimeSeries *timeSeries)
 
uint64_t getTimeIndex () const
 Gets the time index of this representation in the associated TimeSeries. Be sure to first check that a TimeSeries is associated this representation by calling getTimeSeriesDor or getTimeSeries;.
 
eml2::TimeSeriesgetTimeSeries () const
 
common::DataObjectReference getTimeSeriesDor () const
 Gets the data object reference of the TimeSeries containing the time of this representation at a particular index. For now, this method only look for a TimeSeries at the first patch containing a point geometry.
 
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.
 
void getXyzPointsOfAllPatches (double *xyzPoints) const
 Gets all the xyz points of all patches of this representation. xyz points are given in the local CRS.
 
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, uint64_t 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
 

Additional Inherited Members

- Static Public Attributes inherited from resqml2::AbstractRepresentation
static constexpr char const * XML_TAG = "AbstractRepresentation"
 

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::numericalDatatypeEnum 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()

uint64_t 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,
uint64_t 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: