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 | Static Public Attributes | List of all members
resqml2::DeviationSurveyRepresentation Class Referenceabstract

A deviation survey representation. It Specifies the station data from a deviation survey. More...

#include <DeviationSurveyRepresentation.h>

Inheritance diagram for resqml2::DeviationSurveyRepresentation:
resqml2::AbstractRepresentation common::AbstractObject resqml2_0_1::DeviationSurveyRepresentation resqml2_2::DeviationSurveyRepresentation

Public Member Functions

virtual ~DeviationSurveyRepresentation ()=default
 
virtual 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)=0
 
virtual void setMdDatum (resqml2::MdDatum *mdDatum)=0
 
virtual common::DataObjectReference getMdDatumDor () const =0
 
class MdDatumgetMdDatum () const
 
virtual bool isFinal () const =0
 
virtual gsoap_resqml2_0_1::eml20__LengthUom getMdUom () const =0
 
virtual gsoap_resqml2_0_1::eml20__PlaneAngleUom getAngleUom () const =0
 
virtual void getMdValues (double *values) const =0
 
virtual void getInclinations (double *values) const =0
 
virtual void getAzimuths (double *values) const =0
 
std::vector< class resqml2::WellboreFrameRepresentation * > getWellboreFrameRepresentationSet () const
 
unsigned int getWellboreFrameRepresentationCount () const
 
class resqml2::WellboreFrameRepresentationgetWellboreFrameRepresentation (unsigned int index) const
 
std::vector< class WellboreTrajectoryRepresentation * > getWellboreTrajectoryRepresentationSet () const
 
unsigned int getWellboreTrajectoryRepresentationCount () const
 
class WellboreTrajectoryRepresentationgetWellboreTrajectoryRepresentation (unsigned int index) const
 
unsigned int getPatchCount () const final
 
virtual std::string getXmlTag () const final
 
- Public Member Functions inherited from resqml2::AbstractRepresentation
virtual ~AbstractRepresentation ()=default
 
class AbstractLocal3dCrsgetLocalCrs (unsigned int patchIndex) const
 
virtual common::DataObjectReference getLocalCrsDor (unsigned int patchIndex) const
 
virtual common::DataObjectReference getHdfProxyDor () const =0
 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...
 
std::vector< class AbstractProperty * > getPropertySet () const
 
void setInterpretation (class AbstractFeatureInterpretation *interp)
 
class AbstractFeatureInterpretationgetInterpretation () const
 
common::DataObjectReference getInterpretationDor () const
 
virtual uint64_t getXyzPointCountOfPatch (unsigned int patchIndex) const =0
 
uint64_t getXyzPointCountOfAllPatches () const
 
virtual void getXyzPointsOfPatch (unsigned int patchIndex, double *xyzPoints) const =0
 Gets all the xyz points of a particular patch of this representation. xyz points are given in the local CRS. More...
 
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 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
 

Static Public Attributes

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

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)
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ~DeviationSurveyRepresentation()

virtual resqml2::DeviationSurveyRepresentation::~DeviationSurveyRepresentation ( )
virtualdefault

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

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

Member Function Documentation

◆ getAngleUom()

virtual gsoap_resqml2_0_1::eml20__PlaneAngleUom resqml2::DeviationSurveyRepresentation::getAngleUom ( ) const
pure virtual

Gets the unit of measure of the azimuth and inclination angle values of this deviation survey.

Returns
The unit of measure of the azimuth and inclination angle values.

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

◆ getAzimuths()

virtual void resqml2::DeviationSurveyRepresentation::getAzimuths ( double *  values) const
pure virtual

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().

Exceptions
logic_errorIf the data structure used to store the azimuth values cannot be read for now by fesapi.
Parameters
[out]valuesAn array to receive the azimuth double values. It must preallocated with a count of getXyzPointCountOfPatch(0).

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

◆ getInclinations()

virtual void resqml2::DeviationSurveyRepresentation::getInclinations ( double *  values) const
pure virtual

Gets the inclination double values associated to each trajectory station of this deviation survey representation. The uom is given by getAngleUom().

Exceptions
logic_errorIf the data structure used to store the inclination values cannot be read for now by fesapi.
Parameters
[out]valuesAn array to receive the inclination double values. It must preallocated with a count of getXyzPointCountOfPatch(0).

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

◆ getMdDatum()

class MdDatum* resqml2::DeviationSurveyRepresentation::getMdDatum ( ) const

Gets the MD datum of this deviation survey representation.

Returns
The MD datum of this deviation survey representation.

◆ getMdDatumDor()

virtual common::DataObjectReference resqml2::DeviationSurveyRepresentation::getMdDatumDor ( ) const
pure virtual

Gets the DOR of the MD datum of this deviation survey representation.

Returns
The DOR of the MD datum of this deviation survey representation.

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

◆ getMdUom()

virtual gsoap_resqml2_0_1::eml20__LengthUom resqml2::DeviationSurveyRepresentation::getMdUom ( ) const
pure virtual

Gets the unit of measure of the MDs along this deviation survey.

Returns
The unit of measure of the MDs.

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

◆ getMdValues()

virtual void resqml2::DeviationSurveyRepresentation::getMdValues ( double *  values) const
pure virtual

Gets the MD double values associated to each trajectory station of this deviation survey representation. The uom is given by getMdUom().

Exceptions
logic_errorIf the data structure used to store the MD values cannot be read for now by fesapi.
Parameters
[out]valuesAn array to receive the MD double values. It must preallocated with a count of getXyzPointCountOfPatch(0).

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

◆ getPatchCount()

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

Gets the patch count.

Returns
The patch count.

Implements resqml2::AbstractRepresentation.

◆ getWellboreFrameRepresentation()

class resqml2::WellboreFrameRepresentation* resqml2::DeviationSurveyRepresentation::getWellboreFrameRepresentation ( unsigned int  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.

Exceptions
std::invalid_argumentIf index >= getWellboreFrameRepresentationCount().
Parameters
indexZero-based index of the wellbore frame representation we look for.
Returns
The wellbore frame representation at position 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.

◆ getWellboreFrameRepresentationCount()

unsigned int resqml2::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.

Returns
The 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.

◆ getWellboreFrameRepresentationSet()

std::vector<class resqml2::WellboreFrameRepresentation *> resqml2::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.

Returns
The vector 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.

◆ getWellboreTrajectoryRepresentation()

class WellboreTrajectoryRepresentation* resqml2::DeviationSurveyRepresentation::getWellboreTrajectoryRepresentation ( unsigned int  index) const

Gets the associated wellbore trajectory at a particular position.

Exceptions
std::out_of_rangeIf index >= getWellboreTrajectoryRepresentationCount().
Parameters
indexZero-based index of the wellbore trajectory we look for.
Returns
The associated wellbore trajectory at position index.

◆ getWellboreTrajectoryRepresentationCount()

unsigned int resqml2::DeviationSurveyRepresentation::getWellboreTrajectoryRepresentationCount ( ) const

Get the count of wellbore trajectories which are associated to this deviation survey.

Exceptions
std::range_errorIf the count of wellbore trajectories is strictly greater than unsigned int max.
Returns
The count of associated wellbore trajectories.

◆ getWellboreTrajectoryRepresentationSet()

std::vector<class WellboreTrajectoryRepresentation *> resqml2::DeviationSurveyRepresentation::getWellboreTrajectoryRepresentationSet ( ) const

Gets all the wellbore trajectories which are associated to this deviation survey representation.

Returns
The vector of all the associated wellbore trajectories.

◆ getXmlTag()

virtual std::string resqml2::DeviationSurveyRepresentation::getXmlTag ( ) const
inlinefinalvirtual

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

Returns
The XML tag.

Implements common::AbstractObject.

◆ isFinal()

virtual bool resqml2::DeviationSurveyRepresentation::isFinal ( ) const
pure virtual

Checks whether this is a final version of the deviation survey, as distinct from the interim interpretations.

Returns
True if it is a final version, false if not.

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

◆ setGeometry()

virtual void resqml2::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 
)
pure virtual

Sets the geometry of this deviation survey representation.

Exceptions
std::invalid_argumentIf firstStationLocation, mds, azimuths or inclinations is @ nullptr.
std::invalid_argumentIf proxy == nullptr and no default HDF proxy is defined in the repository.
Parameters
firstStationLocationAn array of size 3 containing the coordinates x, y and z of the first station of this deviation survey in the local CRS.
stationCountThe number of stations (including the first station).
mdUomThe units of measure of the measured depths along this deviation survey.
mdsAn array containing the MD values of the stations. The array length equals stationCount.
angleUomThe unit of measure of both azimuth and inclination values.
azimuthsAn 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.
inclinationsInclination (or dip) angle for each station. Array length equals stationCount.
[in,out]proxyThe 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.

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

◆ setMdDatum()

virtual void resqml2::DeviationSurveyRepresentation::setMdDatum ( resqml2::MdDatum mdDatum)
pure virtual

Sets the MD datum of this deviation survey representation.

Exceptions
std::invalid_argumentIf mdDatum == nullptr.
Parameters
[in]mdDatumThe MD datum to set.

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

Member Data Documentation

◆ XML_TAG

const char* resqml2::DeviationSurveyRepresentation::XML_TAG
static

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


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