Fesapi  2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Public Member Functions | List of all members
resqml2::AbstractColumnLayerGridRepresentation Class Referenceabstract

Proxy class for an abstract column layer grid representation. More...

#include <AbstractColumnLayerGridRepresentation.h>

Inheritance diagram for resqml2::AbstractColumnLayerGridRepresentation:
resqml2::AbstractGridRepresentation resqml2::AbstractRepresentation common::AbstractObject resqml2::AbstractIjkGridRepresentation resqml2::IjkGridExplicitRepresentation resqml2::IjkGridLatticeRepresentation resqml2::IjkGridNoGeometryRepresentation resqml2::IjkGridParametricRepresentation resqml2_0_1::IjkGridExplicitRepresentation resqml2_2::IjkGridExplicitRepresentation resqml2_0_1::IjkGridLatticeRepresentation resqml2_2::IjkGridLatticeRepresentation resqml2_0_1::IjkGridNoGeometryRepresentation resqml2_2::IjkGridNoGeometryRepresentation resqml2_0_1::IjkGridParametricRepresentation resqml2_2::IjkGridParametricRepresentation

Public Member Functions

virtual ~AbstractColumnLayerGridRepresentation ()=default
 
unsigned int getKCellCount () const
 
void setKCellCount (unsigned int kCount)
 
virtual gsoap_resqml2_0_1::resqml20__KDirection getKDirection () const =0
 
void setIntervalAssociationWithStratigraphicOrganizationInterpretation (uint64_t *stratiUnitIndices, uint64_t nullValue, resqml2::AbstractStratigraphicOrganizationInterpretation *stratiOrgInterp, eml2::AbstractHdfProxy *hdfProxy=nullptr)
 
common::DataObjectReference getStratigraphicOrganizationInterpretationDor () const final
 
bool hasIntervalStratigraphicUnitIndices () const
 
uint64_t getIntervalStratigraphicUnitIndices (uint64_t *stratiUnitIndices)
 
gsoap_resqml2_0_1::resqml20__PillarShape getMostComplexPillarGeometry () const
 
- Public Member Functions inherited from resqml2::AbstractGridRepresentation
virtual ~AbstractGridRepresentation ()=default
 
virtual uint64_t getCellCount () const =0
 
std::vector< class GridConnectionSetRepresentation * > getGridConnectionSetRepresentationSet () const
 
unsigned int getGridConnectionSetRepresentationCount () const
 
class GridConnectionSetRepresentationgetGridConnectionSetRepresentation (unsigned int index) const
 
AbstractGridRepresentationgetParentGrid () const
 
common::DataObjectReference getParentGridDor () const
 
std::vector< resqml2::AbstractGridRepresentation * > getChildGridSet () const
 
unsigned int getChildGridCount () const
 
AbstractGridRepresentationgetChildGrid (unsigned int index) const
 
void setParentWindow (uint64_t *cellIndices, uint64_t cellIndexCount, class UnstructuredGridRepresentation *parentGrid, eml2::AbstractHdfProxy *proxy=nullptr)
 
void setParentWindow (unsigned int *columnIndices, unsigned int columnIndexCount, unsigned int kLayerIndexRegridStart, unsigned int *childCellCountPerInterval, unsigned int *parentCellCountPerInterval, unsigned int intervalCount, class AbstractColumnLayerGridRepresentation *parentGrid, eml2::AbstractHdfProxy *proxy=nullptr, double *childCellWeights=nullptr)
 
void setParentWindow (unsigned int iCellIndexRegridStart, unsigned int *childCellCountPerIInterval, unsigned int *parentCellCountPerIInterval, unsigned int iIntervalCount, unsigned int jCellIndexRegridStart, unsigned int *childCellCountPerJInterval, unsigned int *parentCellCountPerJInterval, unsigned int jIntervalCount, unsigned int kCellIndexRegridStart, unsigned int *childCellCountPerKInterval, unsigned int *parentCellCountPerKInterval, unsigned int kIntervalCount, class AbstractIjkGridRepresentation *parentGrid, eml2::AbstractHdfProxy *proxy=nullptr, double *iChildCellWeights=nullptr, double *jChildCellWeights=nullptr, double *kChildCellWeights=nullptr)
 
void setParentWindow (unsigned int iCellIndexRegridStart, unsigned int constantChildCellCountPerIInterval, unsigned int constantParentCellCountPerIInterval, unsigned int iIntervalCount, unsigned int jCellIndexRegridStart, unsigned int constantChildCellCountPerJInterval, unsigned int constantParentCellCountPerJInterval, unsigned int jIntervalCount, unsigned int kCellIndexRegridStart, unsigned int constantChildCellCountPerKInterval, unsigned int constantParentCellCountPerKInterval, unsigned int kIntervalCount, class AbstractIjkGridRepresentation *parentGrid, eml2::AbstractHdfProxy *proxy=nullptr, double *iChildCellWeights=nullptr, double *jChildCellWeights=nullptr, double *kChildCellWeights=nullptr)
 Indicates that this grid takes place into another IJK parent grid. This method assumes that the count of cells per regrid interval is constant in both child and parent grids. More...
 
void setParentWindow (unsigned int iCellIndexRegridStart, unsigned int iChildCellCount, unsigned int iParentCellCount, unsigned int jCellIndexRegridStart, unsigned int jChildCellCount, unsigned int jParentCellCount, unsigned int kCellIndexRegridStart, unsigned int kChildCellCount, unsigned int kParentCellCount, class AbstractIjkGridRepresentation *parentGrid, eml2::AbstractHdfProxy *proxy=nullptr, double *iChildCellWeights=nullptr, double *jChildCellWeights=nullptr, double *kChildCellWeights=nullptr)
 
void setForcedNonRegridedParentCell (uint64_t *cellIndices, uint64_t cellIndexCount)
 
void setCellOverlap (uint64_t parentChildCellPairCount, uint64_t *parentChildCellPair, const std::string &volumeUom, double *overlapVolumes=nullptr)
 
int64_t getParentCellIndexCount () const
 
void getParentCellIndices (uint64_t *parentCellIndices) const
 
int64_t getParentColumnIndexCount () const
 
void getParentColumnIndices (uint64_t *parentColumnIndices) const
 
uint64_t getRegridStartIndexOnParentGrid (char dimension) const
 
uint64_t getRegridIntervalCount (char dimension) const
 
bool isRegridCellCountPerIntervalConstant (char dimension, bool childVsParentCellCount) const
 
uint64_t getRegridConstantCellCountPerInterval (char dimension, bool childVsParentCellCount) const
 
void getRegridCellCountPerInterval (char dimension, uint64_t *childCellCountPerInterval, bool childVsParentCellCount) const
 
bool hasRegridChildCellWeights (char dimension) const
 
void getRegridChildCellWeights (char dimension, double *childCellWeights) const
 
bool hasForcedNonRegridedParentCell () const
 
void setCellAssociationWithStratigraphicOrganizationInterpretation (uint64_t *stratiUnitIndices, uint64_t nullValue, class AbstractStratigraphicOrganizationInterpretation *stratiOrgInterp)
 
class AbstractStratigraphicOrganizationInterpretationgetStratigraphicOrganizationInterpretation () const
 
bool hasCellStratigraphicUnitIndices () const
 
uint64_t getCellStratigraphicUnitIndices (uint64_t *stratiUnitIndices)
 
void setCellAssociationWithRockFluidOrganizationInterpretation (uint64_t *rockFluidUnitIndices, uint64_t nullValue, class RockFluidOrganizationInterpretation *rockFluidOrgInterp)
 
class RockFluidOrganizationInterpretationgetRockFluidOrganizationInterpretation () const
 
virtual common::DataObjectReference getRockFluidOrganizationInterpretationDor () const
 
bool hasCellFluidPhaseUnitIndices () const
 
uint64_t getCellFluidPhaseUnitIndices (uint64_t *rockfluidUnitIndices)
 
bool isTruncated () const
 
uint64_t getTruncatedFaceCount () const
 
void getNodeIndicesOfTruncatedFaces (uint64_t *nodeIndices) const
 
void getCumulativeNodeCountPerTruncatedFace (uint64_t *nodeCountPerFace) const
 
void getNodeCountPerTruncatedFace (uint64_t *nodeCountPerFace) const
 
uint64_t getTruncatedCellCount () const
 
void getTruncatedCellIndices (uint64_t *cellIndices) const
 
void getTruncatedFaceIndicesOfTruncatedCells (uint64_t *faceIndices) const
 
void getCumulativeTruncatedFaceCountPerTruncatedCell (uint64_t *cumulativeFaceCountPerCell) const
 
void getTruncatedFaceCountPerTruncatedCell (uint64_t *faceCountPerCell) const
 
void getNonTruncatedFaceIndicesOfTruncatedCells (uint64_t *faceIndices) const
 
void getCumulativeNonTruncatedFaceCountPerTruncatedCell (uint64_t *cumulativeFaceCountPerCell) const
 
void getNonTruncatedFaceCountPerTruncatedCell (uint64_t *faceCountPerCell) const
 
void getTruncatedFaceIsRightHanded (unsigned char *cellFaceIsRightHanded) const
 
void loadTargetRelationships ()
 
- Public Member Functions inherited from resqml2::AbstractRepresentation
virtual ~AbstractRepresentation ()=default
 
class AbstractLocal3dCrsgetLocalCrs (unsigned int patchIndex) const
 
virtual common::DataObjectReference getLocalCrsDor (unsigned int patchIndex) const
 
virtual common::DataObjectReference getHdfProxyDor () const =0
 Gets the data object reference of the HDF proxy which is used for storing the numerical values of this representation (i.e. its geometry). More...
 
std::vector< class AbstractProperty * > getPropertySet () const
 
void setInterpretation (class AbstractFeatureInterpretation *interp)
 
class AbstractFeatureInterpretationgetInterpretation () const
 
common::DataObjectReference getInterpretationDor () const
 
virtual uint64_t getXyzPointCountOfPatch (unsigned int patchIndex) const =0
 
uint64_t getXyzPointCountOfAllPatches () const
 
virtual void getXyzPointsOfPatch (unsigned int patchIndex, double *xyzPoints) const =0
 Gets all the xyz points of a particular patch of this representation. xyz points are given in the local CRS. 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
 
AbstractRepresentationgetSeismicSupportOfPatch (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
 
- 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::DataObjectRepositorygetRepository () 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::ActivitygetActivity (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
 

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)
 
- Static Public Attributes inherited from resqml2::AbstractGridRepresentation
static const char * XML_TAG
 
- Static Public Attributes inherited from resqml2::AbstractRepresentation
static const char * XML_TAG
 

Detailed Description

Proxy class for an abstract column layer grid representation.

Constructor & Destructor Documentation

◆ ~AbstractColumnLayerGridRepresentation()

virtual resqml2::AbstractColumnLayerGridRepresentation::~AbstractColumnLayerGridRepresentation ( )
virtualdefault

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

Member Function Documentation

◆ getIntervalStratigraphicUnitIndices()

uint64_t resqml2::AbstractColumnLayerGridRepresentation::getIntervalStratigraphicUnitIndices ( uint64_t *  stratiUnitIndices)

Get the stratigraphic unit indices (regarding the associated stratigraphic organization interpretation) of each interval of this grid representation.

Exceptions
std::invalid_argumentIf this grid is a truncated one.
std::invalid_argumentIf this grid has no stratigraphic unit interval information.
Parameters
[out]stratiUnitIndicesThis array must be allocated with a size equal to the count of interval in this grid. Intervals = layers + K gaps. It will be filled in with the stratigraphic unit indices ordered as grid intervals are ordered.
Returns
The null value. The null value is used to tell the association between a grid interval and a stratigraphic unit is unavailable.

◆ getKCellCount()

unsigned int resqml2::AbstractColumnLayerGridRepresentation::getKCellCount ( ) const

Gets the K layer count of this grid

Exceptions
std::logic_errorIf this grid is partial or if the underlying gSOAP instance is not a RESQML2.0 one.
std::range_errorIf the count is strictly greater than unsigned int max.
Returns
The K layer count of this grid.

◆ getKDirection()

virtual gsoap_resqml2_0_1::resqml20__KDirection resqml2::AbstractColumnLayerGridRepresentation::getKDirection ( ) const
pure virtual

Gets the K direction (up, down or not monotonic) of this grid.

Exceptions
std::invalid_argumentIf there is no geometry on this grid.
Returns
The K direction of this grid.

Implemented in resqml2::AbstractIjkGridRepresentation.

◆ getMostComplexPillarGeometry()

gsoap_resqml2_0_1::resqml20__PillarShape resqml2::AbstractColumnLayerGridRepresentation::getMostComplexPillarGeometry ( ) const

Gets the most complex pillar geometry we can find on this grid. The returned value is not computed. It is just read from the data object attributes. Since it is denormalized information, inconsistency (mainly due to non synchronized information) might occur. In order to be sure the value is consistent with actual data, please compute this value again from the pillar kind indices.

Exceptions
std::invalid_argumentIf this grid has no AbstractColumnLayerGridGeometry.
Returns
The most complex pillar geometry which we can find on this grid.

◆ getStratigraphicOrganizationInterpretationDor()

common::DataObjectReference resqml2::AbstractColumnLayerGridRepresentation::getStratigraphicOrganizationInterpretationDor ( ) const
finalvirtual

Gets the data object reference of the stratigraphic organization interpretation associated to this grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
Returns
Empty data object reference if no stratigraphic organization interpretation is associated to this grid representation. Otherwise return the data object reference of the associated stratigraphic organization interpretation.

Reimplemented from resqml2::AbstractGridRepresentation.

◆ hasIntervalStratigraphicUnitIndices()

bool resqml2::AbstractColumnLayerGridRepresentation::hasIntervalStratigraphicUnitIndices ( ) const

Queries if this grid has some interval stratigraphic unit indices.

Exceptions
std::logic_errorIf this grid is partial or if the underlying gSOAP instance is not a RESQML2.0 one..
Returns
true if this grid representation has got some association between stratigraphic unit indices and intervals. Intervals = layers + K gaps.

◆ setIntervalAssociationWithStratigraphicOrganizationInterpretation()

void resqml2::AbstractColumnLayerGridRepresentation::setIntervalAssociationWithStratigraphicOrganizationInterpretation ( uint64_t *  stratiUnitIndices,
uint64_t  nullValue,
resqml2::AbstractStratigraphicOrganizationInterpretation stratiOrgInterp,
eml2::AbstractHdfProxy hdfProxy = nullptr 
)

Set the stratigraphic organization interpretation which is associated to this grid representation.

Exceptions
std::invalid_argumentIf this grid is a truncated one and thus cannot be linked to a stratigraphic column in RESQML2.0.
std::invalid_argumentIf stratiOrgInterp is null.
std::invalid_argumentIf hdfProxy is null and no default HDF proxy is provided in the associated data object repository.
Parameters
[in]stratiUnitIndicesIndex of the stratigraphic unit of a given stratigraphic column for each interval of this grid representation. Array length is the number of interval in the grids. Intervals = layers + K gaps.
nullValueThe value which is used to tell that the association between a grid interval and a stratigraphic unit is unavailable.
[in]stratiOrgInterpThe stratigraphic organization interpretation which is associated to this grid representation.
[in,out]hdfProxy(Optional) The HDF proxy where to write the values. It must be already opened for writing and won't be closed in this method.

◆ setKCellCount()

void resqml2::AbstractColumnLayerGridRepresentation::setKCellCount ( unsigned int  kCount)

Sets the K layer count of this grid

Exceptions
std::logic_errorIf this grid is partial or if the underlying gSOAP instance is not a RESQML2.0 one.
Parameters
kCountThe K layer count to set to this grid.

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