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 | Static Public Attributes | List of all members
resqml2::AbstractGridRepresentation Class Referenceabstract

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

#include <AbstractGridRepresentation.h>

Inheritance diagram for resqml2::AbstractGridRepresentation:
resqml2::AbstractRepresentation common::AbstractObject resqml2::AbstractColumnLayerGridRepresentation resqml2::UnstructuredGridRepresentation resqml2::AbstractIjkGridRepresentation resqml2_0_1::UnstructuredGridRepresentation resqml2_2::UnstructuredGridRepresentation 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 ~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
 
virtual common::DataObjectReference getStratigraphicOrganizationInterpretationDor () 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
 

Static Public Attributes

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)
 

Detailed Description

Proxy class for an abstract grid representation.

Constructor & Destructor Documentation

◆ ~AbstractGridRepresentation()

virtual resqml2::AbstractGridRepresentation::~AbstractGridRepresentation ( )
virtualdefault

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

Member Function Documentation

◆ getCellCount()

virtual uint64_t resqml2::AbstractGridRepresentation::getCellCount ( ) const
pure virtual

Gets the count of (volumetric) cells in the grid.

Exceptions
std::range_errorIf the cell count is strictly greater than unsigned int max.
std::logic_errorIf this grid is partial.
Returns
The cell count.

Implemented in resqml2::UnstructuredGridRepresentation, resqml2_2::UnstructuredGridRepresentation, resqml2_0_1::UnstructuredGridRepresentation, and resqml2::AbstractIjkGridRepresentation.

◆ getCellFluidPhaseUnitIndices()

uint64_t resqml2::AbstractGridRepresentation::getCellFluidPhaseUnitIndices ( uint64_t *  rockfluidUnitIndices)

Gets the rock fluid unit indices (regarding the associated rock fluid organization interpretation) of each cell of this grid representation.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::logic_errorIf the associated stratigraphic unit indices are not stored in a HDF5 integer array.
std::invalid_argumentIf the cells of this grid are not associated with rock fluid units indices.
Parameters
[out]rockfluidUnitIndicesAn array to receive the rock fluid unit indices associated to the cells of this grid? It must be allocated with a count equal to getCellCount(). It will be filled in with the rock fluid unit indices ordered as grid cells are ordered.
Returns
The null value. The null value is used to tell the association between a cell and rock fluid unit is unavailable.

◆ getCellStratigraphicUnitIndices()

uint64_t resqml2::AbstractGridRepresentation::getCellStratigraphicUnitIndices ( uint64_t *  stratiUnitIndices)

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

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::logic_errorIf the associated stratigraphic unit indices are not stored in a HDF5 integer array.
std::invalid_argumentIf the cells of this grid are not associated with stratigraphic units indices.
Parameters
[out]stratiUnitIndicesAn array to receive the stratigraphic unit indices associated to the cells of this grid. It must be preallocated with a count equal to getCellCount(). It will be filled in with the stratigraphic unit indices ordered as grid cells are ordered.
Returns
The null value. The null value is used to tell the association between a cell and stratigraphic unit is unavailable.

◆ getChildGrid()

AbstractGridRepresentation* resqml2::AbstractGridRepresentation::getChildGrid ( unsigned int  index) const

Gets a particular child grid of this grid.

Exceptions
std::out_of_rangeIf index >= getChildGridCount().
Parameters
indexZero-based index of the the child grid we look for.
Returns
The child grid at position index.

◆ getChildGridCount()

unsigned int resqml2::AbstractGridRepresentation::getChildGridCount ( ) const

Gets the count of child grids of this grid.

Exceptions
std::range_errorIf the count of child grids is strictly greater than unsigned int max.
Returns
The count of child grids of this grid.

◆ getChildGridSet()

std::vector<resqml2::AbstractGridRepresentation *> resqml2::AbstractGridRepresentation::getChildGridSet ( ) const

Gets the vector of all child grids of this grid.

Returns
A vector of pointers to all child grids of this grid.

◆ getCumulativeNodeCountPerTruncatedFace()

void resqml2::AbstractGridRepresentation::getCumulativeNodeCountPerTruncatedFace ( uint64_t *  nodeCountPerFace) const

Gets the cumulative node count per truncated face. First value is the count of nodes in the first face. Second value is the count of nodes in the first and in the second face. Third value is the count of nodes in the first and in the second and in the third face. Etc... The length of the output array is equal to getTruncatedFaceCount(). A single node count should be at least 3.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf this grid is not truncated.
std::range_errorIf the cumulative length of nodes count per cells is constant (it is stored in a constant integer array).
Parameters
[in]nodeCountPerFaceAn array to receive the cumulative node count per truncated face. It must be preallocated with getTruncatedFaceCount() (equals to last value of getCumulativeTruncatedFaceCountPerTruncatedCell())

◆ getCumulativeNonTruncatedFaceCountPerTruncatedCell()

void resqml2::AbstractGridRepresentation::getCumulativeNonTruncatedFaceCountPerTruncatedCell ( uint64_t *  cumulativeFaceCountPerCell) const

Get the cumulative non truncated face count per truncated cell. It does not take into account the truncated face indices of a truncated cell. First value is the count of faces in the first cell. Second value is the count of faces in the first and in the second cell. Third value is the count of faces in the first and in the second and in the third cell. Etc... Count of this array is equal to getTruncatedCellCount(). A single face count should be at least 4.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf this grid is not truncated.
std::range_errorIf the cumulative length of non truncated faces count per cells is constant (it is stored in a constant integer array) while there is more than one cell in the grid.
Parameters
[out]cumulativeFaceCountPerCellAn array to receive the cumulative non truncated face count per truncated cell. It must be preallocated with getTruncatedCellCount()

◆ getCumulativeTruncatedFaceCountPerTruncatedCell()

void resqml2::AbstractGridRepresentation::getCumulativeTruncatedFaceCountPerTruncatedCell ( uint64_t *  cumulativeFaceCountPerCell) const

Gets the cumulative truncated face count per truncated cell. It does not take into account the non truncated face of a truncated cell. First value is the count of faces in the first cell. Second value is the count of faces in the first and in the second cell. Third value is the count of faces in the first and in the second and in the third cell. Etc... The length of the output array is equal to getTruncatedCellCount(). A single face count should be at least 4.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf this grid is not truncated.
std::range_errorIf the cumulative length of truncated faces count per cells is constant (it is stored in a constant integer array) while there is more than one cell in the grid.
Parameters
[out]cumulativeFaceCountPerCellAn array to receive the cumulative truncated face count per truncated cell. It must be pre allocated with getTruncatedCellCount().

◆ getGridConnectionSetRepresentation()

class GridConnectionSetRepresentation* resqml2::AbstractGridRepresentation::getGridConnectionSetRepresentation ( unsigned int  index) const

Gets a particular grid connection set representation associated to this grid representation.

Exceptions
std::out_of_rangeIf index is out of range (greater than getGridConnectionSetRepresentationCount()).
Parameters
indexZero-based index of the grid connection set representation we look for.
Returns
The grid connection set representation at position index.

◆ getGridConnectionSetRepresentationCount()

unsigned int resqml2::AbstractGridRepresentation::getGridConnectionSetRepresentationCount ( ) const

Gets the count of grid connection set representations associated to this grid instance.

Exceptions
std::range_errorIf the count of grid connection set representations is strictly greater than unsigned int max.
Returns
The count of grid connection set representations associated to this grid instance.

◆ getGridConnectionSetRepresentationSet()

std::vector<class GridConnectionSetRepresentation*> resqml2::AbstractGridRepresentation::getGridConnectionSetRepresentationSet ( ) const

Gets the vector of all grid connection set representations associated to this grid instance.

Returns
A vector of pointers to all grid connection set representations associated to this grid instance.

◆ getNodeCountPerTruncatedFace()

void resqml2::AbstractGridRepresentation::getNodeCountPerTruncatedFace ( uint64_t *  nodeCountPerFace) const

Get the node count per truncated face. This method is less efficient than getCumulativeNodeCountPerTruncatedFace(). First value is the count of nodes in the first face. Second value is the count of nodes in the second face. etc...

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf this grid is not truncated.
std::range_errorIf the cumulative length of nodes count per cells is constant (it is stored in a constant integer array).
Parameters
[out]nodeCountPerFaceAn array to receive the node count per truncated face. It must be preallocated with getTruncatedFaceCount() (equals to last value of getCumulativeTruncatedFaceCountPerTruncatedCell()).

◆ getNodeIndicesOfTruncatedFaces()

void resqml2::AbstractGridRepresentation::getNodeIndicesOfTruncatedFaces ( uint64_t *  nodeIndices) const

Gets all the node indices of the truncated faces.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::logic_errorIf the node indices of the truncated faces are not stored in a HDF5 integer array.
std::invalid_argumentIf this grid is not truncated.
Parameters
[out]nodeIndicesAn array to receive the node indices of the truncated faces. It must be preallocated with the last value returned by getCumulativeNodeCountOfTruncatedFaces().

◆ getNonTruncatedFaceCountPerTruncatedCell()

void resqml2::AbstractGridRepresentation::getNonTruncatedFaceCountPerTruncatedCell ( uint64_t *  faceCountPerCell) const

Gets the non truncated face count per cell. This method is less efficient than getCumulativeNonTruncatedFaceCountPerTruncatedCell(). First value is the count of faces in the first cell. Second value is the count of faces in the second cell. etc...

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf this grid is not truncated.
std::range_errorIf the cumulative length of non truncated faces count per cells is constant (it is stored in a constant integer array) while there is more than one cell in the grid.
Parameters
[out]faceCountPerCellAn array to receive the non truncated face count per truncated cell. It must be pre allocated with getTruncatedCellCount()

◆ getNonTruncatedFaceIndicesOfTruncatedCells()

void resqml2::AbstractGridRepresentation::getNonTruncatedFaceIndicesOfTruncatedCells ( uint64_t *  faceIndices) const

Gets all the non truncated face indices of all the truncated cells. It does not get the truncated face indices of a truncated cell. Please use getTruncatedFaceIndicesOfTruncatedCells() in addition to this method in order to get the full list of face indices for a truncated cell.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::logic_errorIf the non truncated face indices are not stored in a HDF5 integer array.
std::invalid_argumentIf this grid is not truncated.
Parameters
[out]faceIndicesAn array to receive the non truncated face indices of all the truncated cells.It must be pre allocated with the last value returned by getCumulativeNonTruncatedFaceCountPerTruncatedCell()

◆ getParentCellIndexCount()

int64_t resqml2::AbstractGridRepresentation::getParentCellIndexCount ( ) const

Gets the count of parent grid cells which are regridded. Please only run this method for an unstructured parent grid. Please use regrid information for IJK parent grid or (regrid information and columIndexCount) for strict column layer parent grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf no parent window is already defined of if the defined parent window is not an unstructured parent window.
std::invalid_argumentIf the list of regridded cells is not stored in an HDF5 file.
Returns
The count of parent grid cells which are regridded.

◆ getParentCellIndices()

void resqml2::AbstractGridRepresentation::getParentCellIndices ( uint64_t *  parentCellIndices) const

Gets the indices of the parent grid cells which are regridded. Please only run this method for an unstructured parent grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf no parent window is already defined of if the defined parent window is not an unstructured parent window.
std::invalid_argumentIf the list of regridded cells is not stored in an HDF5 file.
Parameters
[out]parentCellIndicesAn array for receiving the regridded cells indices. This array must have been preallocated with a size of getParentCellIndexCount().

◆ getParentColumnIndexCount()

int64_t resqml2::AbstractGridRepresentation::getParentColumnIndexCount ( ) const

Gets the count of parent grid columns which are regridded. Please only run this method for a strict column layer parent grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf no parent window is already defined of if the defined parent window is not a column layer parent window.
std::invalid_argumentIf the list of regridded cells is not stored in an HDF5 file.
Returns
The count of parent grid columns which are regridded.

◆ getParentColumnIndices()

void resqml2::AbstractGridRepresentation::getParentColumnIndices ( uint64_t *  parentColumnIndices) const

Gets the indices of the parent grid columns which are regridded. Please only run this method for a strict column layer parent grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf no parent window is already defined of if the defined parent window is not a column layer parent window.
std::invalid_argumentIf the list of regridded cells is not stored in an HDF5 file.
Parameters
[out]parentColumnIndicesAn array for collecting the regridded column indices. This array must have been preallocated with a size of getParentColumnIndexCount().

◆ getParentGrid()

AbstractGridRepresentation* resqml2::AbstractGridRepresentation::getParentGrid ( ) const

Gets the parent grid of this grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::logic_errorIf the parent window of this grid is neither an IJK, column layer nor cell window.
Returns
nullptr if this grid is not a child grid (not an LGR), otherwise the parent grid.

◆ getParentGridDor()

common::DataObjectReference resqml2::AbstractGridRepresentation::getParentGridDor ( ) const

Gets the data object reference of the parent grid of this grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::logic_errorIf the parent window of this grid is neither an IJK, column layer nor cell window.
Returns
Empty data object reference if this grid is not a child grid (not a LGR), otherwise the data object reference of the parent grid.

◆ getRegridCellCountPerInterval()

void resqml2::AbstractGridRepresentation::getRegridCellCountPerInterval ( char  dimension,
uint64_t *  childCellCountPerInterval,
bool  childVsParentCellCount 
) const

Gets the regrid cell count per interval (in the child grid or in the parent grid) against a particular dimension. Intervals are portions of cells to regrid which does not overlap with each others. Please only run this method for an IJK parent grid or a strict column layer parent grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::logic_errorIf the cell count per interval in dimension dimension is neither an integer constant array nor a HDF5 integer array.
std::invalid_argumentIf no parent window is already defined of if the defined parent window is neither an IJK nor a column layer parent window.
std::invalid_argumentIf dimension differs from 'i', 'j' or 'k' (upper or lower case) for an IJK parent window or if it differs from 'k' (upper or lower case) for a column layer parent window.
std::invalid_argumentIf there exists no regrid interval in dimension dimension.
Parameters
dimensionThe dimension of the interval we look for. It must be either 'i', 'j' ou 'k' (upper or lower case) for an IJK parent grid or 'k' for a strict column layer parent grid.
[in]childCellCountPerIntervalAn array to receive the regrid cell count per interval. It must have been preallocated with a size of getRegridIntervalCount().
childVsParentCellCountIf true, gets the child cell count per interval. If false, gets the parent cell count per interval.

◆ getRegridChildCellWeights()

void resqml2::AbstractGridRepresentation::getRegridChildCellWeights ( char  dimension,
double *  childCellWeights 
) const

Gets the regrid child cell weights for a given dimension. Please only run this method for an IJK parent grid or a strict column layer parent grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf no parent window is already defined of if the defined parent window is neither an IJK nor a column layer parent window.
std::invalid_argumentIf dimension differs from 'i', 'j' or 'k' (upper or lower case) for an IJK parent window or if it differs from 'k' (upper or lower case) for a column layer parent window.
std::invalid_argumentIf there exists no regrid interval in dimension dimension.
std::invalid_argumentIf the regrid child cell weights in dimension dimension are not stored in an HDF5 file.
Parameters
dimensionThe dimension from which we look for regrid child cell weights. It must be either 'i', 'j' ou 'k' (upper or lower case) for an IJK parent grid or 'k' for a strict column layer parent grid.
[in,out]childCellWeightsAn array for receiving the regrid child cell weights. It must have been preallocated with a size equal to the sum of regrid child cell count per interval (using getRegridCellCountPerInterval()).

◆ getRegridConstantCellCountPerInterval()

uint64_t resqml2::AbstractGridRepresentation::getRegridConstantCellCountPerInterval ( char  dimension,
bool  childVsParentCellCount 
) const

Gets the constant cell count per interval (in the child grid or in the parent grid) against a particular dimension. Intervals are portions of cells to regrid which does not overlap with each others. Please only run this method for an IJK parent grid or a strict column layer parent grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::logic_errorIf the cell count per interval in dimension dimension is neither an integer constant array nor a HDF5 integer array.
std::invalid_argumentIf no parent window is already defined of if the defined parent window is neither an IJK nor a column layer parent window.
std::invalid_argumentIf dimension differs from 'i', 'j' or 'k' (upper or lower case) for an IJK parent window or if it differs from 'k' (upper or lower case) for a column layer parent window.
std::invalid_argumentIf there exists no regrid interval in dimension dimension.
Parameters
dimensionThe dimension of the interval we look for. It must be either 'i', 'j' ou 'k' (upper or lower case) for an IJK parent grid or 'k' for a strict column layer parent grid.
childVsParentCellCountIf true, gets the constant child cell count per interval. If false, gets the constant parent cell count per interval.
Returns
The regrid constant cell count per interval in dimension dimension.

◆ getRegridIntervalCount()

uint64_t resqml2::AbstractGridRepresentation::getRegridIntervalCount ( char  dimension) const

Gets the count of intervals which are regridded on a particular dimension. Intervals are portions of cells to regrid which does not overlap with each others. Please only run this method for an IJK parent grid or a strict column layer parent grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf no parent window is already defined of if the defined parent window is neither an IJK nor a column layer parent window.
std::invalid_argumentIf dimension differs from 'i', 'j' or 'k' (upper or lower case) for an IJK parent window or if it differs from 'k' (upper or lower case) for a column layer parent window.
Parameters
dimensionThe dimension of the interval count we look for. It must be either 'i', 'j' or 'k' (upper or lower case) for an IJK parent grid or 'k' for a strict column layer parent grid.
Returns
The regrid interval count in dimension dimension.

◆ getRegridStartIndexOnParentGrid()

uint64_t resqml2::AbstractGridRepresentation::getRegridStartIndexOnParentGrid ( char  dimension) const

Get the I, J or K index of the first parent grid cell to be regridded. Please only run this method for an IJK parent grid or a strict column layer parent grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf no parent window is already defined of if the defined parent window is neither an IJK nor a column layer parent window.
std::invalid_argumentIf dimension differs from 'i', 'j' or 'k' (upper or lower case) for an IJK parent window or if it differs from 'k' (upper or lower case) for a column layer parent window.
Parameters
dimensionThe dimension of the index we look for. It must be either 'i', 'j' or 'k' (upper or lower case) for an IJK parent grid or 'k' for a strict column layer parent grid.
Returns
The regrid start index on the parent grid in dimension dimension.

◆ getRockFluidOrganizationInterpretation()

class RockFluidOrganizationInterpretation* resqml2::AbstractGridRepresentation::getRockFluidOrganizationInterpretation ( ) const

Gets rock fluid organization interpretation which is associated to this grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
Returns
nullptr if no rock fluid organization interpretation is associated to this grid representation. Otherwise return the associated rock fluid organization interpretation.

◆ getRockFluidOrganizationInterpretationDor()

virtual common::DataObjectReference resqml2::AbstractGridRepresentation::getRockFluidOrganizationInterpretationDor ( ) const
virtual

Gets the data object reference of the rock fluid 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 rock fluid organization interpretation is associated to this grid representation. Otherwise return the data object reference of the associated rock fluid organization interpretation.

◆ getStratigraphicOrganizationInterpretation()

class AbstractStratigraphicOrganizationInterpretation* resqml2::AbstractGridRepresentation::getStratigraphicOrganizationInterpretation ( ) const

Gets the stratigraphic organization interpretation which is associated to this grid.

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

◆ getStratigraphicOrganizationInterpretationDor()

virtual common::DataObjectReference resqml2::AbstractGridRepresentation::getStratigraphicOrganizationInterpretationDor ( ) const
virtual

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 in resqml2::AbstractColumnLayerGridRepresentation.

◆ getTruncatedCellCount()

uint64_t resqml2::AbstractGridRepresentation::getTruncatedCellCount ( ) const

Gets the truncated cell count.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf this grid is not truncated.
Returns
The truncated cell count.

◆ getTruncatedCellIndices()

void resqml2::AbstractGridRepresentation::getTruncatedCellIndices ( uint64_t *  cellIndices) const

Gets the parent cell index for each of the truncation cells.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::logic_errorIf the parent cell indices are stored neither in a HDF5 integer array nor in a constant integer array.
std::invalid_argumentIf this grid is not truncated.
Parameters
[out]cellIndicesAn array to receive the parent cell index of each truncation cell. It must be preallocated with getTruncatedCellCount.

◆ getTruncatedFaceCount()

uint64_t resqml2::AbstractGridRepresentation::getTruncatedFaceCount ( ) const

Gets the truncated face count. It does not include face of truncated cells which are not truncated.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf this grid is not truncated.
Returns
The truncated face count.

◆ getTruncatedFaceCountPerTruncatedCell()

void resqml2::AbstractGridRepresentation::getTruncatedFaceCountPerTruncatedCell ( uint64_t *  faceCountPerCell) const

Gets the truncated face count per truncated cell. This method is less efficient than getCumulativeTruncatedFaceCountPerTruncatedCell(). First value is the count of faces in the first cell. Second value is the count of faces in the second cell. etc...

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf this grid is not truncated.
std::range_errorIf the cumulative length of faces count per cells is constant (it is stored in a constant integer array) while there is more than one cell in the grid.
Parameters
[out]faceCountPerCellAn array to receive the truncated face count per truncated cell. It must be preallocated with getTruncatedCellCount()

◆ getTruncatedFaceIndicesOfTruncatedCells()

void resqml2::AbstractGridRepresentation::getTruncatedFaceIndicesOfTruncatedCells ( uint64_t *  faceIndices) const

Gets all the truncated face indices of all the truncated cells. It does not get the non truncated face indices of a truncated cell. Please use getNonTruncatedFaceIndicesOfTruncatedCells() in addition to this method in order to get the full list of face indices for a truncated cell.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::logic_errorIf the truncated face indices are not stored in a HDF5 integer array.
std::invalid_argumentIf this grid is not truncated.
Parameters
[out]faceIndicesAn array to receive the truncated face indices of all the truncated cells. It must be preallocated with the last value returned by getCumulativeTruncatedFaceCountPerTruncatedCell()

◆ getTruncatedFaceIsRightHanded()

void resqml2::AbstractGridRepresentation::getTruncatedFaceIsRightHanded ( unsigned char *  cellFaceIsRightHanded) const

Retrieves the orientation of each truncated face (i.e. if each truncated face is right handed or not).

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::logic_errorIf the orientation of the truncated faces is neither stored in a HDF5 boolean array nor in a boolean constant array.
std::invalid_argumentIf this grid is not truncated.
Parameters
[out]cellFaceIsRightHandedAn array to receive the orientation of truncated faces. Value '0' means left handed and value other than '0' means right handed. It must be preallocated with getTruncatedFaceCount()

◆ hasCellFluidPhaseUnitIndices()

bool resqml2::AbstractGridRepresentation::hasCellFluidPhaseUnitIndices ( ) const

Queries if there exists some association between fluid phase unit indices and the cells of this grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
Returns
True if this grid representation has got some association between rock fluid unit indices and cell.

◆ hasCellStratigraphicUnitIndices()

bool resqml2::AbstractGridRepresentation::hasCellStratigraphicUnitIndices ( ) const

Queries if there exists some association between stratigraphic unit indices and the cells of this grid.

Exceptions
std::logic_errorIf 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 cells.

◆ hasForcedNonRegridedParentCell()

bool resqml2::AbstractGridRepresentation::hasForcedNonRegridedParentCell ( ) const

When a parent windows has been defined, this method checks if some parent cells have been noted to be forced not to be regridded. It mainly occurs in case of non-rectangular local grids.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf no parent window is already defined.
Returns
True if some parent cells have been forced not to be regridded, false if not.

◆ hasRegridChildCellWeights()

bool resqml2::AbstractGridRepresentation::hasRegridChildCellWeights ( char  dimension) const

Checks if regrid child cell weights have been defined for a given dimension. Please only run this method for an IJK parent grid or a strict column layer parent grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf no parent window is already defined of if the defined parent window is neither an IJK nor a column layer parent window.
std::invalid_argumentIf dimension differs from 'i', 'j' or 'k' (upper or lower case) for an IJK parent window or if it differs from 'k' (upper or lower case) for a column layer parent window.
std::invalid_argumentIf there exists no regrid interval in dimension dimension.
Parameters
dimensionThe dimension from which we look for regrid child cell weights. It must be either 'i', 'j' ou 'k' (upper or lower case) for an IJK parent grid or 'k' for a strict column layer parent grid.
Returns
True if regrid child cell weights have been defined in dimension dimension, false if not.

◆ isRegridCellCountPerIntervalConstant()

bool resqml2::AbstractGridRepresentation::isRegridCellCountPerIntervalConstant ( char  dimension,
bool  childVsParentCellCount 
) const

Checks if the cell count per interval (in the child grid or in the parent grid) is constant against a particular dimension. Intervals are portions of cells to regrid which does not overlap with each others. Please only run this method for an IJK parent grid or a strict column layer parent grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf no parent window is already defined of if the defined parent window is neither an IJK nor a column layer parent window.
std::invalid_argumentIf dimension differs from 'i', 'j' or 'k' (upper or lower case) for an IJK parent window or if it differs from 'k' (upper or lower case) for a column layer parent window.
std::invalid_argumentIf there exists no regrid interval in dimension dimension.
Parameters
dimensionThe dimension of the interval we look for. It must be either 'i', 'j' ou 'k' (upper or lower case) for an IJK parent grid or 'k' for a strict column layer parent grid.
childVsParentCellCountIf true, checks if the child cell count per interval is constant. If false, checks if the parent cell count per interval is constant.
Returns
True if the regrid cell count per interval is constant in dimension dimension, false if not.

◆ isTruncated()

bool resqml2::AbstractGridRepresentation::isTruncated ( ) const

Indicates whether this grid instance contains truncated pillars or not.

Returns
True if truncated pillars exist, false if not.

◆ loadTargetRelationships()

void resqml2::AbstractGridRepresentation::loadTargetRelationships ( )
virtual

Loads target relationships

Reimplemented from resqml2::AbstractRepresentation.

◆ setCellAssociationWithRockFluidOrganizationInterpretation()

void resqml2::AbstractGridRepresentation::setCellAssociationWithRockFluidOrganizationInterpretation ( uint64_t *  rockFluidUnitIndices,
uint64_t  nullValue,
class RockFluidOrganizationInterpretation rockFluidOrgInterp 
)

Sets the rock fluid organization interpretation which is associated to this grid representation.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf no default HDF proxy is defined in the repository.
Parameters
[in]rockFluidUnitIndicesIndex of the rock fluid unit of a given rock fluid column for each cell. Array length is the number of cells in the grid or the blocked well.
nullValueThe value which is used to tell the association between a cell and a rock fluid unit is unavailable.
[in]rockFluidOrgInterpThe rock fluid organization interpretation which is associated to this grid representation.

◆ setCellAssociationWithStratigraphicOrganizationInterpretation()

void resqml2::AbstractGridRepresentation::setCellAssociationWithStratigraphicOrganizationInterpretation ( uint64_t *  stratiUnitIndices,
uint64_t  nullValue,
class AbstractStratigraphicOrganizationInterpretation stratiOrgInterp 
)

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

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf no default HDF proxy is defined in the repository.
Parameters
[in]stratiUnitIndicesIndex of the stratigraphic unit of a given stratigraphic column for each cell. Array length is the number of cells in the grid or the blocked well.
nullValueThe value which is used to tell the association between a cell and a stratigraphic unit is unavailable.
[in]stratiOrgInterpThe stratigraphic organization interpretation which is associated to this grid representation.

◆ setCellOverlap()

void resqml2::AbstractGridRepresentation::setCellOverlap ( uint64_t  parentChildCellPairCount,
uint64_t *  parentChildCellPair,
const std::string &  volumeUom,
double *  overlapVolumes = nullptr 
)

Set optional cell overlap information between the current grid (the child) and the parent grid. Use this data-object when the child grid has an explicitly defined geometry, and these relationships cannot be inferred from the regrid descriptions. An overlap volume information can be associated to each overlapping (parent cell, child cell) pair.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf no parent window is already defined.
std::invalid_argumentIf parentChildCellPairCount is 0 or parentChildCellPair is nullptr.
std::invalid_argumentIf no default HDF proxy is defined in the repository.
Parameters
parentChildCellPairCountNumber of (parent cell, child cell) pairs that overlap.
[in]parentChildCellPairThe (parent cell index, child cell index) pair for each overlap. The size is 2 * parentChildCellPairCount. parentChildCellPair[2i] are parent cell indices and parentChildCellPair[2i+1] are child cell indices.
volumeUomThe volume unit of measure.
[in]overlapVolumes(Optional) The overlapping volume for each (parent cell, child cell) that overlaps. Size is parentChildCellPairCount. Default value is nullptr.

◆ setForcedNonRegridedParentCell()

void resqml2::AbstractGridRepresentation::setForcedNonRegridedParentCell ( uint64_t *  cellIndices,
uint64_t  cellIndexCount 
)

When a parent windows has been defined, this method allows to force some parent cells to be noted as non regridded. It mainly allows non-rectangular local grids to be specified.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf no parent window is already defined of if the defined parent window is neither an IJK nor a column layer parent window.
std::invalid_argumentIf cellIndices is nullptr or cellIndexCount is 0.
std::invalid_argumentIf an HDF proxy is required and no default HDF proxy is defined in the repository.
Parameters
[in]cellIndicesThe indices of the parent cells to be noted as non regridded. The size is cellIndexCount.
cellIndexCountNumber of cells to be noted as non regridded.

◆ setParentWindow() [1/5]

void resqml2::AbstractGridRepresentation::setParentWindow ( uint64_t *  cellIndices,
uint64_t  cellIndexCount,
class UnstructuredGridRepresentation parentGrid,
eml2::AbstractHdfProxy proxy = nullptr 
)

Indicates that this grid takes place into another unstructured parent grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf cellIndexCount is 0 or cellIndices is nullptr or parentGrid is nullptr.
std::invalid_argumentIf cellIndexCount > 1 and proxy is nullptr and no default HDF proxy is defined in the repository.
Parameters
[in]cellIndicesIdentifies the cells (of the parent grid) which are regridded.
cellIndexCountIdentifies the count of cells (of the parent grid) which are regridded.
[in]parentGridThe parent grid which is regridded.
[in,out]proxy(Optional) The HDF proxy where to store the numerical values. If nullptr (default), then the proxy will be the default proxy of the repository. This parameter is unused if cellIndexCount is 1 since no numerical value need to be store in an HDF proxy (pure XML).

◆ setParentWindow() [2/5]

void resqml2::AbstractGridRepresentation::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 
)

Indicates that this grid takes place into another column layer parent grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf columnIndices is nullptr or columnIndexCount is 0 or childCellCountPerInterval is nullptr or parentCellCountPerInterval is nullptr or intervalCount is 0 or parentGrid is nullptr.
std::invalid_argumentIf an HDF proxy is required to store numerical values but proxy is nullptr and no default HDF proxy is defined in the repository.
Parameters
[in]columnIndicesIdentifies the columns (of the parent grid) which are regridded. The size is columnIndexCount.
columnIndexCountIdentifies the count of columns (of the parent grid) which are regridded.
kLayerIndexRegridStartK index of the first K layer of all above parent grid columns to be regridded.
[in]childCellCountPerIntervalThe count of cells per K interval in this (child) grid. The size is intervalCount.
[in]parentCellCountPerIntervalThe count of cells per K interval in the parent grid. The size is intervalCount.
intervalCountThe count of intervals on K dimension. Intervals are portions of cells to regrid which does not overlap with each others. Intervals are the same for all the regridded columns.
[in]parentGridThe parent grid which is regridded.
[in,out]proxy(Optional) The HDF proxy where to store the numerical values. If nullptr (default), then the proxy will be the default proxy of the repository. This parameter is unused if no numerical value need to be store in an HDF proxy (pure XML).
[in]childCellWeights(Optional) The weights that are proportional to the relative K sizes of child cells within each K interval. This is useful to set up child cells of different K sizes inside the intervals. The weights need not to be normalized. The count of double values must be equal to the count of all child cells on K dimension (sum of child cells per interval). Default value is nullptr.

◆ setParentWindow() [3/5]

void resqml2::AbstractGridRepresentation::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 
)

Indicates that this grid takes place into another IJK parent grid.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf childCellCountPerIInterval is nullptr or parentCellCountPerIInterval is nullptr or iIntervalCount is 0 or childCellCountPerJInterval is nullptr or parentCellCountPerJInterval is nullptr or jIntervalCount is 0 or childCellCountPerKInterval is nullptr or parentCellCountPerKInterval is nullptr or kIntervalCount is 0 or parentGrid is nullptr.
std::invalid_argumentIf an HDF proxy is required to store numerical values but proxy is nullptr and no default HDF proxy is defined in the repository.
Parameters
iCellIndexRegridStartI index of the first parent grid cell to be regridded.
[in]childCellCountPerIIntervalThe count of cells per I interval in this (child) grid. The size is iIntervalCount.
[in]parentCellCountPerIIntervalThe count of cells per I interval in the parent grid. The size is iIntervalCount.
iIntervalCountThe count of intervals on I dimension. Intervals are portions of cells to regrid which does not overlap with each others.
jCellIndexRegridStartJ index of the first parent grid cell to be regridded.
[in]childCellCountPerJIntervalThe count of cells per J interval in this (child) grid. The size is jIntervalCount.
[in]parentCellCountPerJIntervalThe count of cells per J interval in the parent grid. The size is jIntervalCount.
jIntervalCountThe count of intervals on J dimension. Intervals are portions of cells to regrid which does not overlap with each others.
kCellIndexRegridStartK index of the first parent grid cell to be regridded.
[in]childCellCountPerKIntervalThe count of cells per K interval in this (child) grid. The size is kIntervalCount.
[in]parentCellCountPerKIntervalThe count of cells per K interval in the parent grid. The size is kIntervalCount.
kIntervalCountThe count of intervals on K dimension. Intervals are portions of cells to regrid which does not overlap with each others.
[in]parentGridThe parent grid which is regridded.
[in,out]proxy(Optional) The HDF proxy where to store the numerical values. If nullptr (default), then the proxy will be the default proxy of the repository. This parameter is unused if no numerical value need to be store in an HDF proxy (pure XML).
[in]iChildCellWeights(Optional) The weights that are proportional to the relative I sizes of child cells within each I interval. This is useful to set up child cells of different I sizes inside the intervals. The weights need not to be normalized. The count of double values must be equal to the count of all child cells on I dimension (sum of child cells per interval). Default value is nullptr.
[in]jChildCellWeights(Optional) The weights that are proportional to the relative J sizes of child cells within each J interval. This is useful to set up child cells of different J sizes inside the intervals. The weights need not to be normalized. The count of double values must be equal to the count of all child cells on J dimension (sum of child cells per interval). Default value is nullptr.
[in]kChildCellWeights(Optional) The weights that are proportional to the relative K sizes of child cells within each K interval. This is useful to set up child cells of different K sizes inside the intervals. The weights need not to be normalized. The count of double values must be equal to the count of all child cells on K dimension (sum of child cells per interval). Default value is nullptr.

◆ setParentWindow() [4/5]

void resqml2::AbstractGridRepresentation::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.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf constantChildCellCountPerIInterval is 0 or constantParentCellCountPerIInterval is 0 or iIntervalCount is 0 or constantChildCellCountPerJInterval is 0 or constantParentCellCountPerJInterval is 0 or jIntervalCount is 0 or constantChildCellCountPerKInterval is 0 or constantParentCellCountPerKInterval is 0 or kIntervalCount is 0 or parentGrid is nullptr.
std::invalid_argumentIf an HDF proxy is required to store numerical values but proxy is nullptr and no default HDF proxy is defined in the repository.
Parameters
iCellIndexRegridStartI index of the first parent grid cell to be regridded.
constantChildCellCountPerIIntervalThe constant count of cells per I interval in this (child) grid.
constantParentCellCountPerIIntervalThe constant count of cells per I interval in the parent grid.
iIntervalCountThe count of intervals on I dimension. Intervals are portions of cells to regrid which does not overlap with each others.
jCellIndexRegridStartJ index of the first parent grid cell to be regridded.
constantChildCellCountPerJIntervalThe constant count of cells per J interval in this (child) grid.
constantParentCellCountPerJIntervalThe constant count of cells per J interval in the parent grid.
jIntervalCountThe count of intervals on J dimension. Intervals are portions of cells to regrid which does not overlap with each others.
kCellIndexRegridStartK index of the first parent grid cell to be regridded.
constantChildCellCountPerKIntervalThe constant count of cells per K interval in this (child) grid.
constantParentCellCountPerKIntervalThe constant count of cells per K interval in the parent grid.
kIntervalCountThe count of intervals on K dimension. Intervals are portions of cells to regrid which does not overlap with each others.
[in]parentGridThe parent grid which is regridded.
[in,out]proxy(Optional) The HDF proxy where to store the numerical values. If nullptr (default), then the proxy will be the default proxy of the repository. This parameter is unused if no numerical value need to be store in an HDF proxy (pure XML).
[in]iChildCellWeights(Optional) The weights that are proportional to the relative I sizes of child cells within each I interval. This is useful to set up child cells of different I sizes inside the intervals. The weights need not to be normalized. The count of double values must be equal to the count of all child cells on I dimension (constantChildCellCountPerIInterval * iIntervalCount). Default value is nullptr.
[in]jChildCellWeights(Optional) The weights that are proportional to the relative J sizes of child cells within each J interval. This is useful to set up child cells of different J sizes inside the intervals. The weights need not to be normalized. The count of double values must be equal to the count of all child cells on J dimension (constantChildCellCountPerJInterval * jIntervalCount).
[in]kChildCellWeights(Optional) The weights that are proportional to the relative K sizes of child cells within each K interval. This is useful to set up child cells of different K sizes inside the intervals. The weights need not to be normalized. The count of double values must be equal to the count of all child cells on K dimension (constantChildCellCountPerKInterval * kIntervalCount).

◆ setParentWindow() [5/5]

void resqml2::AbstractGridRepresentation::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 
)

Indicates that this grid takes place into another IJK parent grid. This method assumes that there is only one regrid interval per dimension.

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
std::invalid_argumentIf iChildCellCount is 0 or iParentCellCount is 0 or jChildCellCount is 0 or jParentCellCount is 0 or kChildCellCount is 0 or kParentCellCount is 0 or parentGrid is nullptr.
std::invalid_argumentIf an HDF proxy is required to store numerical values but proxy is nullptr and no default HDF proxy is defined in the repository.
Parameters
iCellIndexRegridStartI index of the first parent grid cell to be regridded.
iChildCellCountThe count of cells for the unique I interval in this (child) grid.
iParentCellCountThe count of cells for the unique I interval in the parent grid.
jCellIndexRegridStartJ index of the first parent grid cell to be regridded.
jChildCellCountThe count of cells for the unique J interval in this (child) grid.
jParentCellCountThe count of cells for the unique J interval in the parent grid.
kCellIndexRegridStartK index of the first parent grid cell to be regridded.
kChildCellCountThe count of cells for the unique K interval in this (child) grid.
kParentCellCountThe count of cells for the unique K interval in the parent grid.
[in]parentGridThe parent grid which is regridded.
[in,out]proxy(Optional) The HDF proxy where to store the numerical values. If nullptr (default), then the proxy will be the default proxy of the repository. This parameter is unused if no numerical value need to be store in an HDF proxy (pure XML).
[in]iChildCellWeights(Optional) The weights that are proportional to the relative I sizes of child cells. This is useful to set up child cells of different I sizes inside the unique interval. The weights need not to be normalized. The count of double values must be equal to iChildCellCount. Default value is nullptr.
[in]jChildCellWeights(Optional) The weights that are proportional to the relative J sizes of child cells. This is useful to set up child cells of different J sizes inside the unique interval. The weights need not to be normalized. The count of double values must be equal to jChildCellCount. Default value is nullptr.
[in]kChildCellWeights(Optional) The weights that are proportional to the relative K sizes of child cells. This is useful to set up child cells of different K sizes inside the unique interval. The weights need not to be normalized. The count of double values must be equal to kChildCellCount. Default value is nullptr.

Member Data Documentation

◆ XML_TAG

const char* resqml2::AbstractGridRepresentation::XML_TAG
static

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


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