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::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, unsigned int controlPointCount, int lineKind, eml2::AbstractHdfProxy *proxy=nullptr, AbstractLocal3dCrs *localCrs=nullptr)=0
 
virtual void setGeometry (double const *controlPoints, double const *controlPointParameters, unsigned int controlPointCount, int lineKind, eml2::AbstractHdfProxy *proxy=nullptr, AbstractLocal3dCrs *localCrs=nullptr)=0
 
virtual void setGeometry (double const *controlPoints, double const *tangentVectors, double const *controlPointParameters, unsigned int 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, unsigned int 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
 
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 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). More...
 
unsigned int 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
 
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

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_2::WellboreTrajectoryRepresentation, and resqml2_0_1::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_2::WellboreTrajectoryRepresentation, and resqml2_0_1::WellboreTrajectoryRepresentation.

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

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

◆ 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_2::WellboreTrajectoryRepresentation, and resqml2_0_1::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_2::WellboreTrajectoryRepresentation, and resqml2_0_1::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_2::WellboreTrajectoryRepresentation, and resqml2_0_1::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 ( 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.

Implemented in resqml2_2::WellboreTrajectoryRepresentation, and resqml2_0_1::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_2::WellboreTrajectoryRepresentation, and resqml2_0_1::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_2::WellboreTrajectoryRepresentation, and resqml2_0_1::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_2::WellboreTrajectoryRepresentation, and resqml2_0_1::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_2::WellboreTrajectoryRepresentation, and resqml2_0_1::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_2::WellboreTrajectoryRepresentation, and resqml2_0_1::WellboreTrajectoryRepresentation.

◆ getPatchCount()

unsigned int 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_2::WellboreTrajectoryRepresentation, and resqml2_0_1::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_2::WellboreTrajectoryRepresentation, and resqml2_0_1::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_2::WellboreTrajectoryRepresentation, and resqml2_0_1::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_2::WellboreTrajectoryRepresentation, and resqml2_0_1::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_2::WellboreTrajectoryRepresentation, and resqml2_0_1::WellboreTrajectoryRepresentation.

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

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

◆ setGeometry() [1/4]

virtual void resqml2::WellboreTrajectoryRepresentation::setGeometry ( double const *  controlPoints,
double const *  controlPointParameters,
unsigned int  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.

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

◆ setGeometry() [2/4]

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

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,
unsigned int  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.

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

◆ setGeometry() [4/4]

virtual void resqml2::WellboreTrajectoryRepresentation::setGeometry ( double const *  controlPoints,
double  startMd,
double  endMd,
unsigned int  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.

Implemented in resqml2_2::WellboreTrajectoryRepresentation, and resqml2_0_1::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_2::WellboreTrajectoryRepresentation, and resqml2_0_1::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_2::WellboreTrajectoryRepresentation, and resqml2_0_1::WellboreTrajectoryRepresentation.

Member Data Documentation

◆ XML_TAG

const char* resqml2::WellboreTrajectoryRepresentation::XML_TAG
static

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


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