Fesapi 2.9.0.1
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
|
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>
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 WellboreTrajectoryRepresentation * | getWellboreTrajectory () 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 AbstractLocal3dCrs * | getLocalCrs (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::TimeSeries * | getTimeSeries () 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 AbstractFeatureInterpretation * | getInterpretation () 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 |
AbstractRepresentation * | getSeismicSupportOfPatch (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" |
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.
|
default |
Destructor does nothing since the memory is managed by the gSOAP context.
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.
std::logic_error | If the underlying gSOAP instance is not a RESQML2.0 one. |
|
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).
std::logic_error | If the underlying gSOAP instance is not a RESQML v2.0 or RESQML v2.0 one. |
std::logic_error | If this representation is partial. |
Implements resqml2::AbstractRepresentation.
|
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.
std::out_of_range | If patchIndex is out of range. |
patchIndex | Zero-based index of the patch for which we look for the local CRS. |
patchIndex
patch. Reimplemented from resqml2::AbstractRepresentation.
void resqml2::WellboreFrameRepresentation::getMdAsDoubleValues | ( | double * | values | ) | const |
Gets all the MD values of this instance which are supposed to be double ones.
std::logic_error | If the underlying gSOAP instance is not a RESQML2.0 one. |
std::logic_error | If the MD values are neither stored in a HDF5 double array nor in a double lattice array. |
std::invalid_argument | If the MD values are stored in a HDF5 double array and the HDF proxy is missing. |
[out] | values | A buffer to receive the MD values ordered from top to bottom of the wellbore trajectory. It must be preallocated with size of getMdValuesCount(). |
void resqml2::WellboreFrameRepresentation::getMdAsFloatValues | ( | float * | values | ) | const |
Gets all the MD values of this instance which are supposed to be float ones.
std::logic_error | If the underlying gSOAP instance is not a RESQML2.0 one. |
std::logic_error | If the MD values are neither stored in a HDF5 double array nor in a double lattice array. |
std::invalid_argument | If the MD values are stored in a HDF5 double array and the HDF proxy is missing. |
[out] | values | A buffer to receive the MD values ordered from top to bottom of the wellbore trajectory. It must be preallocated with size of getMdValuesCount(). |
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.
std::logic_error | If the underlying gSOAP instance is not a RESQML2.0 one. |
std::invalid_argument | If the MD values are not regularly spaced. |
double resqml2::WellboreFrameRepresentation::getMdFirstValue | ( | ) | const |
Returns the first MD value of this wellbore frame representation.
std::logic_error | If the underlying gSOAP instance is not a RESQML2.0 one. |
std::logic_error | If the MD values are neither stored in a HDF5 double array nor in a double lattice array. |
std::invalid_argument | If the MD values are stored in a HDF5 double array and the HDF proxy is missing. |
common::AbstractObject::numericalDatatypeEnum resqml2::WellboreFrameRepresentation::getMdHdfDatatype | ( | ) | const |
Gets the MD datatype in the HDF dataset.
std::logic_error | If the underlying gSOAP instance is not a RESQML2.0 one. |
std::invalid_argument | If the MD values are stored in a HDF5 double array and the HDF proxy is missing. |
DOUBLE
if MD values are stored as a regular discretization along the wellbore trajectory. unsigned int resqml2::WellboreFrameRepresentation::getMdValuesCount | ( | ) | const |
Gets the number of MD values in this wellbore frame representation.
std::logic_error | If the underlying gSOAP instance is not a RESQML2.0 one. |
|
inlinefinalvirtual |
class WellboreTrajectoryRepresentation * resqml2::WellboreFrameRepresentation::getWellboreTrajectory | ( | ) | const |
Gets the associated RESQML wellbore trajectory.
std::logic_error | If the underlying gSOAP instance is not a RESQML2.0 one. |
common::DataObjectReference resqml2::WellboreFrameRepresentation::getWellboreTrajectoryDor | ( | ) | const |
Gets the data object reference of the associated RESQML wellbore trajectory.
std::logic_error | If the underlying gSOAP instance is not a RESQML2.0 one. |
|
overridevirtual |
Get the xyz point count in a given patch.
Implements resqml2::AbstractRepresentation.
|
overridevirtual |
Use linear interpolation between 2 trajectory stations.
Implements resqml2::AbstractRepresentation.
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.
std::logic_error | If the underlying gSOAP instance is not a RESQML2.0 one. |
std::invalid_argument | If proxy is nullptr and no default HDF proxy is defined in the repository. |
mdValues | All the MD values to set from top to bottom of the wellbore trajectory. Size if mdValueCount . | |
mdValueCount | The 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. |
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.
std::logic_error | If the underlying gSOAP instance is not a RESQML2.0 one. |
firstMdValue | The first MD value. |
incrementMdValue | The increment value between two MDs. |
mdValueCount | The count of MD values in this wellbore frame representation. |