Fesapi
2.0.0.0
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 Types | |
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 } |
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). More... | |
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. 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 |
AbstractRepresentation * | getSeismicSupportOfPatch (const unsigned int &patchIndex) const |
std::set< AbstractRepresentation * > | getAllSeismicSupport () const |
virtual unsigned int | getPatchCount () const =0 |
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 |
virtual void | loadTargetRelationships () |
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::DataObjectRepository * | getRepository () const |
virtual std::string | getXmlNamespace () const =0 |
virtual std::string | getXmlTag () 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::Activity * | getActivity (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 |
Additional Inherited Members | |
Static Public Member Functions inherited from common::AbstractObject | |
static void | setFormat (const std::string &vendor, const std::string &applicationName, const std::string &applicationVersionNumber) |
Proxy class for an abstract representation.
Values that represent indexable elements
|
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, | ||
unsigned int | 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::WellboreTrajectoryRepresentation, resqml2::AbstractIjkGridRepresentation, resqml2_2::WellboreTrajectoryRepresentation, resqml2_2::UnstructuredGridRepresentation, resqml2_2::SubRepresentation, resqml2_2::StreamlinesRepresentation, resqml2_2::PolylineSetRepresentation, resqml2_2::PolylineRepresentation, resqml2_2::PointSetRepresentation, resqml2_2::IjkGridParametricRepresentation, resqml2_2::IjkGridNoGeometryRepresentation, resqml2_2::IjkGridLatticeRepresentation, resqml2_2::IjkGridExplicitRepresentation, resqml2_2::GridConnectionSetRepresentation, resqml2_2::Grid2dRepresentation, resqml2_2::DeviationSurveyRepresentation, resqml2_0_1::WellboreTrajectoryRepresentation, resqml2_0_1::UnstructuredGridRepresentation, resqml2_0_1::SubRepresentation, resqml2_0_1::StreamlinesRepresentation, resqml2_0_1::PolylineSetRepresentation, resqml2_0_1::PolylineRepresentation, resqml2_0_1::PointSetRepresentation, resqml2_0_1::IjkGridParametricRepresentation, resqml2_0_1::IjkGridNoGeometryRepresentation, resqml2_0_1::IjkGridLatticeRepresentation, resqml2_0_1::IjkGridExplicitRepresentation, resqml2_0_1::GridConnectionSetRepresentation, resqml2_0_1::Grid2dRepresentation, resqml2_0_1::DeviationSurveyRepresentation, resqml2::WellboreFrameRepresentation, resqml2::RepresentationSetRepresentation, resqml2_2::TriangulatedSetRepresentation, resqml2_0_1::TriangulatedSetRepresentation, and resqml2::PlaneSetRepresentation.
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::WellboreTrajectoryRepresentation, resqml2::WellboreFrameRepresentation, resqml2_2::WellboreTrajectoryRepresentation, resqml2_2::PlaneSetRepresentation, resqml2_0_1::WellboreTrajectoryRepresentation, and resqml2_0_1::PlaneSetRepresentation.
|
pure virtual |
Gets the patch count.
Implemented in resqml2::TriangulatedSetRepresentation, resqml2::SubRepresentation, resqml2::RepresentationSetRepresentation, resqml2::GridConnectionSetRepresentation, resqml2::AbstractIjkGridRepresentation, resqml2_2::TriangulatedSetRepresentation, resqml2_2::SubRepresentation, resqml2_2::PolylineSetRepresentation, resqml2_2::PointSetRepresentation, resqml2_2::PlaneSetRepresentation, resqml2_0_1::TriangulatedSetRepresentation, resqml2_0_1::SubRepresentation, resqml2_0_1::PolylineSetRepresentation, resqml2_0_1::PointSetRepresentation, resqml2_0_1::PlaneSetRepresentation, resqml2::WellboreTrajectoryRepresentation, resqml2::WellboreFrameRepresentation, resqml2::UnstructuredGridRepresentation, resqml2::StreamlinesRepresentation, resqml2::PolylineRepresentation, resqml2::Grid2dRepresentation, and resqml2::DeviationSurveyRepresentation.
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::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::WellboreFrameRepresentation, resqml2::SubRepresentation, resqml2::RepresentationSetRepresentation, resqml2::GridConnectionSetRepresentation, resqml2::AbstractIjkGridRepresentation, resqml2_2::WellboreTrajectoryRepresentation, resqml2_2::TriangulatedSetRepresentation, resqml2_2::PolylineRepresentation, resqml2_2::PointSetRepresentation, resqml2_2::PlaneSetRepresentation, resqml2_2::DeviationSurveyRepresentation, resqml2_0_1::WellboreTrajectoryRepresentation, resqml2_0_1::TriangulatedSetRepresentation, resqml2_0_1::PolylineRepresentation, resqml2_0_1::PointSetRepresentation, resqml2_0_1::PlaneSetRepresentation, resqml2_0_1::DeviationSurveyRepresentation, resqml2::UnstructuredGridRepresentation, resqml2::StreamlinesRepresentation, resqml2::PolylineSetRepresentation, resqml2::IjkGridNoGeometryRepresentation, and resqml2::Grid2dRepresentation.
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_0_1::StreamlinesRepresentation, resqml2::WellboreFrameRepresentation, resqml2::SubRepresentation, resqml2::RepresentationSetRepresentation, resqml2::GridConnectionSetRepresentation, resqml2::AbstractIjkGridRepresentation, resqml2_2::WellboreTrajectoryRepresentation, resqml2_2::UnstructuredGridRepresentation, resqml2_2::TriangulatedSetRepresentation, resqml2_2::StreamlinesRepresentation, resqml2_2::PolylineSetRepresentation, resqml2_2::PolylineRepresentation, resqml2_2::PointSetRepresentation, resqml2_2::PlaneSetRepresentation, resqml2_2::IjkGridParametricRepresentation, resqml2_2::IjkGridExplicitRepresentation, resqml2_2::DeviationSurveyRepresentation, resqml2_0_1::WellboreTrajectoryRepresentation, resqml2_0_1::UnstructuredGridRepresentation, resqml2_0_1::TriangulatedSetRepresentation, resqml2_0_1::PolylineSetRepresentation, resqml2_0_1::PolylineRepresentation, resqml2_0_1::PointSetRepresentation, resqml2_0_1::PlaneSetRepresentation, resqml2_0_1::IjkGridParametricRepresentation, resqml2_0_1::IjkGridExplicitRepresentation, resqml2_0_1::DeviationSurveyRepresentation, resqml2::IjkGridNoGeometryRepresentation, resqml2::IjkGridLatticeRepresentation, and resqml2::Grid2dRepresentation.
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.
|
virtual |
Reads the forward relationships of this data object and update the .rels
of the associated data repository.
Implements common::AbstractObject.
Reimplemented in resqml2::RepresentationSetRepresentation, resqml2::SubRepresentation, 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. |
|
static |
The standard XML tag without XML namespace for serializing this data object