Fesapi 2.9.0.1
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
resqml2::WellboreTrajectoryRepresentation Class Referenceabstract

Representation of a wellbore trajectory. More...

#include <WellboreTrajectoryRepresentation.h>

Inheritance diagram for resqml2::WellboreTrajectoryRepresentation:
resqml2::AbstractRepresentation

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, AbstractLocal3dCrs *localCrs=nullptr)=0
 
virtual void setGeometry (double const *controlPoints, double const *controlPointParameters, uint64_t controlPointCount, int lineKind, eml2 ::AbstractHdfProxy *proxy=nullptr, 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, 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, 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 ::WellboreFrameRepresentation * getWellboreFrameRepresentation (unsigned int index) const
 
virtual void setDeviationSurvey (class DeviationSurveyRepresentation *deviationSurvey)=0
 
class DeviationSurveyRepresentationgetDeviationSurvey () const
 
virtual common::DataObjectReference getDeviationSurveyDor () const =0
 
virtual common::DataObjectReference getLocalCrsDor (unsigned int 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
 
class AbstractLocal3dCrsgetLocalCrs (unsigned int patchIndex) const
 
void setTimeIndex (uint64_t timeIndex, eml2 ::TimeSeries *timeSeries)
 
uint64_t getTimeIndex () const
 Gets the time index of this representation in the associated TimeSeries. Be sure to first check that a TimeSeries is associated this representation by calling getTimeSeriesDor or getTimeSeries;.
 
eml2::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
 

Static Public Attributes

static constexpr char const * XML_TAG = "WellboreTrajectoryRepresentation"
 
- Static Public Attributes inherited from resqml2::AbstractRepresentation
static constexpr char const * XML_TAG = "AbstractRepresentation"
 

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.

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.

◆ 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.

◆ getDeviationSurvey()

class DeviationSurveyRepresentation * resqml2::WellboreTrajectoryRepresentation::getDeviationSurvey ( ) const

Gets the deviation survey which is the source of this trajectory.

Returns
The deviation survey which is the source of this trajectory if exists, else nullptr.

◆ getDeviationSurveyDor()

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

Gets the data object reference of the deviation survey which is the source of this trajectory.

Returns
The data object reference of the deviation survey which is the source of this trajectory if exists, else empty data object reference.

◆ 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.

◆ 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.

◆ 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.

◆ 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 ( unsigned int 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.

◆ 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.

◆ 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.

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

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ setDeviationSurvey()

virtual void resqml2::WellboreTrajectoryRepresentation::setDeviationSurvey ( class DeviationSurveyRepresentation * deviationSurvey)
pure virtual

Sets the deviation survey which is the source of this trajectory.

Exceptions
std::invalid_argumentIf deviationSurvey is nullptr.
Parameters
[in]deviationSurveyThe deviation survey to set as a source of this trajectory.

◆ setGeometry() [1/4]

virtual void resqml2::WellboreTrajectoryRepresentation::setGeometry ( double const * controlPoints,
double const * controlPointParameters,
uint64_t controlPointCount,
int lineKind,
eml2 ::AbstractHdfProxy * proxy = nullptr,
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.

◆ 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,
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,
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.

◆ setGeometry() [4/4]

virtual void resqml2::WellboreTrajectoryRepresentation::setGeometry ( double const * controlPoints,
double startMd,
double endMd,
uint64_t controlPointCount,
int lineKind,
eml2 ::AbstractHdfProxy * proxy = nullptr,
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.

◆ 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.

◆ 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.

Member Data Documentation

◆ XML_TAG

constexpr 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: