Fesapi 2.10.1.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Loading...
Searching...
No Matches
resqml2::SubRepresentation Class Referenceabstract

Proxy class for a sub-representation. A sub representation is an ordered list of indexable elements and/or indexable element pairs of an existing representation. More...

#include <SubRepresentation.h>

Inheritance diagram for resqml2::SubRepresentation:
resqml2::AbstractRepresentation common::AbstractObject resqml2_0_1::SubRepresentation resqml2_2::SubRepresentation

Public Member Functions

virtual ~SubRepresentation ()=default
 
virtual gsoap_eml2_3::eml23__IndexableElement getElementKindOfPatch (unsigned int patchIndex, unsigned int elementIndicesIndex) const =0
 
virtual uint64_t getElementCountOfPatch (unsigned int patchIndex) const =0
 
virtual void getElementIndicesOfPatch (unsigned int patchIndex, unsigned int elementIndicesIndex, uint64_t *elementIndices) const =0
 
virtual void getSupportingRepresentationIndicesOfPatch (unsigned int patchIndex, short *supportingRepresentationIndices) const =0
 Gets the indices of the supporting representations that refer the selected elements indices of a particular patch of this sub-representation.
 
virtual bool areElementIndicesPairwise (unsigned int patchIndex) const =0
 
virtual bool areElementIndicesBasedOnLattice (unsigned int patchIndex, unsigned int elementIndicesIndex=0) const =0
 
virtual int64_t getLatticeElementIndicesStartValue (unsigned int patchIndex, unsigned int elementIndicesIndex=0) const =0
 
virtual uint64_t getLatticeElementIndicesDimensionCount (unsigned int patchIndex, unsigned int elementIndicesIndex=0) const =0
 
virtual int64_t getLatticeElementIndicesOffsetValue (unsigned int latticeDimensionIndex, unsigned int patchIndex, unsigned int elementIndicesIndex=0) const =0
 
virtual uint64_t getLatticeElementIndicesOffsetCount (unsigned int latticeDimensionIndex, unsigned int patchIndex, unsigned int elementIndicesIndex=0) const =0
 
virtual void pushBackSubRepresentationPatch (gsoap_eml2_3::eml23__IndexableElement elementKind, uint64_t originIndex, unsigned int elementCountInSlowestDimension, unsigned int elementCountInMiddleDimension, unsigned int elementCountInFastestDimension)=0
 
void pushBackSubRepresentationPatch (gsoap_eml2_3::eml23__IndexableElement elementKind, uint64_t elementCount, uint64_t *elementIndices, eml2::AbstractHdfProxy *proxy=nullptr, short *supportingRepIndices=nullptr)
 
void pushBackSubRepresentationPatch (gsoap_eml2_3::eml23__IndexableElement elementKind, uint64_t elementCount, eml2::AbstractHdfProxy *proxy=nullptr)
 
void setElementIndices (uint64_t *elementIndices, uint64_t elementCount, uint64_t offset, eml2::AbstractHdfProxy *proxy=nullptr, unsigned int patchIndex=(std::numeric_limits< unsigned int >::max)())
 
virtual void pushBackSubRepresentationPatch (gsoap_eml2_3::eml23__IndexableElement elementKind0, gsoap_eml2_3::eml23__IndexableElement elementKind1, uint64_t elementCount, uint64_t *elementIndices0, uint64_t *elementIndices1, eml2::AbstractHdfProxy *proxy=nullptr)=0
 
virtual void pushBackRefToExistingDataset (gsoap_eml2_3::eml23__IndexableElement elementKind, uint64_t elementCount, const std::string &elementDataset, int64_t nullValue, eml2::AbstractHdfProxy *proxy, const std::string &supportingRepDataset="")=0
 
uint64_t getXyzPointCountOfPatch (unsigned int patchIndex) const override
 
void getXyzPointsOfPatch (unsigned int patchIndex, double *xyzPoints) const override
 
virtual uint64_t getPatchCount () const override=0
 
void pushBackSupportingRepresentation (AbstractRepresentation *supportingRep)
 
virtual uint64_t getSupportingRepresentationCount () const =0
 
AbstractRepresentationgetSupportingRepresentation (uint64_t index) const
 
virtual common::DataObjectReference getSupportingRepresentationDor (uint64_t index) const =0
 
virtual std::string getXmlTag () const final
 
void loadTargetRelationships () final
 
- Public Member Functions inherited from resqml2::AbstractRepresentation
virtual ~AbstractRepresentation ()=default
 
eml2::AbstractLocal3dCrsgetLocalCrs (uint64_t patchIndex) const
 
virtual common::DataObjectReference getLocalCrsDor (uint64_t 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
 
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.
 
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
 
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
 
- 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)
 
gsoap_resqml2_0_1::eml20__AbstractCitedDataObject * getEml20GsoapProxy () const
 
void setGsoapProxy (gsoap_resqml2_0_1::eml20__AbstractCitedDataObject *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_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 getXmlNamespace () 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)
 
uint64_t getAliasCount () const
 
std::string getAliasAuthorityAtIndex (uint64_t index) const
 
std::string getAliasTitleAtIndex (uint64_t index) const
 
std::vector< eml2::Activity * > getActivitySet () const
 
uint64_t getActivityCount () const
 
eml2::ActivitygetActivity (uint64_t 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
 
std::string buildEtp12Uri () const
 
void setUriSource (const std::string &uriSource)
 
const std::string & getUriSource () const
 
std::string getEpcSourceFolder () const
 
void changeToPartialObject ()
 

Static Public Attributes

static constexpr char const * XML_TAG = "SubRepresentation"
 
- Static Public Attributes inherited from resqml2::AbstractRepresentation
static constexpr char const * XML_TAG = "AbstractRepresentation"
 

Additional Inherited Members

- Public Types inherited from common::AbstractObject
enum class  numericalDatatypeEnum {
  UNKNOWN = 0 , DOUBLE = 1 , FLOAT = 2 , INT64 = 3 ,
  UINT64 = 4 , INT32 = 5 , UINT32 = 6 , INT16 = 7 ,
  UINT16 = 8 , INT8 = 9 , UINT8 = 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

Proxy class for a sub-representation. A sub representation is an ordered list of indexable elements and/or indexable element pairs of an existing representation.

Because the representation concepts of topology, geometry, and property values are separate in RESQML, it is now possible to select a range of nodes, edges, faces, or volumes (cells) indices from the topological support of an existing representation to define a sub-representation. A sub- representation may describe a different feature interpretation using the same geometry or property as the "parent" representation. In this case, the only information exchanged is a set of potentially non-consecutive indices of the topological support of the representation.

Constructor & Destructor Documentation

◆ ~SubRepresentation()

virtual resqml2::SubRepresentation::~SubRepresentation ( )
virtualdefault

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

Reimplemented in resqml2_0_1::SubRepresentation, and resqml2_2::SubRepresentation.

Member Function Documentation

◆ areElementIndicesBasedOnLattice()

virtual bool resqml2::SubRepresentation::areElementIndicesBasedOnLattice ( unsigned int patchIndex,
unsigned int elementIndicesIndex = 0 ) const
pure virtual

Checks if the element indices of a particular patch are based on a lattice or not.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
std::out_of_rangeIf 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).
Parameters
patchIndexZero-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.
Returns
True if element indices based on lattice, false if not.

Implemented in resqml2_0_1::SubRepresentation, and resqml2_2::SubRepresentation.

◆ areElementIndicesPairwise()

virtual bool resqml2::SubRepresentation::areElementIndicesPairwise ( unsigned int patchIndex) const
pure virtual

Checks if the element indices of a particular patch are pairwise or not.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
Parameters
patchIndexZero-based index of the patch.
Returns
True if the elements indices are pairwise, false if not.

Implemented in resqml2_0_1::SubRepresentation, and resqml2_2::SubRepresentation.

◆ getElementCountOfPatch()

virtual uint64_t resqml2::SubRepresentation::getElementCountOfPatch ( unsigned int patchIndex) const
pure virtual

Gets the count of the selected elements of a particular patch of this sub-representation.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
Parameters
patchIndexZero-based index of the patch from which we want to count the selected elements.
Returns
The count of the selected elements.

Implemented in resqml2_0_1::SubRepresentation, and resqml2_2::SubRepresentation.

◆ getElementIndicesOfPatch()

virtual void resqml2::SubRepresentation::getElementIndicesOfPatch ( unsigned int patchIndex,
unsigned int elementIndicesIndex,
uint64_t * elementIndices ) const
pure virtual

Gets the indices of the selected elements for a particular patch of this sub-representation.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
std::out_of_rangeIf 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_errorIf the selected elements indices of the patch are not stored in a HDF5 integer array.
Parameters
patchIndexZero-based index of the patch.
elementIndicesIndexMust 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]elementIndicesOutput array for collecting the indices of the selected elements. It must be preallocated with getElementCountOfPatch() size.

Implemented in resqml2_0_1::SubRepresentation, and resqml2_2::SubRepresentation.

◆ getElementKindOfPatch()

virtual gsoap_eml2_3::eml23__IndexableElement resqml2::SubRepresentation::getElementKindOfPatch ( unsigned int patchIndex,
unsigned int elementIndicesIndex ) const
pure virtual

Gets the kind of the selected elements for a particular patch of this sub-representation.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
std::out_of_rangeIf 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_argumentIf the kind of the selected elements we look for is not supported (the kind is neither a node, edge, face, volume nor pillar).
Parameters
patchIndexZero-based index of the patch.
elementIndicesIndexMust 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.
Returns
The kind of the selected elements.

Implemented in resqml2_0_1::SubRepresentation, and resqml2_2::SubRepresentation.

◆ getLatticeElementIndicesDimensionCount()

virtual uint64_t resqml2::SubRepresentation::getLatticeElementIndicesDimensionCount ( unsigned int patchIndex,
unsigned int elementIndicesIndex = 0 ) const
pure virtual

Gets the dimension count of the lattice the element indices of a particular patch are based on.

Exceptions
std::invalid_argumentIf the element indices are not based on a lattice.
std::out_of_rangeIf patchIndex is out of range.
std::out_of_rangeIf 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).
Parameters
patchIndexZero-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.
Returns
The lattice dimension count.

Implemented in resqml2_0_1::SubRepresentation, and resqml2_2::SubRepresentation.

◆ getLatticeElementIndicesOffsetCount()

virtual uint64_t resqml2::SubRepresentation::getLatticeElementIndicesOffsetCount ( unsigned int latticeDimensionIndex,
unsigned int patchIndex,
unsigned int elementIndicesIndex = 0 ) const
pure virtual

Gets the offset count at a given dimension of the lattice the element indices of a particular patch are based on.

Exceptions
std::invalid_argumentIf the element indices are not based on a lattice.
std::out_of_rangeIf latticeDimensionIndex is out of range.
std::out_of_rangeIf patchIndex is out of range.
std::out_of_rangeIf 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).
Parameters
latticeDimensionIndexZero-based index of the lattice dimension.
patchIndexZero-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.
Returns
The offset count.

Implemented in resqml2_0_1::SubRepresentation, and resqml2_2::SubRepresentation.

◆ getLatticeElementIndicesOffsetValue()

virtual int64_t resqml2::SubRepresentation::getLatticeElementIndicesOffsetValue ( unsigned int latticeDimensionIndex,
unsigned int patchIndex,
unsigned int elementIndicesIndex = 0 ) const
pure virtual

Gets the offset value at a given dimension of the lattice the element indices of a particular patch are based on.

Exceptions
std::invalid_argumentIf the element indices are not based on a lattice.
std::out_of_rangeIf latticeDimensionIndex is out of range.
std::out_of_rangeIf patchIndex is out of range.
std::out_of_rangeIf 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).
Parameters
latticeDimensionIndexZero-based index of the lattice dimension.
patchIndexZero-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.
Returns
The offset value.

Implemented in resqml2_0_1::SubRepresentation, and resqml2_2::SubRepresentation.

◆ getLatticeElementIndicesStartValue()

virtual int64_t resqml2::SubRepresentation::getLatticeElementIndicesStartValue ( unsigned int patchIndex,
unsigned int elementIndicesIndex = 0 ) const
pure virtual

Gets the start value of the lattice the element indices of a particular patch are based on.

Exceptions
std::invalid_argumentIf the element indices are not based on a lattice.
std::out_of_rangeIf patchIndex is out of range.
std::out_of_rangeIf 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).
Parameters
patchIndexZero-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.
Returns
The lattice start value.

Implemented in resqml2_0_1::SubRepresentation, and resqml2_2::SubRepresentation.

◆ getPatchCount()

virtual uint64_t resqml2::SubRepresentation::getPatchCount ( ) const
overridepure virtual

Gets the patch count.

Returns
The patch count.

Implements resqml2::AbstractRepresentation.

Implemented in resqml2_0_1::SubRepresentation, and resqml2_2::SubRepresentation.

◆ getSupportingRepresentation()

AbstractRepresentation * resqml2::SubRepresentation::getSupportingRepresentation ( uint64_t index) const

Gets the supporting representation located at a specific index of this sub-representation.

Exceptions
std::invalid_argumentIf no supporting representation is already associated to this sub-representation.
std::out_of_rangeIf index is out of range.
Parameters
indexZero-based index of the supporting representation we look for.
Returns
The supporting representation at position index.

◆ getSupportingRepresentationCount()

virtual uint64_t resqml2::SubRepresentation::getSupportingRepresentationCount ( ) const
pure virtual

Gets the count of supporting representations of this sub-representation.

Returns
The supporting representation count if successful, otherwise 0 if no supporting representation is associated to this sub-representation. This should not happened in a serialized state but can occur after creating a sub-representation and before associating any supporting representation to it.

Implemented in resqml2_0_1::SubRepresentation, and resqml2_2::SubRepresentation.

◆ getSupportingRepresentationDor()

virtual common::DataObjectReference resqml2::SubRepresentation::getSupportingRepresentationDor ( uint64_t index) const
pure virtual

Gets the data object reference of the supporting representation located at a specific index of this sub-representation.

Exceptions
std::invalid_argumentIf no supporting representation is already associated to this sub-representation.
std::out_of_rangeIf index is out of range.
Parameters
indexZero-based index of the supporting representation we look for.
Returns
The data object reference of the supporting representation at position index.

Implemented in resqml2_0_1::SubRepresentation, and resqml2_2::SubRepresentation.

◆ getSupportingRepresentationIndicesOfPatch()

virtual void resqml2::SubRepresentation::getSupportingRepresentationIndicesOfPatch ( unsigned int patchIndex,
short * supportingRepresentationIndices ) const
pure virtual

Gets the indices of the supporting representations that refer the selected elements indices of a particular patch of this sub-representation.

Exceptions
std::out_of_rangeIf patchIndex is out of range.
Parameters
patchIndexZero-based index of the patch.
[out]supportingRepresentationIndicesOutput 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.

Implemented in resqml2_0_1::SubRepresentation, and resqml2_2::SubRepresentation.

◆ getXmlTag()

virtual std::string resqml2::SubRepresentation::getXmlTag ( ) const
inlinefinalvirtual

Gets the standard XML tag without XML namespace for serializing this data object.

Returns
The XML tag.

Implements common::AbstractObject.

◆ getXyzPointCountOfPatch()

uint64_t resqml2::SubRepresentation::getXyzPointCountOfPatch ( unsigned int patchIndex) const
overridevirtual

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.
Exceptions
std::logic_errorIf the kind of the selected elements of this patch is not node (non pairwise) or if the kind of the left part of the pairs of elements is not node (pairwise case).

Implements resqml2::AbstractRepresentation.

◆ getXyzPointsOfPatch()

void resqml2::SubRepresentation::getXyzPointsOfPatch ( unsigned int patchIndex,
double * xyzPoints ) const
overridevirtual

Please do note use : not implemented yet.

Implements resqml2::AbstractRepresentation.

◆ loadTargetRelationships()

void resqml2::SubRepresentation::loadTargetRelationships ( )
finalvirtual

Loads target relationships

Reimplemented from resqml2::AbstractRepresentation.

◆ pushBackRefToExistingDataset()

virtual void resqml2::SubRepresentation::pushBackRefToExistingDataset ( gsoap_eml2_3::eml23__IndexableElement elementKind,
uint64_t elementCount,
const std::string & elementDataset,
int64_t nullValue,
eml2::AbstractHdfProxy * proxy,
const std::string & supportingRepDataset = "" )
pure virtual

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.

Parameters
elementKindThe kind of (indexable) elements which constitutes the sub-representation patch.
elementCountThe count of elements which constitutes the sub- representation patch.
elementDatasetThe 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;
nullValueThe null value which has been chosen in the referenced HDF5 dataset.
[in]proxyThe 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.

Implemented in resqml2_0_1::SubRepresentation, and resqml2_2::SubRepresentation.

◆ pushBackSubRepresentationPatch() [1/4]

void resqml2::SubRepresentation::pushBackSubRepresentationPatch ( gsoap_eml2_3::eml23__IndexableElement elementKind,
uint64_t elementCount,
eml2::AbstractHdfProxy * proxy = nullptr )

Pushes back a new patch (without pairwise elements) in this sub-representation. The pushed patch is uninitialized and values must be set to this new patch afterwards.

Parameters
elementKindThe kind of (indexable) elements which constitutes the sub-representation patch.
[in]elementIndicesThe indices of the elements in the supporting representation.
[in]proxyThe HDF proxy where the numerical values (indices) are stored.

◆ pushBackSubRepresentationPatch() [2/4]

void resqml2::SubRepresentation::pushBackSubRepresentationPatch ( gsoap_eml2_3::eml23__IndexableElement elementKind,
uint64_t elementCount,
uint64_t * elementIndices,
eml2::AbstractHdfProxy * proxy = nullptr,
short * supportingRepIndices = nullptr )

Pushes back a new patch (without pairwise elements) in this sub-representation.

Parameters
elementKindThe kind of (indexable) elements which constitutes the sub-representation patch.
elementCountThe count of elements which constitutes the sub- representation patch.
[in]elementIndicesThe indices of the elements in the supporting representation.
[in]proxyThe HDF proxy where the numerical values (indices) are stored.
[in]supportingRepIndices(Optional) The indices of the supporting representation corresponding to the element indices. The count must be elementCount.

◆ pushBackSubRepresentationPatch() [3/4]

virtual void resqml2::SubRepresentation::pushBackSubRepresentationPatch ( gsoap_eml2_3::eml23__IndexableElement elementKind,
uint64_t originIndex,
unsigned int elementCountInSlowestDimension,
unsigned int elementCountInMiddleDimension,
unsigned int elementCountInFastestDimension )
pure virtual

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.

Parameters
elementKindThe kind of (indexable) elements which constitutes the sub-representation patch.
originIndexThe index of the origin (its start value).
elementCountInSlowestDimensionThe number of elements in the slowest dimension (commonly in K dimension).
elementCountInMiddleDimensionThe number of elements in the middle dimension (commonly in J dimension).
elementCountInFastestDimensionThe number of elements in the fastest dimension (commonly in I dimension).

Implemented in resqml2_0_1::SubRepresentation, and resqml2_2::SubRepresentation.

◆ pushBackSubRepresentationPatch() [4/4]

virtual void resqml2::SubRepresentation::pushBackSubRepresentationPatch ( gsoap_eml2_3::eml23__IndexableElement elementKind0,
gsoap_eml2_3::eml23__IndexableElement elementKind1,
uint64_t elementCount,
uint64_t * elementIndices0,
uint64_t * elementIndices1,
eml2::AbstractHdfProxy * proxy = nullptr )
pure virtual

Pushes back a new patch in this sub-representation which is constituted by means of pairwise elements.

Parameters
elementKind0The kind of (indexable) elements which constitutes the first part of the pair of elements of the sub-representation patch.
elementKind1The kind of (indexable) elements which constitutes the second part of the pair of elements of the sub-representation patch.
elementCountThe count of elements which constitutes the sub- representation patch.
[in,out]elementIndices0The indices of the first part of the element pairs in the supporting representation.
[in,out]elementIndices1The indices of the second part of the element pairs in the supporting representation.
[in,out]proxyThe HDF proxy where the numerical values (indices) are stored.

Implemented in resqml2_0_1::SubRepresentation, and resqml2_2::SubRepresentation.

◆ pushBackSupportingRepresentation()

void resqml2::SubRepresentation::pushBackSupportingRepresentation ( AbstractRepresentation * supportingRep)

Pushes back a representation which is one of the support of this sub-representation. And push back this sub-representation as a subrepresentation of the representation as well.

Exceptions
std::invalid_argumentIf supportingRep is nullptr.
Parameters
[in]supportingRepIf representation to set as a supporting representation of this sub-representation.

◆ setElementIndices()

void resqml2::SubRepresentation::setElementIndices ( uint64_t * elementIndices,
uint64_t elementCount,
uint64_t offset,
eml2::AbstractHdfProxy * proxy = nullptr,
unsigned int patchIndex = (std::numeric_limits< unsigned int >::max)() )

Set the element indices of an already created SubRepresentationPatch

Exceptions
std::invalid_argumentIf proxy is nullptr and no default HDF proxy is defined into the data object repository.
std::out_of_rangeIf patchIndex is strictly greater than patch count and different from unsigned int maximum value.
Parameters
[in]elementIndicesAll the element indices to set in the already created SubRepresentationPatch.
elementCountThe number of elements to write.
offsetThe offset value.
[in,out]proxy(Optional) The HDF proxy where to write the element indices. It must be already opened for writing and won't be closed in this method. If nullptr (default value), a default HDF proxy must be defined into the data object repository.
patchIndex(Optional) Zero-based index of the patch where to write the element indices. If not provided, its default value is by convention set to unsigned int maximum value and the element indices will be written in the last subrepresentation patch (the one with the greatest index).

Member Data Documentation

◆ XML_TAG

char const* resqml2::SubRepresentation::XML_TAG = "SubRepresentation"
staticconstexpr

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


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