Fesapi 2.10.1.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
|
A deviation survey representation. It Specifies the station data from a deviation survey. More...
#include <DeviationSurveyRepresentation.h>
Public Member Functions | |
DeviationSurveyRepresentation (gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject) | |
DeviationSurveyRepresentation (class resqml2::WellboreInterpretation *interp, const std::string &guid, const std::string &title, bool isFinal, resqml2::MdDatum *mdInfo) | |
Creates an instance of this class in a gsoap context. | |
DeviationSurveyRepresentation (gsoap_resqml2_0_1::_resqml20__DeviationSurveyRepresentation *fromGsoap) | |
~DeviationSurveyRepresentation ()=default | |
void | setGeometry (double const *firstStationLocation, uint64_t stationCount, gsoap_resqml2_0_1::eml20__LengthUom mdUom, double const *mds, gsoap_resqml2_0_1::eml20__PlaneAngleUom angleUom, double const *azimuths, double const *inclinations, eml2::AbstractHdfProxy *proxy) |
void | setMdDatum (resqml2::MdDatum *mdDatum) |
common::DataObjectReference | getMdDatumDor () const |
resqml2::MdDatum * | getMdDatum () const |
bool | isFinal () const |
uint64_t | getXyzPointCountOfPatch (unsigned int patchIndex) const final |
void | getXyzPointsOfPatch (unsigned int patchIndex, double *xyzPoints) const final |
Gets all the xyz points of a particular patch of this representation. xyz points are given in the local CRS. | |
gsoap_resqml2_0_1::eml20__LengthUom | getMdUom () const |
gsoap_resqml2_0_1::eml20__PlaneAngleUom | getAngleUom () const |
void | getMdValues (double *values) const |
void | getInclinations (double *values) const |
void | getAzimuths (double *values) const |
std::vector< resqml2::WellboreFrameRepresentation * > | getWellboreFrameRepresentationSet () const |
uint64_t | getWellboreFrameRepresentationCount () const |
class resqml2::WellboreFrameRepresentation * | getWellboreFrameRepresentation (uint64_t index) const |
std::vector< resqml2::WellboreTrajectoryRepresentation * > | getWellboreTrajectoryRepresentationSet () const |
uint64_t | getWellboreTrajectoryRepresentationCount () const |
resqml2::WellboreTrajectoryRepresentation * | getWellboreTrajectoryRepresentation (uint64_t index) const |
common::DataObjectReference | getHdfProxyDor () const |
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 |
virtual std::string | getXmlTag () const final |
std::string | getXmlNamespace () const final |
Public Member Functions inherited from resqml2::AbstractRepresentation | |
virtual | ~AbstractRepresentation ()=default |
eml2::AbstractLocal3dCrs * | getLocalCrs (uint64_t patchIndex) const |
virtual common::DataObjectReference | getLocalCrsDor (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::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 |
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::DataObjectRepository * | getRepository () const |
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::Activity * | getActivity (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 = "DeviationSurveyRepresentation" |
static constexpr char const * | XML_NS = "resqml20" |
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) |
A deviation survey representation. It Specifies the station data from a deviation survey.
The deviation survey does not provide a complete specification of the geometry of a wellbore trajectory. Although a minimum-curvature algorithm is used in most cases, the implementation varies sufficiently that no single algorithmic specification is available as a data transfer standard.
Instead, the geometry of a RESQML wellbore trajectory is represented by a parametric line, parameterized by the MD.
CRS and units of measure do not need to be consistent with the CRS and units of measure for wellbore trajectory representation.
|
inline |
Only to be used in partial transfer context
[in,out] | partialObject | If non-null, the partial object. |
resqml2_0_1::DeviationSurveyRepresentation::DeviationSurveyRepresentation | ( | class resqml2::WellboreInterpretation * | interp, |
const std::string & | guid, | ||
const std::string & | title, | ||
bool | isFinal, | ||
resqml2::MdDatum * | mdInfo ) |
Creates an instance of this class in a gsoap context.
std::invalid_argument | If interp == nullptr or mdInfo == nullptr . |
[in] | interp | The WellboreFeature interpretation the instance represents. |
guid | The guid to set to the new instance. If empty then a new guid will be generated. | |
title | A title for the instance to create. | |
isFinal | Used to indicate that this is a final version of the deviation survey, as distinct from the interim interpretations. | |
[in] | mdInfo | The MD information of the survey, mainly the well reference point. |
|
inline |
Creates an instance of this class by wrapping a gsoap instance.
[in,out] | fromGsoap | If non-null, from gsoap. |
|
default |
Destructor
gsoap_resqml2_0_1::eml20__PlaneAngleUom resqml2_0_1::DeviationSurveyRepresentation::getAngleUom | ( | ) | const |
Gets the unit of measure of the azimuth and inclination angle values of this deviation survey.
void resqml2_0_1::DeviationSurveyRepresentation::getAzimuths | ( | double * | values | ) | const |
Gets the azimuth double values associated to each trajectory station of this deviation survey representation. The rotation is relative to the projected CRS north with a positive value indicating a clockwise rotation as seen from above. The uom is given by getAngleUom().
logic_error | If the data structure used to store the azimuth values cannot be read for now by fesapi. |
[out] | values | An array to receive the azimuth double values. It must preallocated with a count of getXyzPointCountOfPatch(0) . |
|
virtual |
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 this representation is partial. |
Implements resqml2::AbstractRepresentation.
void resqml2_0_1::DeviationSurveyRepresentation::getInclinations | ( | double * | values | ) | const |
Gets the inclination double values associated to each trajectory station of this deviation survey representation. The uom is given by getAngleUom().
logic_error | If the data structure used to store the inclination values cannot be read for now by fesapi. |
[out] | values | An array to receive the inclination double values. It must preallocated with a count of getXyzPointCountOfPatch(0) . |
resqml2::MdDatum * resqml2_0_1::DeviationSurveyRepresentation::getMdDatum | ( | ) | const |
Gets the MD datum of this deviation survey representation.
common::DataObjectReference resqml2_0_1::DeviationSurveyRepresentation::getMdDatumDor | ( | ) | const |
Gets the DOR of the MD datum of this deviation survey representation.
gsoap_resqml2_0_1::eml20__LengthUom resqml2_0_1::DeviationSurveyRepresentation::getMdUom | ( | ) | const |
Gets the unit of measure of the MDs along this deviation survey.
void resqml2_0_1::DeviationSurveyRepresentation::getMdValues | ( | double * | values | ) | const |
Gets the MD double values associated to each trajectory station of this deviation survey representation. The uom is given by getMdUom().
logic_error | If the data structure used to store the MD values cannot be read for now by fesapi. |
[out] | values | An array to receive the MD double values. It must preallocated with a count of getXyzPointCountOfPatch(0) . |
|
inlinefinalvirtual |
class resqml2::WellboreFrameRepresentation * resqml2_0_1::DeviationSurveyRepresentation::getWellboreFrameRepresentation | ( | uint64_t | index | ) | const |
Gets a particular wellbore frame representation according to its position in the set of all the wellbore frame representations of the associated wellbore trajectory which share the same MD datum and MD uom than this deviation survey representation.
std::invalid_argument | If index >= getWellboreFrameRepresentationCount() . |
index | Zero-based index of the wellbore frame representation we look for. |
index
in the set of all the wellbore frame representations of the associated wellbore trajectory which share the same MD datum and MD uom than this deviation survey representation. uint64_t resqml2_0_1::DeviationSurveyRepresentation::getWellboreFrameRepresentationCount | ( | ) | const |
Gets the count of wellbore frame representations of the associated wellbore trajectory which share the same MD datum and MD uom than this deviation survey representation.
std::vector< resqml2::WellboreFrameRepresentation * > resqml2_0_1::DeviationSurveyRepresentation::getWellboreFrameRepresentationSet | ( | ) | const |
Gets all the wellbore frame representations of the associated wellbore trajectory which share the same MD datum and MD uom than this deviation survey representation.
resqml2::WellboreTrajectoryRepresentation * resqml2_0_1::DeviationSurveyRepresentation::getWellboreTrajectoryRepresentation | ( | uint64_t | index | ) | const |
Gets the associated wellbore trajectory at a particular position.
std::out_of_range | If index >= getWellboreTrajectoryRepresentationCount() . |
index | Zero-based index of the wellbore trajectory we look for. |
index
. uint64_t resqml2_0_1::DeviationSurveyRepresentation::getWellboreTrajectoryRepresentationCount | ( | ) | const |
Get the count of wellbore trajectories which are associated to this deviation survey.
std::range_error | If the count of wellbore trajectories is strictly greater than unsigned int max. |
std::vector< resqml2::WellboreTrajectoryRepresentation * > resqml2_0_1::DeviationSurveyRepresentation::getWellboreTrajectoryRepresentationSet | ( | ) | const |
Gets all the wellbore trajectories which are associated to this deviation survey representation.
|
inlinefinalvirtual |
Get the standard XML namespace for serializing this data object.
Implements common::AbstractObject.
|
inlinefinalvirtual |
Gets the standard XML tag without XML namespace for serializing this data object.
Implements common::AbstractObject.
|
finalvirtual |
Get the xyz point count in a given patch of this representation.
std::out_of_range | If patchIndex is out of range. |
std::logic_error | If this representation is partial. |
patchIndex | Zero-based index of the patch from which we look for the xyz points. |
patchIndex
. Implements resqml2::AbstractRepresentation.
|
finalvirtual |
Gets all the xyz points of a particular patch of this representation. xyz points are given in the local CRS.
std::out_of_range | If patchIndex is out of range. |
std::logic_error | If this representation is partial. |
patchIndex | Zero-based index of the patch from which we look for the xyz points. | |
[out] | xyzPoints | A linearized 2d array where the first (quickest) dimension is the coordinate dimension (x, y or z) and second dimension is vertex dimension. It must be preallocated with a size of 3 * getXyzPointCountOfPatch(patchIndex) . |
Implements resqml2::AbstractRepresentation.
bool resqml2_0_1::DeviationSurveyRepresentation::isFinal | ( | ) | const |
Checks whether this is a final version of the deviation survey, as distinct from the interim interpretations.
void resqml2_0_1::DeviationSurveyRepresentation::setGeometry | ( | double const * | firstStationLocation, |
uint64_t | stationCount, | ||
gsoap_resqml2_0_1::eml20__LengthUom | mdUom, | ||
double const * | mds, | ||
gsoap_resqml2_0_1::eml20__PlaneAngleUom | angleUom, | ||
double const * | azimuths, | ||
double const * | inclinations, | ||
eml2::AbstractHdfProxy * | proxy ) |
Sets the geometry of this deviation survey representation.
std::invalid_argument | If firstStationLocation , mds , azimuths or inclinations is @ nullptr. |
std::invalid_argument | If proxy == nullptr and no default HDF proxy is defined in the repository. |
firstStationLocation | An array of size 3 containing the coordinates x, y and z of the first station of this deviation survey in the local CRS. | |
stationCount | The number of stations (including the first station). | |
mdUom | The units of measure of the measured depths along this deviation survey. | |
mds | An array containing the MD values of the stations. The array length equals stationCount . | |
angleUom | The unit of measure of both azimuth and inclination values. | |
azimuths | An array of azimuth angles, one for each survey station. The rotation is relative to the projected CRS north with a positive value indicating a clockwise rotation as seen from above. Array length equals stationCount . | |
inclinations | Inclination (or dip) angle for each station. Array length equals stationCount . | |
[in,out] | proxy | The HDF proxy where the numerical values will be stored. It must be already opened for writing and won't be closed. If nullptr , then the default HDF proxy of the repository will be used. |
void resqml2_0_1::DeviationSurveyRepresentation::setMdDatum | ( | resqml2::MdDatum * | mdDatum | ) |
Sets the MD datum of this deviation survey representation.
std::invalid_argument | If mdDatum == nullptr . |
[in] | mdDatum | The MD datum to set. |
|
staticconstexpr |
The standard XML namespace for serializing this data object.
|
staticconstexpr |
The standard XML tag without XML namespace for serializing this data object.