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

Proxy class for an abstract representation. More...

#include <AbstractRepresentation.h>

Inheritance diagram for resqml2::AbstractRepresentation:
resqml2::AbstractGridRepresentation resqml2::AbstractSurfaceRepresentation resqml2::DeviationSurveyRepresentation resqml2::GridConnectionSetRepresentation resqml2::PointSetRepresentation resqml2::PolylineRepresentation resqml2::PolylineSetRepresentation resqml2::StreamlinesRepresentation resqml2::WellboreFrameRepresentation resqml2::WellboreTrajectoryRepresentation

Public Member Functions

virtual ~AbstractRepresentation ()=default
 
class AbstractLocal3dCrsgetLocalCrs (unsigned int patchIndex) const
 
virtual common::DataObjectReference getLocalCrsDor (unsigned int patchIndex) const
 
virtual common::DataObjectReference getHdfProxyDor () const =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).
 
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
 
virtual uint64_t getPatchCount () const =0
 
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
 
virtual void loadTargetRelationships () override
 

Static Public Attributes

static constexpr char const * XML_TAG = "AbstractRepresentation"
 

Detailed Description

Proxy class for an abstract representation.

Constructor & Destructor Documentation

◆ ~AbstractRepresentation()

virtual resqml2::AbstractRepresentation::~AbstractRepresentation ( )
virtualdefault

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

Member Function Documentation

◆ addSeismic2dCoordinatesToPatch()

void resqml2::AbstractRepresentation::addSeismic2dCoordinatesToPatch ( unsigned int patchIndex,
double * lineAbscissa,
resqml2 ::AbstractRepresentation * seismicSupport,
eml2 ::AbstractHdfProxy * proxy )

Adds seismic 2d coordinates to an existing point geometry patch.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
std::invalid_argumentIf patchIndex does not identify a point geometry patch.
std::invalid_argumentIf there already exists some seismic 3d coordinates for the geometry patch at position patchIndex.
Parameters
patchIndexThe index of the geometry patch which receives the seismic coordinates.
[in,out]lineAbscissaThe abscissa of each points of the patch on the seismic line. The count of this array must be equal to getXyzPointCountOfPatch(patchIndex).
[in,out]seismicSupportThe representation of the seismic line.
[in,out]proxyThe HDF proxy where to write the lineAbscissa values. It must be already opened for writing and won't be closed in this method.

◆ addSeismic3dCoordinatesToPatch() [1/2]

void resqml2::AbstractRepresentation::addSeismic3dCoordinatesToPatch ( unsigned int patchIndex,
double * inlines,
double * crosslines,
uint64_t pointCount,
resqml2 ::AbstractRepresentation * seismicSupport,
eml2 ::AbstractHdfProxy * proxy )

Adds seismic 3d coordinates to an existing point geometry patch.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
std::invalid_argumentIf patchIndex does not identify a point geometry patch.
std::invalid_argumentIf there already exists some seismic 2d coordinates for the geometry patch at position patchIndex.
Parameters
patchIndexThe index of the geometry patch which receives the seismic coordinates.
[in]inlinesThe sequence of trace or inter-trace inline positions that correspond to the geometry coordinates. It must be in the same order than crosslines.
[in]crosslinesThe sequence of trace or inter-trace crossline positions that correspond to the geometry coordinates. It must be in the same order than inlines.
pointCountNumber of points. It is the size of both inlines and crosslines.
[in]seismicSupportThe representation of the seismic line.
[in,out]proxyThe HDF proxy where to write the inlines and crosslines values. It must be already opened for writing and won't be closed in this method.

◆ addSeismic3dCoordinatesToPatch() [2/2]

void resqml2::AbstractRepresentation::addSeismic3dCoordinatesToPatch ( unsigned int patchIndex,
double startInline,
double incrInline,
unsigned int countInline,
double startCrossline,
double incrCrossline,
unsigned int countCrossline,
resqml2 ::AbstractRepresentation * seismicSupport )

Adds seismic 3d coordinates to an existing point geometry patch.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
std::invalid_argumentIf patchIndex does not identify a point geometry patch.
std::invalid_argumentIf there already exists some seismic 2d coordinates for the geometry patch at position patchIndex.
Parameters
patchIndexThe index of the geometry patch which receives the seismic coordinates.
startInlineThe first inline.
incrInlineThe inline increment.
countInlineThe inline count.
startCrosslineThe first crossline.
incrCrosslineThe crossline increment.
countCrosslineThe crossline count.
[in]seismicSupportThe representation of the seismic line.

◆ getAllSeismicSupport()

std::set< AbstractRepresentation * > resqml2::AbstractRepresentation::getAllSeismicSupport ( ) const

Gets all seismic supports of the current geometry of this representation (that is to say the seismic supports of all the patches). This method does not return the seismic lattice representations which are support of 2d grid representation.

Returns
A vector of pointers to all the seismic supports associated to this representation.

◆ getCrosslinesOfPointsOfPatch()

void resqml2::AbstractRepresentation::getCrosslinesOfPointsOfPatch ( unsigned int patchIndex,
double * values ) const

Gets all the crossline coordinates of the points of a specific patch related to seismic lattice.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
std::invalid_argumentIf the patch at position patchIndex has no seismic information.
Parameters
patchIndexThe index of the geometry patch which stores the seismic coordinates.
[out]valuesThe array where the crossline coordinates are going to be stored. The count of this array must be equal to getXyzPointCountOfPatch(patchIndex).

◆ getHdfProxyDor()

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

Implemented in resqml2::PlaneSetRepresentation, resqml2::WellboreFrameRepresentation, and resqml2::WellboreTrajectoryRepresentation.

◆ getInlinesOfPointsOfPatch()

void resqml2::AbstractRepresentation::getInlinesOfPointsOfPatch ( unsigned int patchIndex,
double * values ) const

Gets all the inline coordinates of the points of a specific patch related to seismic lattice.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
std::invalid_argumentIf the patch at position patchIndex has no seismic information.
Parameters
patchIndexThe index of the geometry patch which stores the seismic coordinates.
[out]valuesThe array where the inlines coordinates are going to be stored. The count of this array must be equal to getXyzPointCountOfPatch(patchIndex).

◆ getInterpretation()

class AbstractFeatureInterpretation * resqml2::AbstractRepresentation::getInterpretation ( ) const

Gets the interpretation associated to this representation.

Returns
Null pointer if no interpretation is associated to this representation. Otherwise the associated interpretation.

◆ getInterpretationDor()

common::DataObjectReference resqml2::AbstractRepresentation::getInterpretationDor ( ) const

Gets the data object reference of the interpretation associated to this representation.

Returns
Empty data object reference if no interpretation is associated to this representation. Otherwise the data object reference of the associated interpretation.

◆ getLocalCrs()

class AbstractLocal3dCrs * resqml2::AbstractRepresentation::getLocalCrs ( unsigned int patchIndex) const

Gets the local 3d CRS associated to a given patch of this representation in read and write access.

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
Null if it fails, else the local CRS associated to the patchIndex patch.

◆ getLocalCrsDor()

virtual common::DataObjectReference resqml2::AbstractRepresentation::getLocalCrsDor ( unsigned int patchIndex) const
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 in resqml2::WellboreFrameRepresentation, and resqml2::WellboreTrajectoryRepresentation.

◆ getPatchCount()

virtual uint64_t resqml2::AbstractRepresentation::getPatchCount ( ) const
pure virtual

◆ getPropertySet()

std::vector< class AbstractProperty * > resqml2::AbstractRepresentation::getPropertySet ( ) const

Gets all the properties which use this representation as support.

Returns
A vector of pointers on all the properties which use this representation as support.

◆ getSeismicLineAbscissaOfPointsOfPatch()

void resqml2::AbstractRepresentation::getSeismicLineAbscissaOfPointsOfPatch ( unsigned int patchIndex,
double * values ) const

Gets all the abscissa of the points of a specific patch related to 2d seismic line.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
std::invalid_argumentIf the patch at position patchIndex has no seismic information.
Parameters
patchIndexThe index of the geometry patch which stores the seismic coordinates.
[out]valuesThe array where the abscissa are going to be stored. The count of this array must be equal to getXyzPointCountOfPatch(patchIndex).

◆ getSeismicSupportOfPatch()

AbstractRepresentation * resqml2::AbstractRepresentation::getSeismicSupportOfPatch ( const unsigned int & patchIndex) const

Gets the seismic support of a specific patch of this representation.

Exceptions
std::out_of_rangeIf patchIndex is out of the patch count range.
Parameters
patchIndexZero-based index of the patch from which we look for the seismic support.
Returns
Null if no seismic information have been provided for the patch at position patchIndex. Else, its seismic support.

◆ getTimeIndex()

uint64_t resqml2::AbstractRepresentation::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;.

Exceptions
std::logic_errorIf this representation is partial. Or if the representation is not associated to any TimeSeries.
Returns
The time index of this representation in the associated TimeSeries.

◆ getTimeSeries()

eml2::TimeSeries * resqml2::AbstractRepresentation::getTimeSeries ( ) const

Gets the TimeSeries associated to this representation.

Returns
Null if it fails, else the TimeSeries associated to this representation.

◆ getTimeSeriesDor()

common::DataObjectReference resqml2::AbstractRepresentation::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.

Exceptions
std::logic_errorIf this representation is partial.
Returns
The data object reference of the TimeSeries, or empty data object reference there is not TimeSeries found.

◆ getXyzPointCountOfAllPatches()

uint64_t resqml2::AbstractRepresentation::getXyzPointCountOfAllPatches ( ) const

Get the xyz point count of all patches of this representation.

Returns
The xyz point count of all patches.

◆ getXyzPointCountOfPatch()

virtual uint64_t resqml2::AbstractRepresentation::getXyzPointCountOfPatch ( unsigned int patchIndex) const
pure virtual

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.

Implemented in resqml2::Grid2dRepresentation, resqml2::PolylineSetRepresentation, resqml2::StreamlinesRepresentation, resqml2::UnstructuredGridRepresentation, resqml2::GridConnectionSetRepresentation, and resqml2::WellboreFrameRepresentation.

◆ getXyzPointsOfAllPatches()

void resqml2::AbstractRepresentation::getXyzPointsOfAllPatches ( double * xyzPoints) const

Gets all the xyz points of all patches of this representation. xyz points are given in the local CRS.

Parameters
[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 * getXyzPointCountOfAllPatches().

◆ getXyzPointsOfAllPatchesInGlobalCrs()

void resqml2::AbstractRepresentation::getXyzPointsOfAllPatchesInGlobalCrs ( double * xyzPoints) const

Gets all the xyz points of all patches of this individual representation. xyz points are given in the global CRS.

Parameters
[out]xyzPointsA linearized 2d array where the first (quickest) dimension is the coordinate dimension (x, y or Z) and second dimension is vertex dimension. Thus, its size is 3*(3*[count of all xyz points]). It must be preallocated.

◆ getXyzPointsOfPatch()

virtual void resqml2::AbstractRepresentation::getXyzPointsOfPatch ( unsigned int patchIndex,
double * xyzPoints ) const
pure virtual

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

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

Implemented in resqml2::Grid2dRepresentation, resqml2::GridConnectionSetRepresentation, and resqml2::WellboreFrameRepresentation.

◆ getXyzPointsOfPatchInGlobalCrs()

void resqml2::AbstractRepresentation::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.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
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).

◆ isInSingleGlobalCrs()

bool resqml2::AbstractRepresentation::isInSingleGlobalCrs ( ) const

Checks if all of the patches (geometries) of this representation are defined in a same global CRS.

Returns
True if this representation is defined in a single global CRS, false if not.

◆ isInSingleLocalCrs()

bool resqml2::AbstractRepresentation::isInSingleLocalCrs ( ) const

Checks if all of the patches (geometries) of this representation are defined in a same local CRS.

Returns
True if this representation is defined in a single local CRS, false if not.

◆ loadTargetRelationships()

virtual void resqml2::AbstractRepresentation::loadTargetRelationships ( )
overridevirtual

◆ pushBackIntoRepresentationSet()

void resqml2::AbstractRepresentation::pushBackIntoRepresentationSet ( class RepresentationSetRepresentation * repSet)

Pushes back this representation into a representation set representation.

Exceptions
std::invalid_argumentIf repSet is null.
Parameters
[in]repSetThe representation set representation which will contain this representation.

◆ setInterpretation()

void resqml2::AbstractRepresentation::setInterpretation ( class AbstractFeatureInterpretation * interp)

Sets the interpretation which is associated to this representation.

Exceptions
std::invalid_argumentIf interp is null.
Parameters
[in]interpThe interpretation to associate to this representation.

◆ setTimeIndex()

void resqml2::AbstractRepresentation::setTimeIndex ( uint64_t timeIndex,
eml2 ::TimeSeries * timeSeries )

Set a time index in a time series for all point geometries of all existing patches of this representation.

Parameters
timeIndexThe time index of the time to associate to this representation.
timeSeriesThe time series containing the time of the representation at timeIndex.

Member Data Documentation

◆ XML_TAG

constexpr char const* resqml2::AbstractRepresentation::XML_TAG = "AbstractRepresentation"
staticconstexpr

The standard XML tag without XML namespace for serializing this data object


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