Fesapi
2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
|
#include <WellboreTrajectoryRepresentation.h>
Public Member Functions | |
WellboreTrajectoryRepresentation (gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject) | |
WellboreTrajectoryRepresentation (resqml2::WellboreInterpretation *interp, const std::string &guid, const std::string &title, resqml2::MdDatum *mdInfo) | |
WellboreTrajectoryRepresentation (resqml2::WellboreInterpretation *interp, const std::string &guid, const std::string &title, resqml2::DeviationSurveyRepresentation *deviationSurvey) | |
WellboreTrajectoryRepresentation (gsoap_resqml2_0_1::_resqml20__WellboreTrajectoryRepresentation *fromGsoap) | |
~WellboreTrajectoryRepresentation ()=default | |
void | setMinimalGeometry (double startMd, double endMd) final |
void | setGeometry (double const *controlPoints, double startMd, double endMd, unsigned int controlPointCount, int lineKind, eml2::AbstractHdfProxy *proxy=nullptr, resqml2::AbstractLocal3dCrs *localCrs=nullptr) final |
void | setGeometry (double const *controlPoints, double const *controlPointParameters, unsigned int controlPointCount, int lineKind, eml2::AbstractHdfProxy *proxy=nullptr, resqml2::AbstractLocal3dCrs *localCrs=nullptr) final |
void | setGeometry (double const *controlPoints, double const *tangentVectors, double const *controlPointParameters, unsigned int controlPointCount, int lineKind, eml2::AbstractHdfProxy *proxy=nullptr, resqml2::AbstractLocal3dCrs *localCrs=nullptr) final |
int | getGeometryKind () const final |
void | setMdDatum (resqml2::MdDatum *mdDatum) final |
common::DataObjectReference | getMdDatumDor () const final |
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. More... | |
bool | hasMdValues () const final |
gsoap_resqml2_0_1::eml20__LengthUom | getMdUom () const final |
void | getMdValues (double *values) const final |
double | getStartMd () const final |
double | getFinishMd () const final |
bool | hasTangentVectors () const final |
void | getTangentVectors (double *tangentVectors) final |
void | addParentTrajectory (double kickoffMd, double parentMd, resqml2::WellboreTrajectoryRepresentation *parentTrajRep) final |
common::DataObjectReference | getParentTrajectoryDor () const final |
double | getParentTrajectoryMd () const final |
void | setDeviationSurvey (resqml2::DeviationSurveyRepresentation *deviationSurvey) final |
common::DataObjectReference | getDeviationSurveyDor () const final |
common::DataObjectReference | getLocalCrsDor (unsigned int patchIndex) const final |
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). More... | |
bool | hasGeometry () const final |
std::string | getXmlNamespace () const final |
Public Member Functions inherited from resqml2::WellboreTrajectoryRepresentation | |
void | setGeometry (double const *controlPoints, double const *inclinations, double const *azimuths, double const *controlPointParameters, unsigned int controlPointCount, int lineKind, eml2::AbstractHdfProxy *proxy=nullptr, AbstractLocal3dCrs *localCrs=nullptr) |
resqml2::MdDatum * | getMdDatum () const |
void | getInclinationsAndAzimuths (double *inclinations, double *azimuths) |
WellboreTrajectoryRepresentation * | getParentTrajectory () const |
std::vector< WellboreTrajectoryRepresentation * > | getChildrenTrajectorySet () const |
std::vector< class resqml2::WellboreFrameRepresentation * > | getWellboreFrameRepresentationSet () const |
unsigned int | getWellboreFrameRepresentationCount () const |
class resqml2::WellboreFrameRepresentation * | getWellboreFrameRepresentation (unsigned int index) const |
class DeviationSurveyRepresentation * | getDeviationSurvey () const |
unsigned int | getPatchCount () const final |
virtual std::string | getXmlTag () const final |
Public Member Functions inherited from resqml2::AbstractRepresentation | |
virtual | ~AbstractRepresentation ()=default |
class AbstractLocal3dCrs * | getLocalCrs (unsigned int patchIndex) const |
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. 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 |
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, 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::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) |
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::Activity * | getActivity (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_NS |
Static Public Attributes inherited from resqml2::WellboreTrajectoryRepresentation | |
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) |
A wellbore trajectory representation.
|
inline |
Only to be used in partial transfer context.
[in] | partialObject | If non-nullptr, the partial object. |
resqml2_0_1::WellboreTrajectoryRepresentation::WellboreTrajectoryRepresentation | ( | resqml2::WellboreInterpretation * | interp, |
const std::string & | guid, | ||
const std::string & | title, | ||
resqml2::MdDatum * | mdInfo | ||
) |
Creates a wellbore trajectory representation.
std::invalid_argument | If interp or mdInfo is nullptr . |
[in] | interp | The represented wellbore interpretation. It cannot be null. |
guid | The guid to set to the wellbore trajectory representation. If empty then a new guid will be generated. | |
title | The title to set to the wellbore trajectory representation. If empty then "unknown" title will be set. | |
[in] | mdInfo | The MD information of the trajectory, mainly the well reference point. The unit of measure used for the mdInfo coordinates must also be used for the start and end MD of the trajectory. It cannot be null. |
resqml2_0_1::WellboreTrajectoryRepresentation::WellboreTrajectoryRepresentation | ( | resqml2::WellboreInterpretation * | interp, |
const std::string & | guid, | ||
const std::string & | title, | ||
resqml2::DeviationSurveyRepresentation * | deviationSurvey | ||
) |
Creates an instance with an existing deviation survey as its origin.
std::invalid_argument | If interp or deviationSurvey is nullptr . |
[in] | interp | The represented interpretation. It cannot be null. |
guid | The guid to set to the wellbore trajectory representation. If empty then a new guid will be generated. | |
title | The title to set to the wellbore trajectory representation. If empty then "unknown" title will be set. | |
[in] | deviationSurvey | The deviation survey on which this wellbore trajectory relies on. MD data will be retrieve from it. It cannot be null. |
|
inline |
Creates an instance of this class by wrapping a gSOAP instance.
[in] | fromGsoap | If non-null, the gSOAP instance. |
|
virtualdefault |
Destructor does nothing since the memory is managed by the gSOAP context.
Reimplemented from resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Adds a trajectory parent to this trajectory in case of trajectory branching. Does add the inverse relationship i.e. from the parent trajectory to this trajectory.
std::invalid_argument | If parentTrajRep is nullptr . |
kickoffMd | The kickoff MD. | |
parentMd | The MD on the parent wellbore trajectory where this trajectory is starting. It can be NaN if same as kickoffMd. | |
[in] | parentTrajRep | The parent trajectory. |
Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Gets the data object reference of the deviation survey which is the source of this trajectory.
Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Gets the ending MD of this wellbore trajectory. Range may often be from kickoff to TD, but this is not necessary.
Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Gets the geometry kind.
std::logic_error | If this trajectory has no geometry. |
std::logic_error | If the geometry of this trajectory is not a parametric line. |
std::out_of_range | If the geometry kind index is not in the range [-1, 5] . |
Implements resqml2::WellboreTrajectoryRepresentation.
|
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 this representation is partial. |
Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
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. Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Gets the data object reference of the MD information associated to this wellbore trajectory representation.
Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Gets the unit of measure of the MDs along this trajectory.
Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Gets the MD double values associated to each trajectory station of this trajectory.
std::invalid_argument | If this trajectory has no MD value. |
std::invalid_argument | If the HDF proxy is missing. |
std::invalid_argument | If MD values are not defined using the right data structure. |
[out] | values | A buffer for receiving the MD values. It must be preallocated with size of getXyzPointCountOfAllPatches(). |
Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Gets the data object reference of the parent trajectory of this trajectory.
Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Gets the MD on the parent wellbore trajectory where this trajectory is starting.
std::logic_error | If this wellbore trajectory has no parent trajecory. |
Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Gets the starting MD of this wellbore trajectory. Range may often be from kickoff to TD, but this is not necessary.
Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Gets the tangent vectors associated to each trajectory station of this trajectory.
std::invalid_argument | If this trajectory has no tangent vector. |
std::invalid_argument | If the HDF proxy is missing. |
[out] | tangentVectors | A buffer for receiving the tangent vectors. It must be preallocated with size of 3 * getXyzPointCountOfAllPatches(). It won't be freed by FESAPI. |
Implements resqml2::WellboreTrajectoryRepresentation.
|
inlinefinalvirtual |
Get the standard 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::invalid_argument | If the HDF proxy is missing. |
std::logic_error | If this trajectory has no geometry. |
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.
|
finalvirtual |
Queries if this trajectory has a geometry.
Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Indicates if the wellbore trajectory has got MD values attached to each trajectory station.
std::logic_error | If the geometry of this trajectory is not a parametric line. |
Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Indicates if the wellbore trajectory has got tangent vectors attached to each trajectory station. Tangent vectors ussually transport inclination and azimuth of a trajectory station.
std::logic_error | If the geometry of this trajectory is not a parametric line. |
Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Sets the deviation survey which is the source of this trajectory.
std::invalid_argument | If deviationSurvey is nullptr . |
[in] | deviationSurvey | The deviation survey to set as a source of this trajectory. |
Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Sets the geometry of the representation by means of a parametric line with MD information.
std::invalid_argument | If controlPoints is nullptr . |
std::invalid_argument | If controlPointParameters is nullptr . |
std::invalid_argument | If controlPointCount is 0. |
std::invalid_argument | If proxy is nullptr and no default HDF proxy is defined in the repository. |
std::invalid_argument | If localCrs is nullptr and no default CRS is defined in the repository. |
[in] | controlPoints | All the control points of the cubic parametric line in the order of the MDs. Count is controlPointCount * 3 and for each control point (x,y, z) = (controlPoints[2i], controlPoints[2i+1], controlPoints[2i+2]) . |
[in] | controlPointParameters | The arrays of control point parameters (ordered regarding the control points). It corresponds to the MD values in a WellboreFeature context. Count is controlPointCount . |
controlPointCount | The count of control points and control point parameters per cubic parametric line. | |
lineKind | Integer indicating the parametric line kind: 0 for vertical, 1 for linear spline, 2 for natural cubic spline, 3 for cubic spline, 4 for z linear cubic spline, 5 for minimum-curvature spline, (-1) for null: no line. | |
[in,out] | proxy | (Optional) The HDF proxy which indicates in which HDF5 file the control points and its parameters will be stored. It must be already opened for writing and won't be closed. If null, then the default HDF Proxy of the DataObject repository will be arbitrarily selected for writing. |
[in] | localCrs | (Optional) The local CRS where the control points are given. If nullptr (default), then the default Local CRS of the DataObject repository will be arbitrarily selected. |
Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Sets the geometry of the representation by means of a parametric line with MD and tangent vector information.
std::invalid_argument | If controlPoints is nullptr . |
std::invalid_argument | If tangentVectors is nullptr . |
std::invalid_argument | If controlPointParameters is nullptr . |
std::invalid_argument | If controlPointCount is 0. |
std::invalid_argument | If proxy is nullptr and no default HDF proxy is defined in the repository. |
std::invalid_argument | If localCrs is nullptr and no default CRS is defined in the repository. |
[in] | controlPoints | All the control points of the cubic parametric line in the ascending order of the MDs. Count is controlPointCount * 3 and for each control point (x,y, z) = (controlPoints[2i], controlPoints[2i+1], controlPoints[2i+2]) . |
[in] | tangentVectors | All the tangent vectors of all the control points of all the cubic parametric lines. They are ordered according to the control points. Count is controlPointCount * 3 and for each tangent vector (u,v, w) = (tangentVectors[2i], tangentVectors[2i+1], tangentVectors[2i+2]) . |
[in] | controlPointParameters | The arrays of control point parameters (ordered regarding the control points). It corresponds to the MD values in this context. Count is controlPointCount . |
controlPointCount | The count of control points and control point parameters and tangent vectors per cubic parametric line. | |
lineKind | Integer indicating the parametric line kind: 0 for vertical, 1 for linear spline, 2 for natural cubic spline, 3 for cubic spline, 4 for z linear cubic spline, 5 for minimum-curvature spline, (-1) for null: no line. | |
[in,out] | proxy | (Optional) The HDF proxy which indicates in which HDF5 file the parameters and the tangent vectors will be stored. It must be already opened for writing and won't be closed. If null, then the default HDF Proxy of the DataObject repository will be arbitrarily selected for writing. |
[in] | localCrs | (Optional) The local CRS where the control points are given. If nullptr , then the default Local CRS of the DataObject repository will be arbitrarily selected. |
Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Sets the geometry of the representation by means of a parametric line without MD information (only start and end MDs).
std::invalid_argument | If controlPoints is nullptr . |
std::invalid_argument | If controlPointCount is 0. |
std::invalid_argument | If proxy is nullptr and no default HDF proxy is defined in the repository. |
std::invalid_argument | If localCrs is nullptr and no default CRS is defined in the repository. |
[in] | controlPoints | All the control points of the cubic parametric line in the order of the MDs. Count is controlPointCount * 3 and for each control point (x,y,z) = (controlPoints[2i], controlPoints[2i+1], controlPoints[2i+2]) . |
startMd | The start MD of the trajectory. | |
endMd | The end MD of the trajectory. | |
controlPointCount | The count of control points and control point parameters per cubic parametric line. | |
lineKind | Integer indicating the parametric line kind: 0 for vertical, 1 for linear spline, 2 for natural cubic spline, 3 for cubic spline, 4 for z linear cubic spline, 5 for minimum-curvature spline, (-1) for null: no line. | |
[in,out] | proxy | (Optional) The HDF proxy which indicates in which HDF5 file the control points and its parameters will be stored. It must be already opened for writing and won't be closed. If null, then the default HDF Proxy of the data object repository will be arbitrarily selected for writing. |
[in] | localCrs | (Optional) The local CRS where the control points are given. If nullptr (default), then the default Local CRS of the data object repository will be arbitrarily selected. |
Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Sets the MD datum of this trajectory.
std::invalid_argument | If mdDatum is nullptr . |
[in] | mdDatum | The MD damtum to set to this trajectory. It cannot be null. |
Implements resqml2::WellboreTrajectoryRepresentation.
|
finalvirtual |
Sets the minimal geometry of the representation by means of start and end MDs.
startMd | The start MD of the trajectory. Uom is the same as the one for the associated MdDatum coordinates. |
endMd | The end MD of the trajectory. Uom is the same as the one for the associated MdDatum coordinates. |
Implements resqml2::WellboreTrajectoryRepresentation.
|
static |
The standard XML namespace for serializing this data object.