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::WellboreTrajectoryRepresentation Class Referenceabstract

Representation of a wellbore trajectory. More...

#include <WellboreTrajectoryRepresentation.h>

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

Public Member Functions

virtual ~WellboreTrajectoryRepresentation ()=default
 
virtual void setMinimalGeometry (double startMd, double endMd)=0
 
virtual void setGeometry (double const *controlPoints, double startMd, double endMd, uint64_t controlPointCount, int lineKind, eml2::AbstractHdfProxy *proxy=nullptr, eml2::AbstractLocal3dCrs *localCrs=nullptr)=0
 
virtual void setGeometry (double const *controlPoints, double const *controlPointParameters, uint64_t controlPointCount, int lineKind, eml2::AbstractHdfProxy *proxy=nullptr, eml2::AbstractLocal3dCrs *localCrs=nullptr)=0
 
virtual void setGeometry (double const *controlPoints, double const *tangentVectors, double const *controlPointParameters, uint64_t controlPointCount, int lineKind, eml2::AbstractHdfProxy *proxy=nullptr, eml2::AbstractLocal3dCrs *localCrs=nullptr)=0
 
void setGeometry (double const *controlPoints, double const *inclinations, double const *azimuths, double const *controlPointParameters, uint64_t controlPointCount, int lineKind, eml2::AbstractHdfProxy *proxy=nullptr, eml2::AbstractLocal3dCrs *localCrs=nullptr)
 
virtual int getGeometryKind () const =0
 
virtual void setMdDatum (MdDatum *mdDatum)=0
 
resqml2::MdDatumgetMdDatum () const
 
virtual common::DataObjectReference getMdDatumDor () const =0
 
virtual bool hasMdValues () const =0
 
virtual gsoap_resqml2_0_1::eml20__LengthUom getMdUom () const =0
 
virtual void getMdValues (double *values) const =0
 
void convertMdValuesToXyzValues (double *mdValues, uint64_t mdCount, double *xyzPoints) const
 
virtual double getStartMd () const =0
 
virtual double getFinishMd () const =0
 
virtual bool hasTangentVectors () const =0
 
virtual void getTangentVectors (double *tangentVectors)=0
 
void getInclinationsAndAzimuths (double *inclinations, double *azimuths)
 
virtual void addParentTrajectory (double kickoffMd, double parentMd, WellboreTrajectoryRepresentation *parentTrajRep)=0
 
WellboreTrajectoryRepresentationgetParentTrajectory () const
 
virtual common::DataObjectReference getParentTrajectoryDor () const =0
 
virtual double getParentTrajectoryMd () const =0
 
std::vector< WellboreTrajectoryRepresentation * > getChildrenTrajectorySet () const
 
std::vector< class resqml2::WellboreFrameRepresentation * > getWellboreFrameRepresentationSet () const
 
unsigned int getWellboreFrameRepresentationCount () const
 
class resqml2::WellboreFrameRepresentationgetWellboreFrameRepresentation (unsigned int index) const
 
virtual common::DataObjectReference getLocalCrsDor (uint64_t patchIndex) const override=0
 
virtual common::DataObjectReference getHdfProxyDor () const override=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).
 
uint64_t getPatchCount () const final
 
virtual bool hasGeometry () const =0
 
virtual std::string getXmlTag () 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
 
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.
 
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 = "WellboreTrajectoryRepresentation"
 
- 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

Representation of a wellbore trajectory.

Constructor & Destructor Documentation

◆ ~WellboreTrajectoryRepresentation()

virtual resqml2::WellboreTrajectoryRepresentation::~WellboreTrajectoryRepresentation ( )
virtualdefault

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

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

Member Function Documentation

◆ addParentTrajectory()

virtual void resqml2::WellboreTrajectoryRepresentation::addParentTrajectory ( double kickoffMd,
double parentMd,
WellboreTrajectoryRepresentation * parentTrajRep )
pure virtual

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.

Exceptions
std::invalid_argumentIf parentTrajRep is nullptr.
Parameters
kickoffMdThe kickoff MD.
parentMdThe MD on the parent wellbore trajectory where this trajectory is starting. It can be NaN if same as kickoffMd.
[in]parentTrajRepThe parent trajectory.

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

◆ convertMdValuesToXyzValues()

void resqml2::WellboreTrajectoryRepresentation::convertMdValuesToXyzValues ( double * mdValues,
uint64_t mdCount,
double * xyzPoints ) const

Converts an array MD values an array of corresponding XYZ points according to this trajectory.

Parameters
[in]mdValuesAn array containing all MD values we want to convert.
[in]mdCountThe count of MD values in mdValues
[out]xyzPointsA buffer for receiving the XYZ points converted from mdValues. It must be preallocated with a size of 3*mdCount.

◆ getChildrenTrajectorySet()

std::vector< WellboreTrajectoryRepresentation * > resqml2::WellboreTrajectoryRepresentation::getChildrenTrajectorySet ( ) const

Gets the set of all children trajectories of this trajectory.

Returns
A vector of pointers to all the children trajectories of this trajectory.

◆ getFinishMd()

virtual double resqml2::WellboreTrajectoryRepresentation::getFinishMd ( ) const
pure virtual

Gets the ending MD of this wellbore trajectory. Range may often be from kickoff to TD, but this is not necessary.

Returns
The end MD.

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

◆ getGeometryKind()

virtual int resqml2::WellboreTrajectoryRepresentation::getGeometryKind ( ) const
pure virtual

Gets the geometry kind.

Exceptions
std::logic_errorIf this trajectory has no geometry.
std::logic_errorIf the geometry of this trajectory is not a parametric line.
std::out_of_rangeIf the geometry kind index is not in the range [-1, 5].
Returns
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.

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

◆ getHdfProxyDor()

virtual common::DataObjectReference resqml2::WellboreTrajectoryRepresentation::getHdfProxyDor ( ) const
overridepure 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).

Exceptions
std::logic_errorIf this representation is partial.
Returns
The data object reference of the HDF proxy used for storing the geometry, or empty data object reference if it fails.

Implements resqml2::AbstractRepresentation.

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

◆ getInclinationsAndAzimuths()

void resqml2::WellboreTrajectoryRepresentation::getInclinationsAndAzimuths ( double * inclinations,
double * azimuths )

Gets the inclination (angle against vertical) and the azimuths (clockwise angle against grid north) both in radians for each trajectory station of this trajectory.

Exceptions
std::invalid_argumentIf this trajectory has no tangent vector.
std::invalid_argumentIf the HDF proxy is missing.
Parameters
[out]inclinationsA buffer for receiving the inclinations. It must be preallocated with size getXyzPointCountOfAllPatches(). It won't be freed by FESAPI.
[out]azimuthsA buffer for receiving the azimuths. It must be preallocated with size getXyzPointCountOfAllPatches(). It won't be freed by FESAPI.

◆ getLocalCrsDor()

virtual common::DataObjectReference resqml2::WellboreTrajectoryRepresentation::getLocalCrsDor ( uint64_t patchIndex) const
overridepure virtual

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.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
Parameters
patchIndexZero-based index of the patch for which we look for the local CRS.
Returns
Empty data object reference if it fails, else the data object reference of the local CRS associated to the patchIndex patch.

Reimplemented from resqml2::AbstractRepresentation.

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

◆ getMdDatum()

resqml2::MdDatum * resqml2::WellboreTrajectoryRepresentation::getMdDatum ( ) const

Gets the MD information associated to this wellbore trajectory representation.

Returns
The associated MD information.

◆ getMdDatumDor()

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

Gets the data object reference of the MD information associated to this wellbore trajectory representation.

Returns
The data object reference of the associated MD information.

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

◆ getMdUom()

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

Gets the unit of measure of the MDs along this trajectory.

Returns
The unit of measure of the MDs along this trajectory.

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

◆ getMdValues()

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

Gets the MD double values associated to each trajectory station of this trajectory.

Exceptions
std::invalid_argumentIf this trajectory has no MD value.
std::invalid_argumentIf the HDF proxy is missing.
std::invalid_argumentIf MD values are not defined using the right data structure.
Parameters
[out]valuesA buffer for receiving the MD values. It must be preallocated with size of getXyzPointCountOfAllPatches().

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

◆ getParentTrajectory()

WellboreTrajectoryRepresentation * resqml2::WellboreTrajectoryRepresentation::getParentTrajectory ( ) const

Gets the parent trajectory of this trajectory.

Returns
nullptr if this trajectory has no parent trajectory, otherwise the parent trajectory.

◆ getParentTrajectoryDor()

virtual common::DataObjectReference resqml2::WellboreTrajectoryRepresentation::getParentTrajectoryDor ( ) const
pure virtual

Gets the data object reference of the parent trajectory of this trajectory.

Returns
Empty if this trajectory has no parent trajectory, otherwise the data object reference of the parent trajectory.

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

◆ getParentTrajectoryMd()

virtual double resqml2::WellboreTrajectoryRepresentation::getParentTrajectoryMd ( ) const
pure virtual

Gets the MD on the parent wellbore trajectory where this trajectory is starting.

Exceptions
std::logic_errorIf this wellbore trajectory has no parent trajecory.
Returns
The parent trajectory MD.

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

◆ getPatchCount()

uint64_t resqml2::WellboreTrajectoryRepresentation::getPatchCount ( ) const
inlinefinalvirtual

Gets the patch count.

Returns
The patch count.

Implements resqml2::AbstractRepresentation.

◆ getStartMd()

virtual double resqml2::WellboreTrajectoryRepresentation::getStartMd ( ) const
pure virtual

Gets the starting MD of this wellbore trajectory. Range may often be from kickoff to TD, but this is not necessary.

Returns
The start MD.

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

◆ getTangentVectors()

virtual void resqml2::WellboreTrajectoryRepresentation::getTangentVectors ( double * tangentVectors)
pure virtual

Gets the tangent vectors associated to each trajectory station of this trajectory.

Exceptions
std::invalid_argumentIf this trajectory has no tangent vector.
std::invalid_argumentIf the HDF proxy is missing.
Parameters
[out]tangentVectorsA buffer for receiving the tangent vectors. It must be preallocated with size of 3 * getXyzPointCountOfAllPatches(). It won't be freed by FESAPI.

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

◆ getWellboreFrameRepresentation()

class resqml2::WellboreFrameRepresentation * resqml2::WellboreTrajectoryRepresentation::getWellboreFrameRepresentation ( unsigned int index) const

Gets a particular wellbore frame representation of this wellbore trajectory representation according to its position in the repository.

Exceptions
std::out_of_rangeIf index >= getWellboreFrameRepresentationCount().
Returns
The associated wellbore frame representation at position index.

◆ getWellboreFrameRepresentationCount()

unsigned int resqml2::WellboreTrajectoryRepresentation::getWellboreFrameRepresentationCount ( ) const

Gets the count of wellbore frame representations which are associated with this wellbore trajectory.

Returns
The count of associated wellbore frame representations.

◆ getWellboreFrameRepresentationSet()

std::vector< class resqml2::WellboreFrameRepresentation * > resqml2::WellboreTrajectoryRepresentation::getWellboreFrameRepresentationSet ( ) const

Gets the set of all wellbore frame representations associated to this trajectory.

Returns
A vector of pointers to all the wellbore frame representations associated to this trajectory.

◆ getXmlTag()

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

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

Returns
The XML tag.

Implements common::AbstractObject.

◆ hasGeometry()

virtual bool resqml2::WellboreTrajectoryRepresentation::hasGeometry ( ) const
pure virtual

Queries if this trajectory has a geometry.

Returns
True if this trajectory has a geometry, false if not.

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

◆ hasMdValues()

virtual bool resqml2::WellboreTrajectoryRepresentation::hasMdValues ( ) const
pure virtual

Indicates if the wellbore trajectory has got MD values attached to each trajectory station.

Exceptions
std::logic_errorIf the geometry of this trajectory is not a parametric line.
Returns
True if there is some MD values, false if not.

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

◆ hasTangentVectors()

virtual bool resqml2::WellboreTrajectoryRepresentation::hasTangentVectors ( ) const
pure virtual

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.

Exceptions
std::logic_errorIf the geometry of this trajectory is not a parametric line.
Returns
True if there is some tangent vectors, false if not.

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

◆ setGeometry() [1/4]

virtual void resqml2::WellboreTrajectoryRepresentation::setGeometry ( double const * controlPoints,
double const * controlPointParameters,
uint64_t controlPointCount,
int lineKind,
eml2::AbstractHdfProxy * proxy = nullptr,
eml2::AbstractLocal3dCrs * localCrs = nullptr )
pure virtual

Sets the geometry of the representation by means of a parametric line with MD information.

Exceptions
std::invalid_argumentIf controlPoints is nullptr.
std::invalid_argumentIf controlPointParameters is nullptr.
std::invalid_argumentIf controlPointCount is 0.
std::invalid_argumentIf proxy is nullptr and no default HDF proxy is defined in the repository.
std::invalid_argumentIf localCrs is nullptr and no default CRS is defined in the repository.
Parameters
[in]controlPointsAll 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]controlPointParametersThe arrays of control point parameters (ordered regarding the control points). It corresponds to the MD values in a WellboreFeature context. Count is controlPointCount.
controlPointCountThe count of control points and control point parameters per cubic parametric line.
lineKindInteger 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.

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

◆ setGeometry() [2/4]

void resqml2::WellboreTrajectoryRepresentation::setGeometry ( double const * controlPoints,
double const * inclinations,
double const * azimuths,
double const * controlPointParameters,
uint64_t controlPointCount,
int lineKind,
eml2::AbstractHdfProxy * proxy = nullptr,
eml2::AbstractLocal3dCrs * localCrs = nullptr )

Sets the geometry of the representation by means of a parametric line with MD and tangent vector information.

Exceptions
std::invalid_argumentIf controlPoints is nullptr.
std::invalid_argumentIf tangentVectors is nullptr.
std::invalid_argumentIf controlPointParameters is nullptr.
std::invalid_argumentIf controlPointCount is 0.
std::invalid_argumentIf proxy is nullptr and no default HDF proxy is defined in the repository.
std::invalid_argumentIf localCrs is nullptr and no default CRS is defined in the repository.
Parameters
[in]controlPointsAll 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]inclinationsAll the inclinations (angle against vertical) in radians of all the trajectory stations of the cubic parametric line. They are ordered according to the control points. Count is controlPointCount.
[in]azimuthsAll the azimuths (clockwise angle against grid north) in radians of all the trajectory stations of the cubic parametric line. They are ordered according to the control points. Count is controlPointCount.
[in]controlPointParametersThe arrays of control point parameters (ordered regarding the control points). It corresponds to the MD values in this context. Count is controlPointCount.
controlPointCountThe count of control points and control point parameters and tangent vectors per cubic parametric line. Control points correspond to the trajectory stations.
lineKindInteger 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.

◆ setGeometry() [3/4]

virtual void resqml2::WellboreTrajectoryRepresentation::setGeometry ( double const * controlPoints,
double const * tangentVectors,
double const * controlPointParameters,
uint64_t controlPointCount,
int lineKind,
eml2::AbstractHdfProxy * proxy = nullptr,
eml2::AbstractLocal3dCrs * localCrs = nullptr )
pure virtual

Sets the geometry of the representation by means of a parametric line with MD and tangent vector information.

Exceptions
std::invalid_argumentIf controlPoints is nullptr.
std::invalid_argumentIf tangentVectors is nullptr.
std::invalid_argumentIf controlPointParameters is nullptr.
std::invalid_argumentIf controlPointCount is 0.
std::invalid_argumentIf proxy is nullptr and no default HDF proxy is defined in the repository.
std::invalid_argumentIf localCrs is nullptr and no default CRS is defined in the repository.
Parameters
[in]controlPointsAll 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]tangentVectorsAll 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]controlPointParametersThe arrays of control point parameters (ordered regarding the control points). It corresponds to the MD values in this context. Count is controlPointCount.
controlPointCountThe count of control points and control point parameters and tangent vectors per cubic parametric line.
lineKindInteger 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.

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

◆ setGeometry() [4/4]

virtual void resqml2::WellboreTrajectoryRepresentation::setGeometry ( double const * controlPoints,
double startMd,
double endMd,
uint64_t controlPointCount,
int lineKind,
eml2::AbstractHdfProxy * proxy = nullptr,
eml2::AbstractLocal3dCrs * localCrs = nullptr )
pure virtual

Sets the geometry of the representation by means of a parametric line without MD information (only start and end MDs).

Exceptions
std::invalid_argumentIf controlPoints is nullptr.
std::invalid_argumentIf controlPointCount is 0.
std::invalid_argumentIf proxy is nullptr and no default HDF proxy is defined in the repository.
std::invalid_argumentIf localCrs is nullptr and no default CRS is defined in the repository.
Parameters
[in]controlPointsAll 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]).
startMdThe start MD of the trajectory.
endMdThe end MD of the trajectory.
controlPointCountThe count of control points and control point parameters per cubic parametric line.
lineKindInteger 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.

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

◆ setMdDatum()

virtual void resqml2::WellboreTrajectoryRepresentation::setMdDatum ( MdDatum * mdDatum)
pure virtual

Sets the MD datum of this trajectory.

Exceptions
std::invalid_argumentIf mdDatum is nullptr.
Parameters
[in]mdDatumThe MD damtum to set to this trajectory. It cannot be null.

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

◆ setMinimalGeometry()

virtual void resqml2::WellboreTrajectoryRepresentation::setMinimalGeometry ( double startMd,
double endMd )
pure virtual

Sets the minimal geometry of the representation by means of start and end MDs.

Parameters
startMdThe start MD of the trajectory. Uom is the same as the one for the associated MdDatum coordinates.
endMdThe end MD of the trajectory. Uom is the same as the one for the associated MdDatum coordinates.

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

Member Data Documentation

◆ XML_TAG

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

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


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