Fesapi
2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
|
#include <SubRepresentation.h>
Public Member Functions | |
SubRepresentation (gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject) | |
SubRepresentation (common::DataObjectRepository *repo, const std::string &guid, const std::string &title) | |
SubRepresentation (resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title) | |
Creates an instance of this class in a gsoap context. This instance must be linked to an interpretation. More... | |
SubRepresentation (gsoap_resqml2_0_1::_resqml20__SubRepresentation *fromGsoap) | |
~SubRepresentation ()=default | |
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... | |
resqml2::AbstractRepresentation::indexableElement | getElementKindOfPatch (unsigned int patchIndex, unsigned int elementIndicesIndex) const final |
uint64_t | getElementCountOfPatch (unsigned int patchIndex) const final |
void | getElementIndicesOfPatch (unsigned int patchIndex, unsigned int elementIndicesIndex, uint64_t *elementIndices) const final |
void | getSupportingRepresentationIndicesOfPatch (unsigned int patchIndex, short *supportingRepresentationIndices) const final |
Gets the indices of the supporting representations that refer the selected elements indices of a particular patch of this sub-representation. More... | |
bool | areElementIndicesPairwise (unsigned int patchIndex) const final |
bool | areElementIndicesBasedOnLattice (unsigned int patchIndex, unsigned int elementIndicesIndex=0) const final |
int64_t | getLatticeElementIndicesStartValue (unsigned int patchIndex, unsigned int elementIndicesIndex=0) const |
unsigned int | getLatticeElementIndicesDimensionCount (unsigned int patchIndex, unsigned int elementIndicesIndex=0) const final |
int64_t | getLatticeElementIndicesOffsetValue (unsigned int latticeDimensionIndex, unsigned int patchIndex, unsigned int elementIndicesIndex=0) const final |
uint64_t | getLatticeElementIndicesOffsetCount (unsigned int latticeDimensionIndex, unsigned int patchIndex, unsigned int elementIndicesIndex=0) const final |
void | pushBackSubRepresentationPatch (gsoap_eml2_3::resqml22__IndexableElement elementKind, uint64_t originIndex, unsigned int elementCountInSlowestDimension, unsigned int elementCountInMiddleDimension, unsigned int elementCountInFastestDimension) final |
void | pushBackSubRepresentationPatch (gsoap_eml2_3::resqml22__IndexableElement elementKind0, gsoap_eml2_3::resqml22__IndexableElement elementKind1, uint64_t elementCount, uint64_t *elementIndices0, uint64_t *elementIndices1, eml2::AbstractHdfProxy *proxy) final |
void | pushBackRefToExistingDataset (gsoap_eml2_3::resqml22__IndexableElement elementKind, uint64_t elementCount, const std::string &elementDataset, int64_t nullValue, eml2::AbstractHdfProxy *proxy, const std::string &supportingRepDataset="") final |
unsigned int | getPatchCount () const final |
unsigned int | getSupportingRepresentationCount () const final |
common::DataObjectReference | getSupportingRepresentationDor (unsigned int index) const final |
virtual std::string | getXmlNamespace () const final |
Public Member Functions inherited from resqml2::SubRepresentation | |
void | pushBackSubRepresentationPatch (gsoap_eml2_3::resqml22__IndexableElement elementKind, uint64_t elementCount, uint64_t *elementIndices, eml2::AbstractHdfProxy *proxy, short *supportingRepIndices=nullptr) |
uint64_t | getXyzPointCountOfPatch (unsigned int patchIndex) const override |
More... | |
void | getXyzPointsOfPatch (unsigned int patchIndex, double *xyzPoints) const override |
void | pushBackSupportingRepresentation (AbstractRepresentation *supportingRep) |
AbstractRepresentation * | getSupportingRepresentation (unsigned int index) const |
virtual std::string | getXmlTag () const final |
void | loadTargetRelationships () final |
Public Member Functions inherited from resqml2::AbstractRepresentation | |
virtual | ~AbstractRepresentation ()=default |
class AbstractLocal3dCrs * | getLocalCrs (unsigned int patchIndex) const |
virtual common::DataObjectReference | getLocalCrsDor (unsigned int patchIndex) const |
std::vector< class AbstractProperty * > | getPropertySet () const |
void | setInterpretation (class AbstractFeatureInterpretation *interp) |
class AbstractFeatureInterpretation * | getInterpretation () 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 |
AbstractRepresentation * | getSeismicSupportOfPatch (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::DataObjectRepository * | getRepository () 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::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_NS |
Static Public Attributes inherited from resqml2::SubRepresentation | |
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) |
A sub representation.
|
inline |
Only to be used in partial transfer context
[in,out] | partialObject | If non-null, the partial object. |
resqml2_0_1::SubRepresentation::SubRepresentation | ( | common::DataObjectRepository * | repo, |
const std::string & | guid, | ||
const std::string & | title | ||
) |
Creates an instance of this class in a gsoap context. This instance is not linked to any interpretation.
[in,out] | repo | The repo where the underlying gsoap proxy will be created. |
guid | The guid to set to this instance. | |
title | A title for the instance to create. |
resqml2_0_1::SubRepresentation::SubRepresentation | ( | resqml2::AbstractFeatureInterpretation * | interp, |
const std::string & | guid, | ||
const std::string & | title | ||
) |
Creates an instance of this class in a gsoap context. This instance must be linked to an interpretation.
std::invalid_argument | If interp == nullptr . |
[in] | interp | The interpretation the instance represents. |
guid | The guid to set to this instance. | |
title | A title for the instance to create. |
|
inline |
Creates an instance of this class by wrapping a gsoap instance.
[in,out] | fromGsoap | If non-null, from gsoap. |
|
virtualdefault |
Destructor does nothing since the memory is managed by the gsoap context.
Reimplemented from resqml2::SubRepresentation.
|
finalvirtual |
Checks if the element indices of a particular patch are based on a lattice or not.
std::out_of_range | If patchIndex is out of range. |
std::out_of_range | If elementIndicesIndex is out of range. Must be: 0 for non pairwise element indices; 0 or 1 for pairwise element indices (0 for the left and 1 for the right part of the pairs). |
patchIndex | Zero-based index of the patch. |
elementIndicesIndex | (Optional) In case of pairwise elements, allows to select the first (elementIndicesIndex = 0 ) or second (elementIndicesIndex = 1 ) element index of the pair. Default value is 0 , corresponding to both non-pairwise elements and first element of a pair. |
Implements resqml2::SubRepresentation.
|
finalvirtual |
Checks if the element indices of a particular patch are pairwise or not.
std::out_of_range | If patchIndex is out of range. |
patchIndex | Zero-based index of the patch. |
Implements resqml2::SubRepresentation.
|
finalvirtual |
Gets the count of the selected elements of a particular patch of this sub-representation.
std::out_of_range | If patchIndex is out of range. |
patchIndex | Zero-based index of the patch from which we want to count the selected elements. |
Implements resqml2::SubRepresentation.
|
finalvirtual |
Gets the indices of the selected elements for a particular patch of this sub-representation.
std::out_of_range | If patchIndex is out of range. |
std::out_of_range | If elementIndicesIndex is out of range. Must be: 0 for non pairwise element indices; 0 or 1 for pairwise element indices (0 for the left and 1 for the right part of the pairs). |
logic_error | If the selected elements indices of the patch are not stored in a HDF5 integer array. |
patchIndex | Zero-based index of the patch. | |
elementIndicesIndex | Must be equal to 0 if the element indices are not pairwise. This method must be called twice if the element indices are pairwise: one call with elementIndicesIndex = 0 for getting the indices of the left elements of the pair; one call with elementIndices = 1 for getting the indices of the right elements of the pair. | |
[out] | elementIndices | Output array for collecting the indices of the selected elements. It must be preallocated with getElementCountOfPatch() size. |
Implements resqml2::SubRepresentation.
|
finalvirtual |
Gets the kind of the selected elements for a particular patch of this sub-representation.
std::out_of_range | If patchIndex is out of range. |
std::out_of_range | If elementIndicesIndex is out of range. Must be: 0 for non pairwise element indices; 0 or 1 for pairwise element indices (0 for the left and 1 for the right part of the pairs). |
std::invalid_argument | If the kind of the selected elements we look for is not supported (the kind is neither a node, edge, face, volume nor pillar). |
patchIndex | Zero-based index of the patch. |
elementIndicesIndex | Must be equal to 0 if the element indices are not pairwise. This method must be called twice if the element indices are pairwise: one call with elementIndicesIndex = 0 for getting the kind of the left elements of the pair; one call with elementIndices = 1 for getting the kind of the right elements of the pair. |
Implements resqml2::SubRepresentation.
|
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).
std::logic_error | If this representation is partial. |
Implements resqml2::AbstractRepresentation.
|
finalvirtual |
Gets the dimension count of the lattice the element indices of a particular patch are based on.
std::invalid_argument | If the element indices are not based on a lattice. |
std::out_of_range | If patchIndex is out of range. |
std::out_of_range | If elementIndicesIndex is out of range. Must be: 0 for non pairwise element indices; 0 or 1 for pairwise element indices (0 for the left and 1 for the right part of the pairs). |
patchIndex | Zero-based index of the patch. |
elementIndicesIndex | (Optional) In case of pairwise elements, allow to select the first (elementIndicesIndex = 0 ) or second (elementIndicesIndex = 1 ) element index of the pair. Default value is 0 , corresponding to both non-pairwise elements and first element of a pair. |
Implements resqml2::SubRepresentation.
|
finalvirtual |
Gets the offset count at a given dimension of the lattice the element indices of a particular patch are based on.
std::invalid_argument | If the element indices are not based on a lattice. |
std::out_of_range | If latticeDimensionIndex is out of range. |
std::out_of_range | If patchIndex is out of range. |
std::out_of_range | If elementIndicesIndex is out of range. Must be: 0 for non pairwise element indices; 0 or 1 for pairwise element indices (0 for the left and 1 for the right part of the pairs). |
latticeDimensionIndex | Zero-based index of the lattice dimension. |
patchIndex | Zero-based index of the patch. |
elementIndicesIndex | (Optional) In case of pairwise elements, allow to select the first (elementIndicesIndex = 0 ) or second (elementIndicesIndex = 1 ) element index of the pair. Default value is 0 , corresponding to both non- pairwise elements and first element of a pair. |
Implements resqml2::SubRepresentation.
|
finalvirtual |
Gets the offset value at a given dimension of the lattice the element indices of a particular patch are based on.
std::invalid_argument | If the element indices are not based on a lattice. |
std::out_of_range | If latticeDimensionIndex is out of range. |
std::out_of_range | If patchIndex is out of range. |
std::out_of_range | If elementIndicesIndex is out of range. Must be: 0 for non pairwise element indices; 0 or 1 for pairwise element indices (0 for the left and 1 for the right part of the pairs). |
latticeDimensionIndex | Zero-based index of the lattice dimension. |
patchIndex | Zero-based index of the patch. |
elementIndicesIndex | (Optional) In case of pairwise elements, allow to select the first (elementIndicesIndex = 0 ) or second (elementIndicesIndex = 1 ) element index of the pair. Default value is 0 , corresponding to both non- pairwise elements and first element of a pair. |
Implements resqml2::SubRepresentation.
|
virtual |
Gets the start value of the lattice the element indices of a particular patch are based on.
std::invalid_argument | If the element indices are not based on a lattice. |
std::out_of_range | If patchIndex is out of range. |
std::out_of_range | If elementIndicesIndex is out of range. Must be: 0 for non pairwise element indices; 0 or 1 for pairwise element indices (0 for the left and 1 for the right part of the pairs). |
patchIndex | Zero-based index of the patch. |
elementIndicesIndex | (Optional) In case of pairwise elements, allow to select the first (elementIndicesIndex = 0 ) or second (elementIndicesIndex = 1 ) element index of the pair. Default value is 0 , corresponding to both non-pairwise elements and first element of a pair. |
Implements resqml2::SubRepresentation.
|
finalvirtual |
|
finalvirtual |
Gets the count of supporting representations of this sub-representation.
Implements resqml2::SubRepresentation.
|
finalvirtual |
Gets the data object reference of the supporting representation located at a specific index of this sub-representation.
std::invalid_argument | If no supporting representation is already associated to this sub-representation. |
std::out_of_range | If index is out of range. |
index | Zero-based index of the supporting representation we look for. |
index
. Implements resqml2::SubRepresentation.
|
finalvirtual |
Gets the indices of the supporting representations that refer the selected elements indices of a particular patch of this sub-representation.
std::out_of_range | If patchIndex is out of range. |
patchIndex | Zero-based index of the patch. | |
[out] | supportingRepresentationIndices | Output array for collecting the supporting representations indices. This array must be preallocated with getElementCountOfPatch() size. The index at a given position is the index of the supporting representation associated to the selected element (or the selected pair of elements) at the same position in the sub- elements) at the same position in the sub- representation patch. |
Implements resqml2::SubRepresentation.
|
inlinefinalvirtual |
Get the standard XML namespace for serializing this data object.
Implements common::AbstractObject.
|
finalvirtual |
Pushes back a new patch (without pairwise elements) in this sub-representation where the indices values have not to yet been written in the HDF5 file. The reason can be that the indices values already exist in an external file (only HDF5 for now) or that the writing of these indices values in the external file is postponed in time.
elementKind | The kind of (indexable) elements which constitutes the sub-representation patch. | |
elementCount | The count of elements which constitutes the sub- representation patch. | |
elementDataset | The HDF5 dataset name where the element indices are stored. If empty, the dataset will be named the same as the dataset naming convention fesapi : getHdfGroup() + subRep- >uuid + "/subrepresentation_elementIndices0_patch" + patchIndex; | |
nullValue | The null value which has been chosen in the referenced HDF5 dataset. | |
[in] | proxy | The HDF5 proxy where the values are already stored or will be stored. |
supportingRepDataset | (Optional) The HDF5 dataset name where the element indices are stored. If empty (default), no information about suppporting representation will be exported since there is only one suppporting representation for this whole patch. |
Implements resqml2::SubRepresentation.
|
finalvirtual |
Pushes back a new lattice-based patch (without pairwise elements) in this sub-representation. The offset value is set to 1 in each dimension of the lattice.
elementKind | The kind of (indexable) elements which constitutes the sub-representation patch. |
originIndex | The index of the origin (its start value). |
elementCountInSlowestDimension | The number of elements in the slowest dimension (commonly in K dimension). |
elementCountInMiddleDimension | The number of elements in the middle dimension (commonly in J dimension). |
elementCountInFastestDimension | The number of elements in the fastest dimension (commonly in I dimension). |
Implements resqml2::SubRepresentation.
|
finalvirtual |
Pushes back a new patch in this sub-representation which is constituted by means of pairwise elements.
elementKind0 | The kind of (indexable) elements which constitutes the first part of the pair of elements of the sub-representation patch. | |
elementKind1 | The kind of (indexable) elements which constitutes the second part of the pair of elements of the sub-representation patch. | |
elementCount | The count of elements which constitutes the sub- representation patch. | |
[in,out] | elementIndices0 | The indices of the first part of the element pairs in the supporting representation. |
[in,out] | elementIndices1 | The indices of the second part of the element pairs in the supporting representation. |
[in,out] | proxy | The HDF proxy where the numerical values (indices) are stored. |
Implements resqml2::SubRepresentation.
|
static |
The standard XML namespace for serializing this data object.