Fesapi 2.10.1.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Loading...
Searching...
No Matches
resqml2::BlockedWellboreRepresentation Class Referenceabstract

A blocked wellbore representation. This is the information that allows you to locate, on one or several grids (existing or planned), the intersection of volume (cells) and surface (faces) elements with a wellbore trajectory (existing or planned). More...

#include <BlockedWellboreRepresentation.h>

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

Public Member Functions

virtual ~BlockedWellboreRepresentation ()=default
 
virtual void setIntervalGridCells (int8_t const *gridIndices, int8_t gridIndicesNullValue, int64_t const *cellIndices, int8_t const *localFacePairPerCellIndices, int8_t localFacePairPerCellIndicesNullValue, eml2::AbstractHdfProxy *hdfProxy=nullptr)=0
 
virtual uint64_t getCellCount () const =0
 
virtual int8_t getGridIndices (int8_t *gridIndices) const =0
 
virtual int64_t getCellIndices (int64_t *cellIndices) const =0
 
virtual int8_t getLocalFacePairPerCellIndices (int8_t *localFacePairPerCellIndices) const =0
 
virtual void pushBackSupportingGridRepresentation (resqml2::AbstractGridRepresentation *supportingGridRep)=0
 
virtual uint64_t getSupportingGridRepresentationCount () const =0
 
resqml2::AbstractGridRepresentationgetSupportingGridRepresentation (uint64_t index) const
 
virtual common::DataObjectReference getSupportingGridRepresentationDor (uint64_t index) const =0
 
virtual std::string getXmlTag () const override
 
- Public Member Functions inherited from resqml2::WellboreFrameRepresentation
 ~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 (uint64_t 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
 
eml2::AbstractLocal3dCrsgetLocalCrs (uint64_t 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
 
- 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_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_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 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)
 
uint64_t getAliasCount () const
 
std::string getAliasAuthorityAtIndex (uint64_t index) const
 
std::string getAliasTitleAtIndex (uint64_t index) const
 
std::vector< eml2::Activity * > getActivitySet () const
 
uint64_t getActivityCount () const
 
eml2::ActivitygetActivity (uint64_t 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 ()
 

Static Public Attributes

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

Additional Inherited Members

- Public Types inherited from common::AbstractObject
enum class  numericalDatatypeEnum {
  UNKNOWN = 0 , DOUBLE = 1 , FLOAT = 2 , INT64 = 3 ,
  UINT64 = 4 , INT32 = 5 , UINT32 = 6 , INT16 = 7 ,
  UINT16 = 8 , INT8 = 9 , UINT8 = 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

A blocked wellbore representation. This is the information that allows you to locate, on one or several grids (existing or planned), the intersection of volume (cells) and surface (faces) elements with a wellbore trajectory (existing or planned).

Constructor & Destructor Documentation

◆ ~BlockedWellboreRepresentation()

virtual resqml2::BlockedWellboreRepresentation::~BlockedWellboreRepresentation ( )
virtualdefault

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

Reimplemented in resqml2_0_1::BlockedWellboreRepresentation, and resqml2_2::BlockedWellboreRepresentation.

Member Function Documentation

◆ getCellCount()

virtual uint64_t resqml2::BlockedWellboreRepresentation::getCellCount ( ) const
pure virtual

Gets the cell count, that is to say the number of non-null entries in the grid indices array.

Returns
The cell count.

Implemented in resqml2_0_1::BlockedWellboreRepresentation, and resqml2_2::BlockedWellboreRepresentation.

◆ getCellIndices()

virtual int64_t resqml2::BlockedWellboreRepresentation::getCellIndices ( int64_t * cellIndices) const
pure virtual

For each interval of the wellbore frame, gets the index of the cell it is associated to.

Exceptions
std::range_errorIf the cell indices are stored in an integer constant array and if the the constant value is strictly superior than int64_t maximum value.
std::logic_errorIf the cell indices are neither stored in a HDF5 integer array nor in an integer constant array.
Parameters
[out]gridIndicesAn array for receiving the cell indices. The size of this array is the interval count of the wellbore frame representation.
Returns
The null value used in cellIndices in order to indicate that an interval does not correspond to any intersected cell.

Implemented in resqml2_0_1::BlockedWellboreRepresentation, and resqml2_2::BlockedWellboreRepresentation.

◆ getGridIndices()

virtual int8_t resqml2::BlockedWellboreRepresentation::getGridIndices ( int8_t * gridIndices) const
pure virtual

For each interval of the wellbore frame, gets the index of the grid it is associated to.

Exceptions
std::range_errorIf the grid indices are stored in an integer constant array and if the the constant value is strictly superior tha char maximum value.
std::logic_errorIf the grid indices are neither stored in a HDF5 integer array nor in an integer constant array.
Parameters
[out]gridIndicesAn array for receiving the grids indices. The size of this array is the interval count of the wellbore frame representation. The associated grids (and there indices) are defined using pushBackSupportingGridRepresentation() method.
Returns
The null value used in gridIndices in order to indicate that an interval does not correspond to any intersected grid.

Implemented in resqml2_0_1::BlockedWellboreRepresentation, and resqml2_2::BlockedWellboreRepresentation.

◆ getLocalFacePairPerCellIndices()

virtual int8_t resqml2::BlockedWellboreRepresentation::getLocalFacePairPerCellIndices ( int8_t * localFacePairPerCellIndices) const
pure virtual

For each interval of the wellbore frame, gets the index of the entry and exit local face it is associated to.

Exceptions
std::range_errorIf the local face indices are stored in an integer constant array and if the the constant value is strictly superior than char maximum value.
std::logic_errorIf the local face indices are neither stored in a HDF5 integer array nor in an integer constant array.
Parameters
[out]gridIndicesAn array for receiving the local face indices. The size of this array is twice the interval count of the wellbore frame representation.
Returns
The null value used in localFacePairPerCellIndices in order to indicate that no face is intersected.

Implemented in resqml2_0_1::BlockedWellboreRepresentation, and resqml2_2::BlockedWellboreRepresentation.

◆ getSupportingGridRepresentation()

resqml2::AbstractGridRepresentation * resqml2::BlockedWellboreRepresentation::getSupportingGridRepresentation ( uint64_t index) const

Gets the supporting grid representation located at a specific index of this blocked wellbore representation.

Exceptions
std::out_of_rangeIf index >= getSupportingGridRepresentationCount().
Parameters
indexZero-based index of the supporting grid representation we look for.
Returns
The supporting grid representation at position index.

◆ getSupportingGridRepresentationCount()

virtual uint64_t resqml2::BlockedWellboreRepresentation::getSupportingGridRepresentationCount ( ) const
pure virtual

Gets the count of supporting grid representations of this blocked wellbore representation.

Exceptions
std::range_errorIf the count of supporting grid representations is strictly greater than unsigned int max.
Returns
The count of supporting grid representation.

Implemented in resqml2_0_1::BlockedWellboreRepresentation, and resqml2_2::BlockedWellboreRepresentation.

◆ getSupportingGridRepresentationDor()

virtual common::DataObjectReference resqml2::BlockedWellboreRepresentation::getSupportingGridRepresentationDor ( uint64_t index) const
pure virtual

Get the DOR of the supporting grid representation located at a specific index of this blocked wellbore representation.

Exceptions
std::out_of_rangeIf index >= getSupportingGridRepresentationCount().
Parameters
indexZero-based index of the supporting grid representation we look for.
Returns
The DOR of the supporting grid representation at position index.

Implemented in resqml2_0_1::BlockedWellboreRepresentation, and resqml2_2::BlockedWellboreRepresentation.

◆ getXmlTag()

virtual std::string resqml2::BlockedWellboreRepresentation::getXmlTag ( ) const
inlineoverridevirtual

Gets the standard XML tag without XML namespace for serializing this data object.

Returns
The XML tag.

Implements common::AbstractObject.

◆ pushBackSupportingGridRepresentation()

virtual void resqml2::BlockedWellboreRepresentation::pushBackSupportingGridRepresentation ( resqml2::AbstractGridRepresentation * supportingGridRep)
pure virtual

Pushes back a grid representation which is one of the support of this representation.

Exceptions
std::invalid_argumentIf supportingGridRep == nullptr.
Parameters
[in]supportingGridRepThe supporting grid representation to push back.

Implemented in resqml2_0_1::BlockedWellboreRepresentation, and resqml2_2::BlockedWellboreRepresentation.

◆ setIntervalGridCells()

virtual void resqml2::BlockedWellboreRepresentation::setIntervalGridCells ( int8_t const * gridIndices,
int8_t gridIndicesNullValue,
int64_t const * cellIndices,
int8_t const * localFacePairPerCellIndices,
int8_t localFacePairPerCellIndicesNullValue,
eml2::AbstractHdfProxy * hdfProxy = nullptr )
pure virtual

Sets all information about the intersected grid cells. You must first provide MD values of the frame before to use this method.

Exceptions
std::invalid_argumentIf gridIndices, cellIndices, localFacePairPerCellIndices or hdfProxy is nullptr.
std::logic_errorIf MD values of the frame have not been provided before using this method.
Parameters
gridIndicesAn array containing for each interval of the wellbore frame, the index of the grid it is associated to. The size of this array is the interval count of the wellbore frame representation. cellCount must equal the number of non- null entries in this array. The associated grids (and there indices) are defined using pushBackSupportingGridRepresentation() method.
gridIndicesNullValueThe null value used in gridIndices in order to indicate that an interval does not correspond to any intersected grid. Generally -1.
cellIndicesAn array containing the intersected cell index for each entry in gridIndices. The size of this array is the interval count of the wellbore frame representation. The null value will be set to gridIndicesNullValue which already informs about the presence or not of a cell.
localFacePairPerCellIndicesAn array containing, for each cell, the entry and exit intersection faces of the trajectory in the cell. The array dimension must equal 2 * intervalCount.
localFacePairPerCellIndicesNullValueThe null value used in localFacePerCellIndices in order to indicate that it corresponds to a missing intersection, e.g., when a trajectory originates or terminates within a cell.
[in,out]hdfProxyThe HDF proxy where the numerical values will be stored. If set to nullptr, the default HdfProxy will be used instead.

Implemented in resqml2_0_1::BlockedWellboreRepresentation, and resqml2_2::BlockedWellboreRepresentation.

Member Data Documentation

◆ XML_TAG

char const* resqml2::BlockedWellboreRepresentation::XML_TAG = "BlockedWellboreRepresentation"
staticconstexpr

The standard XML tag without XML namespace for serializing this data object.


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