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_2::WellboreTrajectoryRepresentation Class Referencefinal

#include <WellboreTrajectoryRepresentation.h>

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

Public Member Functions

 WellboreTrajectoryRepresentation (gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
 
 WellboreTrajectoryRepresentation (resqml2::WellboreInterpretation *interp, const std::string &guid, const std::string &title, resqml2::MdDatum *mdInfo)
 
 WellboreTrajectoryRepresentation (resqml2::WellboreInterpretation *interp, const std::string &guid, const std::string &title, resqml2::DeviationSurveyRepresentation *deviationSurvey)
 
 WellboreTrajectoryRepresentation (gsoap_eml2_3::_resqml22__WellboreTrajectoryRepresentation *fromGsoap)
 
 ~WellboreTrajectoryRepresentation ()=default
 
void setMinimalGeometry (double startMd, double endMd) final
 
void setGeometry (double const *controlPoints, double startMd, double endMd, unsigned int controlPointCount, int lineKind, eml2::AbstractHdfProxy *proxy=nullptr, resqml2::AbstractLocal3dCrs *localCrs=nullptr) final
 
void setGeometry (double const *controlPoints, double const *controlPointParameters, unsigned int controlPointCount, int lineKind, eml2::AbstractHdfProxy *proxy=nullptr, resqml2::AbstractLocal3dCrs *localCrs=nullptr) final
 
void setGeometry (double const *controlPoints, double const *tangentVectors, double const *controlPointParameters, unsigned int controlPointCount, int lineKind, eml2::AbstractHdfProxy *proxy=nullptr, resqml2::AbstractLocal3dCrs *localCrs=nullptr) final
 
int getGeometryKind () const final
 
void setMdDatum (resqml2::MdDatum *mdDatum) final
 
common::DataObjectReference getMdDatumDor () const final
 
uint64_t getXyzPointCountOfPatch (unsigned int patchIndex) const final
 
void getXyzPointsOfPatch (unsigned int patchIndex, double *xyzPoints) const final
 Gets all the xyz points of a particular patch of this representation. xyz points are given in the local CRS. More...
 
bool hasMdValues () const final
 
gsoap_resqml2_0_1::eml20__LengthUom getMdUom () const final
 
void getMdValues (double *values) const final
 
double getStartMd () const final
 
double getFinishMd () const final
 
bool hasTangentVectors () const final
 
void getTangentVectors (double *tangentVectors) final
 
void addParentTrajectory (double kickoffMd, double parentMd, resqml2::WellboreTrajectoryRepresentation *parentTrajRep) final
 
common::DataObjectReference getParentTrajectoryDor () const final
 
double getParentTrajectoryMd () const final
 
void setDeviationSurvey (resqml2::DeviationSurveyRepresentation *deviationSurvey) final
 
common::DataObjectReference getDeviationSurveyDor () const final
 
common::DataObjectReference getLocalCrsDor (unsigned int patchIndex) const final
 
common::DataObjectReference getHdfProxyDor () const final
 Gets the data object reference of the HDF proxy which is used for storing the numerical values of this representation (i.e. its geometry). More...
 
bool hasGeometry () const final
 
std::string getXmlNamespace () const final
 
- Public Member Functions inherited from resqml2::WellboreTrajectoryRepresentation
void setGeometry (double const *controlPoints, double const *inclinations, double const *azimuths, double const *controlPointParameters, unsigned int controlPointCount, int lineKind, eml2::AbstractHdfProxy *proxy=nullptr, AbstractLocal3dCrs *localCrs=nullptr)
 
resqml2::MdDatumgetMdDatum () const
 
void getInclinationsAndAzimuths (double *inclinations, double *azimuths)
 
WellboreTrajectoryRepresentationgetParentTrajectory () const
 
std::vector< WellboreTrajectoryRepresentation * > getChildrenTrajectorySet () const
 
std::vector< class resqml2::WellboreFrameRepresentation * > getWellboreFrameRepresentationSet () const
 
unsigned int getWellboreFrameRepresentationCount () const
 
class resqml2::WellboreFrameRepresentationgetWellboreFrameRepresentation (unsigned int index) const
 
class DeviationSurveyRepresentationgetDeviationSurvey () const
 
unsigned int getPatchCount () const final
 
virtual std::string getXmlTag () const final
 
- Public Member Functions inherited from resqml2::AbstractRepresentation
virtual ~AbstractRepresentation ()=default
 
class AbstractLocal3dCrsgetLocalCrs (unsigned int patchIndex) const
 
std::vector< class AbstractProperty * > getPropertySet () const
 
void setInterpretation (class AbstractFeatureInterpretation *interp)
 
class AbstractFeatureInterpretationgetInterpretation () const
 
common::DataObjectReference getInterpretationDor () const
 
uint64_t getXyzPointCountOfAllPatches () const
 
void getXyzPointsOfPatchInGlobalCrs (unsigned int patchIndex, double *xyzPoints) const
 Gets all the xyz points of a particular patch of this representation. xyz points are given in the global CRS. More...
 
void getXyzPointsOfAllPatches (double *xyzPoints) const
 Gets all the xyz points of all patches of this representation. xyz points are given in the local CRS. More...
 
bool isInSingleLocalCrs () const
 
bool isInSingleGlobalCrs () const
 
void getXyzPointsOfAllPatchesInGlobalCrs (double *xyzPoints) const
 
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 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_NS
 
- Static Public Attributes inherited from resqml2::WellboreTrajectoryRepresentation
static const char * XML_TAG
 
- Static Public Attributes inherited from resqml2::AbstractRepresentation
static const char * XML_TAG
 

Additional Inherited Members

- Public Types inherited from resqml2::AbstractRepresentation
enum  indexableElement {
  NODE = 0 , EDGE = 1 , FACE = 2 , VOLUME = 3 ,
  PILLAR = 4
}
 
- Public Types inherited from common::AbstractObject
enum  hdfDatatypeEnum {
  UNKNOWN = 0 , DOUBLE = 1 , FLOAT = 2 , LONG_64 = 3 ,
  ULONG_64 = 4 , INT = 5 , UINT = 6 , SHORT = 7 ,
  USHORT = 8 , CHAR = 9 , UCHAR = 10
}
 
- Static Public Member Functions inherited from common::AbstractObject
static void setFormat (const std::string &vendor, const std::string &applicationName, const std::string &applicationVersionNumber)
 

Detailed Description

A wellbore trajectory representation.

Constructor & Destructor Documentation

◆ WellboreTrajectoryRepresentation() [1/4]

resqml2_2::WellboreTrajectoryRepresentation::WellboreTrajectoryRepresentation ( gsoap_resqml2_0_1::eml20__DataObjectReference *  partialObject)
inline

Only to be used in partial transfer context.

Parameters
[in]partialObjectIf non-nullptr, the partial object.

◆ WellboreTrajectoryRepresentation() [2/4]

resqml2_2::WellboreTrajectoryRepresentation::WellboreTrajectoryRepresentation ( resqml2::WellboreInterpretation interp,
const std::string &  guid,
const std::string &  title,
resqml2::MdDatum mdInfo 
)

Creates a wellbore trajectory representation.

Exceptions
std::invalid_argumentIf interp or mdInfo is nullptr.
Parameters
[in]interpThe represented wellbore interpretation. It cannot be null.
guidThe guid to set to the wellbore trajectory representation. If empty then a new guid will be generated.
titleThe title to set to the wellbore trajectory representation. If empty then "unknown" title will be set.
[in]mdInfoThe MD information of the trajectory, mainly the well reference point. The unit of measure used for the mdInfo coordinates must also be used for the start and end MD of the trajectory. It cannot be null.

◆ WellboreTrajectoryRepresentation() [3/4]

resqml2_2::WellboreTrajectoryRepresentation::WellboreTrajectoryRepresentation ( resqml2::WellboreInterpretation interp,
const std::string &  guid,
const std::string &  title,
resqml2::DeviationSurveyRepresentation deviationSurvey 
)

Creates an instance with an existing deviation survey as its origin.

Exceptions
std::invalid_argumentIf interp or deviationSurvey is nullptr.
Parameters
[in]interpThe represented interpretation. It cannot be null.
guidThe guid to set to the wellbore trajectory representation. If empty then a new guid will be generated.
titleThe title to set to the wellbore trajectory representation. If empty then "unknown" title will be set.
[in]deviationSurveyThe deviation survey on which this wellbore trajectory relies on. MD data will be retrieve from it. It cannot be null.

◆ WellboreTrajectoryRepresentation() [4/4]

resqml2_2::WellboreTrajectoryRepresentation::WellboreTrajectoryRepresentation ( gsoap_eml2_3::_resqml22__WellboreTrajectoryRepresentation *  fromGsoap)
inline

Creates an instance of this class by wrapping a gSOAP instance.

Parameters
[in]fromGsoapIf non-null, the gSOAP instance.

◆ ~WellboreTrajectoryRepresentation()

resqml2_2::WellboreTrajectoryRepresentation::~WellboreTrajectoryRepresentation ( )
virtualdefault

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

Reimplemented from resqml2::WellboreTrajectoryRepresentation.

Member Function Documentation

◆ addParentTrajectory()

void resqml2_2::WellboreTrajectoryRepresentation::addParentTrajectory ( double  kickoffMd,
double  parentMd,
resqml2::WellboreTrajectoryRepresentation parentTrajRep 
)
finalvirtual

Adds a trajectory parent to this trajectory in case of trajectory branching. Does add the inverse relationship i.e. from the parent trajectory to this trajectory.

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.

Implements resqml2::WellboreTrajectoryRepresentation.

◆ getDeviationSurveyDor()

common::DataObjectReference resqml2_2::WellboreTrajectoryRepresentation::getDeviationSurveyDor ( ) const
finalvirtual

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.

Implements resqml2::WellboreTrajectoryRepresentation.

◆ getFinishMd()

double resqml2_2::WellboreTrajectoryRepresentation::getFinishMd ( ) const
finalvirtual

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.

Implements resqml2::WellboreTrajectoryRepresentation.

◆ getGeometryKind()

int resqml2_2::WellboreTrajectoryRepresentation::getGeometryKind ( ) const
finalvirtual

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.

Implements resqml2::WellboreTrajectoryRepresentation.

◆ getHdfProxyDor()

common::DataObjectReference resqml2_2::WellboreTrajectoryRepresentation::getHdfProxyDor ( ) const
finalvirtual

Gets the data object reference of the HDF proxy which is used for storing the numerical values of this representation (i.e. its geometry).

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::WellboreTrajectoryRepresentation.

◆ getLocalCrsDor()

common::DataObjectReference resqml2_2::WellboreTrajectoryRepresentation::getLocalCrsDor ( unsigned int  patchIndex) const
finalvirtual

Gets the data object reference of the local 3d CRS associated to a given patch of this representation. This local CRS is where the point ordinals are given.

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.

Implements resqml2::WellboreTrajectoryRepresentation.

◆ getMdDatumDor()

common::DataObjectReference resqml2_2::WellboreTrajectoryRepresentation::getMdDatumDor ( ) const
finalvirtual

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.

Implements resqml2::WellboreTrajectoryRepresentation.

◆ getMdUom()

gsoap_resqml2_0_1::eml20__LengthUom resqml2_2::WellboreTrajectoryRepresentation::getMdUom ( ) const
finalvirtual

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

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

Implements resqml2::WellboreTrajectoryRepresentation.

◆ getMdValues()

void resqml2_2::WellboreTrajectoryRepresentation::getMdValues ( double *  values) const
finalvirtual

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

Implements resqml2::WellboreTrajectoryRepresentation.

◆ getParentTrajectoryDor()

common::DataObjectReference resqml2_2::WellboreTrajectoryRepresentation::getParentTrajectoryDor ( ) const
finalvirtual

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.

Implements resqml2::WellboreTrajectoryRepresentation.

◆ getParentTrajectoryMd()

double resqml2_2::WellboreTrajectoryRepresentation::getParentTrajectoryMd ( ) const
finalvirtual

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.

Implements resqml2::WellboreTrajectoryRepresentation.

◆ getStartMd()

double resqml2_2::WellboreTrajectoryRepresentation::getStartMd ( ) const
finalvirtual

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.

Implements resqml2::WellboreTrajectoryRepresentation.

◆ getTangentVectors()

void resqml2_2::WellboreTrajectoryRepresentation::getTangentVectors ( double *  tangentVectors)
finalvirtual

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.

Implements resqml2::WellboreTrajectoryRepresentation.

◆ getXmlNamespace()

std::string resqml2_2::WellboreTrajectoryRepresentation::getXmlNamespace ( ) const
inlinefinalvirtual

Get the standard XML namespace for serializing this data object.

Implements common::AbstractObject.

◆ getXyzPointCountOfPatch()

uint64_t resqml2_2::WellboreTrajectoryRepresentation::getXyzPointCountOfPatch ( unsigned int  patchIndex) const
finalvirtual

Get the xyz point count in a given patch of this representation.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
std::logic_errorIf this representation is partial.
Parameters
patchIndexZero-based index of the patch from which we look for the xyz points.
Returns
The xyz point count of the patch at position patchIndex.

Implements resqml2::AbstractRepresentation.

◆ getXyzPointsOfPatch()

void resqml2_2::WellboreTrajectoryRepresentation::getXyzPointsOfPatch ( unsigned int  patchIndex,
double *  xyzPoints 
) const
finalvirtual

Gets all the xyz points of a particular patch of this representation. xyz points are given in the local CRS.

Exceptions
std::invalid_argumentIf the HDF proxy is missing.
std::logic_errorIf this trajectory has no geometry.
std::out_of_rangeIf patchIndex is out of range.
std::logic_errorIf this representation is partial.
Parameters
patchIndexZero-based index of the patch from which we look for the xyz points.
[out]xyzPointsA linearized 2d array where the first (quickest) dimension is the coordinate dimension (x, y or z) and second dimension is vertex dimension. It must be preallocated with a size of 3 * getXyzPointCountOfPatch(patchIndex).

Implements resqml2::AbstractRepresentation.

◆ hasGeometry()

bool resqml2_2::WellboreTrajectoryRepresentation::hasGeometry ( ) const
finalvirtual

Queries if this trajectory has a geometry.

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

Implements resqml2::WellboreTrajectoryRepresentation.

◆ hasMdValues()

bool resqml2_2::WellboreTrajectoryRepresentation::hasMdValues ( ) const
finalvirtual

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.

Implements resqml2::WellboreTrajectoryRepresentation.

◆ hasTangentVectors()

bool resqml2_2::WellboreTrajectoryRepresentation::hasTangentVectors ( ) const
finalvirtual

Indicates if the wellbore trajectory has got tangent vectors attached to each trajectory station. Tangent vectors ussually transport inclination and azimuth of a trajectory station.

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.

Implements resqml2::WellboreTrajectoryRepresentation.

◆ setDeviationSurvey()

void resqml2_2::WellboreTrajectoryRepresentation::setDeviationSurvey ( resqml2::DeviationSurveyRepresentation deviationSurvey)
finalvirtual

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.

Implements resqml2::WellboreTrajectoryRepresentation.

◆ setGeometry() [1/3]

void resqml2_2::WellboreTrajectoryRepresentation::setGeometry ( double const *  controlPoints,
double const *  controlPointParameters,
unsigned int  controlPointCount,
int  lineKind,
eml2::AbstractHdfProxy proxy = nullptr,
resqml2::AbstractLocal3dCrs localCrs = nullptr 
)
finalvirtual

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.

Implements resqml2::WellboreTrajectoryRepresentation.

◆ setGeometry() [2/3]

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

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.

Implements resqml2::WellboreTrajectoryRepresentation.

◆ setGeometry() [3/3]

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

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.

Implements resqml2::WellboreTrajectoryRepresentation.

◆ setMdDatum()

void resqml2_2::WellboreTrajectoryRepresentation::setMdDatum ( resqml2::MdDatum mdDatum)
finalvirtual

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.

Implements resqml2::WellboreTrajectoryRepresentation.

◆ setMinimalGeometry()

void resqml2_2::WellboreTrajectoryRepresentation::setMinimalGeometry ( double  startMd,
double  endMd 
)
finalvirtual

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.

Implements resqml2::WellboreTrajectoryRepresentation.

Member Data Documentation

◆ XML_NS

const char* resqml2_2::WellboreTrajectoryRepresentation::XML_NS
static

The standard XML namespace for serializing this data object.


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