Fesapi 2.9.0.1
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
|
Proxy class for an abstract representation. More...
#include <AbstractRepresentation.h>
Public Member Functions | |
virtual | ~AbstractRepresentation ()=default |
class AbstractLocal3dCrs * | getLocalCrs (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::TimeSeries * | getTimeSeries () 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 AbstractFeatureInterpretation * | getInterpretation () 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 |
AbstractRepresentation * | getSeismicSupportOfPatch (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" |
Proxy class for an abstract representation.
|
virtualdefault |
Destructor does nothing since the memory is managed by the gSOAP context.
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.
std::out_of_range | If patchIndex is out of range. |
std::invalid_argument | If patchIndex does not identify a point geometry patch. |
std::invalid_argument | If there already exists some seismic 3d coordinates for the geometry patch at position patchIndex . |
patchIndex | The index of the geometry patch which receives the seismic coordinates. | |
[in,out] | lineAbscissa | The abscissa of each points of the patch on the seismic line. The count of this array must be equal to getXyzPointCountOfPatch(patchIndex) . |
[in,out] | seismicSupport | The representation of the seismic line. |
[in,out] | proxy | The HDF proxy where to write the lineAbscissa values. It must be already opened for writing and won't be closed in this method. |
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.
std::out_of_range | If patchIndex is out of range. |
std::invalid_argument | If patchIndex does not identify a point geometry patch. |
std::invalid_argument | If there already exists some seismic 2d coordinates for the geometry patch at position patchIndex . |
patchIndex | The index of the geometry patch which receives the seismic coordinates. | |
[in] | inlines | The sequence of trace or inter-trace inline positions that correspond to the geometry coordinates. It must be in the same order than crosslines . |
[in] | crosslines | The sequence of trace or inter-trace crossline positions that correspond to the geometry coordinates. It must be in the same order than inlines . |
pointCount | Number of points. It is the size of both inlines and crosslines . | |
[in] | seismicSupport | The representation of the seismic line. |
[in,out] | proxy | The 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. |
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.
std::out_of_range | If patchIndex is out of range. |
std::invalid_argument | If patchIndex does not identify a point geometry patch. |
std::invalid_argument | If there already exists some seismic 2d coordinates for the geometry patch at position patchIndex . |
patchIndex | The index of the geometry patch which receives the seismic coordinates. | |
startInline | The first inline. | |
incrInline | The inline increment. | |
countInline | The inline count. | |
startCrossline | The first crossline. | |
incrCrossline | The crossline increment. | |
countCrossline | The crossline count. | |
[in] | seismicSupport | The representation of the seismic line. |
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.
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.
std::out_of_range | If patchIndex is out of range. |
std::invalid_argument | If the patch at position patchIndex has no seismic information. |
patchIndex | The index of the geometry patch which stores the seismic coordinates. | |
[out] | values | The array where the crossline coordinates are going to be stored. The count of this array must be equal to getXyzPointCountOfPatch(patchIndex) . |
|
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).
std::logic_error | If this representation is partial. |
Implemented in resqml2::PlaneSetRepresentation, resqml2::WellboreFrameRepresentation, and resqml2::WellboreTrajectoryRepresentation.
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.
std::out_of_range | If patchIndex is out of range. |
std::invalid_argument | If the patch at position patchIndex has no seismic information. |
patchIndex | The index of the geometry patch which stores the seismic coordinates. | |
[out] | values | The array where the inlines coordinates are going to be stored. The count of this array must be equal to getXyzPointCountOfPatch(patchIndex) . |
class AbstractFeatureInterpretation * resqml2::AbstractRepresentation::getInterpretation | ( | ) | const |
Gets the interpretation associated to this representation.
common::DataObjectReference resqml2::AbstractRepresentation::getInterpretationDor | ( | ) | const |
Gets the data object reference of the interpretation associated to this representation.
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.
std::out_of_range | If patchIndex is out of range. |
patchIndex | Zero-based index of the patch for which we look for the local CRS. |
patchIndex
patch.
|
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.
std::out_of_range | If patchIndex is out of range. |
patchIndex | Zero-based index of the patch for which we look for the local CRS. |
patchIndex
patch. Reimplemented in resqml2::WellboreFrameRepresentation, and resqml2::WellboreTrajectoryRepresentation.
|
pure virtual |
Gets the patch count.
Implemented in resqml2::DeviationSurveyRepresentation, resqml2::Grid2dRepresentation, resqml2::PolylineRepresentation, resqml2::StreamlinesRepresentation, resqml2::UnstructuredGridRepresentation, resqml2::WellboreFrameRepresentation, resqml2::WellboreTrajectoryRepresentation, resqml2::GridConnectionSetRepresentation, and resqml2::TriangulatedSetRepresentation.
std::vector< class AbstractProperty * > resqml2::AbstractRepresentation::getPropertySet | ( | ) | const |
Gets all the properties which use this representation as support.
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.
std::out_of_range | If patchIndex is out of range. |
std::invalid_argument | If the patch at position patchIndex has no seismic information. |
patchIndex | The index of the geometry patch which stores the seismic coordinates. | |
[out] | values | The array where the abscissa are going to be stored. The count of this array must be equal to getXyzPointCountOfPatch(patchIndex) . |
AbstractRepresentation * resqml2::AbstractRepresentation::getSeismicSupportOfPatch | ( | const unsigned int & | patchIndex | ) | const |
Gets the seismic support of a specific patch of this representation.
std::out_of_range | If patchIndex is out of the patch count range. |
patchIndex | Zero-based index of the patch from which we look for the seismic support. |
patchIndex
. Else, its seismic support. 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;.
std::logic_error | If this representation is partial. Or if the representation is not associated to any TimeSeries. |
eml2::TimeSeries * resqml2::AbstractRepresentation::getTimeSeries | ( | ) | const |
Gets the TimeSeries associated to this representation.
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.
std::logic_error | If this representation is partial. |
uint64_t resqml2::AbstractRepresentation::getXyzPointCountOfAllPatches | ( | ) | const |
Get the xyz point count of all patches of this representation.
|
pure virtual |
Get the xyz point count in a given patch of this representation.
std::out_of_range | If patchIndex is out of range. |
std::logic_error | If this representation is partial. |
patchIndex | Zero-based index of the patch from which we look for the xyz points. |
patchIndex
. Implemented in resqml2::Grid2dRepresentation, resqml2::PolylineSetRepresentation, resqml2::StreamlinesRepresentation, resqml2::UnstructuredGridRepresentation, resqml2::GridConnectionSetRepresentation, and resqml2::WellboreFrameRepresentation.
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.
[out] | xyzPoints | A 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() . |
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.
[out] | xyzPoints | A 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. |
|
pure virtual |
Gets all the xyz points of a particular patch of this representation. xyz points are given in the local CRS.
std::out_of_range | If patchIndex is out of range. |
std::logic_error | If this representation is partial. |
patchIndex | Zero-based index of the patch from which we look for the xyz points. | |
[out] | xyzPoints | A 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.
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.
std::out_of_range | If patchIndex is out of range. |
patchIndex | Zero-based index of the patch from which we look for the xyz points. | |
[out] | xyzPoints | A 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) . |
bool resqml2::AbstractRepresentation::isInSingleGlobalCrs | ( | ) | const |
Checks if all of the patches (geometries) of this representation are defined in a same global CRS.
bool resqml2::AbstractRepresentation::isInSingleLocalCrs | ( | ) | const |
Checks if all of the patches (geometries) of this representation are defined in a same local CRS.
|
overridevirtual |
Reimplemented in resqml2::StreamlinesRepresentation, and resqml2::AbstractGridRepresentation.
void resqml2::AbstractRepresentation::pushBackIntoRepresentationSet | ( | class RepresentationSetRepresentation * | repSet | ) |
Pushes back this representation into a representation set representation.
std::invalid_argument | If repSet is null. |
[in] | repSet | The representation set representation which will contain this representation. |
void resqml2::AbstractRepresentation::setInterpretation | ( | class AbstractFeatureInterpretation * | interp | ) |
Sets the interpretation which is associated to this representation.
std::invalid_argument | If interp is null. |
[in] | interp | The interpretation to associate to this representation. |
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.
timeIndex | The time index of the time to associate to this representation. |
timeSeries | The time series containing the time of the representation at timeIndex . |
|
staticconstexpr |
The standard XML tag without XML namespace for serializing this data object