My Project
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
resqml2::AbstractGridRepresentation Class Referenceabstract
Inheritance diagram for resqml2::AbstractGridRepresentation:
resqml2::AbstractRepresentation resqml2::AbstractObject resqml2::AbstractColumnLayerGridRepresentation resqml2_0_1::UnstructuredGridRepresentation resqml2_0_1::AbstractIjkGridRepresentation resqml2_0_1::IjkGridExplicitRepresentation resqml2_0_1::IjkGridLatticeRepresentation resqml2_0_1::IjkGridNoGeometryRepresentation resqml2_0_1::IjkGridParametricRepresentation

Public Member Functions

virtual ~AbstractGridRepresentation ()
 
virtual ULONG64 getCellCount () const =0
 
std::vector< resqml2::GridConnectionSetRepresentation * > getGridConnectionSetRepresentationSet () const
 
unsigned int getGridConnectionSetRepresentationCount () const
 
resqml2::GridConnectionSetRepresentationgetGridConnectionSetRepresentation (const unsigned int &index) const
 
AbstractGridRepresentationgetParentGrid () const
 
std::string getParentGridUuid () const
 
unsigned int getChildGridCount () const
 
AbstractGridRepresentationgetChildGrid (const unsigned int &index) const
 
void setParentWindow (ULONG64 *cellIndices, const ULONG64 &cellIndexCount, resqml2_0_1::UnstructuredGridRepresentation *parentGrid)
 
void setParentWindow (unsigned int *columnIndices, const unsigned int &columnIndexCount, const unsigned int &kLayerIndexRegridStart, unsigned int *childCellCountPerInterval, unsigned int *parentCellCountPerInterval, const unsigned int &intervalCount, class AbstractColumnLayerGridRepresentation *parentGrid, double *childCellWeights=nullptr)
 
void setParentWindow (const unsigned int &iCellIndexRegridStart, unsigned int *childCellCountPerIInterval, unsigned int *parentCellCountPerIInterval, const unsigned int &iIntervalCount, const unsigned int &jCellIndexRegridStart, unsigned int *childCellCountPerJInterval, unsigned int *parentCellCountPerJInterval, const unsigned int &jIntervalCount, const unsigned int &kCellIndexRegridStart, unsigned int *childCellCountPerKInterval, unsigned int *parentCellCountPerKInterval, const unsigned int &kIntervalCount, resqml2_0_1::AbstractIjkGridRepresentation *parentGrid, double *iChildCellWeights=nullptr, double *jChildCellWeights=nullptr, double *kChildCellWeights=nullptr)
 
void setParentWindow (const unsigned int &iCellIndexRegridStart, unsigned int constantChildCellCountPerIInterval, unsigned int constantParentCellCountPerIInterval, const unsigned int &iIntervalCount, const unsigned int &jCellIndexRegridStart, unsigned int constantChildCellCountPerJInterval, unsigned int constantParentCellCountPerJInterval, const unsigned int &jIntervalCount, const unsigned int &kCellIndexRegridStart, unsigned int constantChildCellCountPerKInterval, unsigned int constantParentCellCountPerKInterval, const unsigned int &kIntervalCount, resqml2_0_1::AbstractIjkGridRepresentation *parentGrid, double *iChildCellWeights=nullptr, double *jChildCellWeights=nullptr, double *kChildCellWeights=nullptr)
 
void setParentWindow (const unsigned int &iCellIndexRegridStart, unsigned int iChildCellCount, unsigned int iParentCellCount, const unsigned int &jCellIndexRegridStart, unsigned int jChildCellCount, unsigned int jParentCellCount, const unsigned int &kCellIndexRegridStart, unsigned int kChildCellCount, unsigned int kParentCellCount, resqml2_0_1::AbstractIjkGridRepresentation *parentGrid, double *iChildCellWeights=nullptr, double *jChildCellWeights=nullptr, double *kChildCellWeights=nullptr)
 
void setForcedNonRegridedParentCell (ULONG64 *cellIndices, const ULONG64 &cellIndexCount)
 
void setCellOverlap (const ULONG64 &parentChildCellPairCount, ULONG64 *parentChildCellPair, const gsoap_resqml2_0_1::eml__VolumeUom &volumeUom=gsoap_resqml2_0_1::eml__VolumeUom__m3, double *overlapVolumes=nullptr)
 
LONG64 getParentCellIndexCount () const
 
void getParentCellIndices (ULONG64 *parentCellIndices) const
 
LONG64 getParentColumnIndexCount () const
 
void getParentColumnIndices (ULONG64 *parentColumnIndices) const
 
ULONG64 getRegridStartIndexOnParentGrid (const char &dimension) const
 
ULONG64 getRegridIntervalCount (const char &dimension) const
 
bool isRegridCellCountPerIntervalConstant (const char &dimension, const bool &childVsParentCellCount) const
 
ULONG64 getRegridConstantCellCountPerInterval (const char &dimension, const bool &childVsParentCellCount) const
 
void getRegridCellCountPerInterval (const char &dimension, ULONG64 *childCellCountPerInterval, const bool &childVsParentCellCount) const
 
bool hasRegridChildCellWeights (const char &dimension) const
 
void getRegridChildCellWeights (const char &dimension, ULONG64 *childCellWeights) const
 
bool hasForcedNonRegridedParentCell () const
 
void setCellAssociationWithStratigraphicOrganizationInterpretation (ULONG64 *stratiUnitIndices, const ULONG64 &nullValue, resqml2_0_1::AbstractStratigraphicOrganizationInterpretation *stratiOrgInterp)
 
resqml2_0_1::AbstractStratigraphicOrganizationInterpretationgetStratigraphicOrganizationInterpretation () const
 
virtual std::string getStratigraphicOrganizationInterpretationUuid () const
 
bool hasCellStratigraphicUnitIndices () const
 
ULONG64 getCellStratigraphicUnitIndices (ULONG64 *stratiUnitIndices)
 
bool isTruncated () const
 
ULONG64 getTruncatedFaceCount () const
 
void getNodeIndicesOfTruncatedFaces (ULONG64 *nodeIndices) const
 
void getCumulativeNodeCountPerTruncatedFace (ULONG64 *nodeCountPerFace) const
 
void getNodeCountPerTruncatedFace (ULONG64 *nodeCountPerFace) const
 
ULONG64 getTruncatedCellCount () const
 
void getTruncatedCellIndices (ULONG64 *cellIndices) const
 
void getTruncatedFaceIndicesOfTruncatedCells (ULONG64 *faceIndices) const
 
void getCumulativeTruncatedFaceCountPerTruncatedCell (ULONG64 *cumulativeFaceCountPerCell) const
 
void getTruncatedFaceCountPerTruncatedCell (ULONG64 *faceCountPerCell) const
 
void getNonTruncatedFaceIndicesOfTruncatedCells (ULONG64 *faceIndices) const
 
void getCumulativeNonTruncatedFaceCountPerTruncatedCell (ULONG64 *cumulativeFaceCountPerCell) const
 
void getNonTruncatedFaceCountPerTruncatedCell (ULONG64 *faceCountPerCell) const
 
void getTruncatedFaceIsRightHanded (unsigned char *cellFaceIsRightHanded) const
 
- Public Member Functions inherited from resqml2::AbstractRepresentation
virtual ~AbstractRepresentation ()
 
class AbstractLocal3dCrsgetLocalCrs () const
 
virtual std::string getLocalCrsUuid () const
 
class AbstractHdfProxygetHdfProxy () const
 
virtual std::string getHdfProxyUuid () const =0
 
const std::vector< class AbstractProperty * > & getPropertySet () const
 
std::vector< class AbstractValuesProperty * > getValuesPropertySet () const
 
unsigned int getValuesPropertyCount () const
 
class AbstractValuesPropertygetValuesProperty (const unsigned int &index) const
 
void setInterpretation (class AbstractFeatureInterpretation *interp)
 
class AbstractFeatureInterpretationgetInterpretation () const
 
std::string getInterpretationUuid () const
 
std::string getInterpretationContentType () const
 
void addSubRepresentation (SubRepresentation *subRep)
 
std::vector< SubRepresentation * > getSubRepresentationSet () const
 
unsigned int getSubRepresentationCount () const
 
SubRepresentationgetSubRepresentation (const unsigned int &index) const
 
std::vector< SubRepresentation * > getFaultSubRepresentationSet () const
 
unsigned int getFaultSubRepresentationCount () const
 
SubRepresentationgetFaultSubRepresentation (const unsigned int &index) const
 
virtual ULONG64 getXyzPointCountOfPatch (const unsigned int &patchIndex) const =0
 
ULONG64 getXyzPointCountOfAllPatches () const
 
virtual void getXyzPointsOfPatch (const unsigned int &patchIndex, double *xyzPoints) const =0
 
void getXyzPointsOfPatchInGlobalCrs (const unsigned int &patchIndex, double *xyzPoints) const
 
void getXyzPointsOfAllPatches (double *xyzPoints) const
 
void getXyzPointsOfAllPatchesInGlobalCrs (double *xyzPoints) const
 
AbstractRepresentationgetSeismicSupportOfPatch (const unsigned int &patchIndex)
 
virtual unsigned int getPatchCount () const =0
 
void pushBackIntoRepresentationSet (class RepresentationSetRepresentation *repSet, bool xml=true)
 
void setHdfProxy (resqml2::AbstractHdfProxy *proxy)
 
void addSeismic3dCoordinatesToPatch (const unsigned int patchIndex, double *inlines, double *crosslines, const unsigned int &pointCount, resqml2::AbstractRepresentation *seismicSupport, resqml2::AbstractHdfProxy *proxy)
 
void addSeismic3dCoordinatesToPatch (const unsigned int patchIndex, const double &startInline, const double &incrInline, const unsigned int &countInline, const double &startCrossline, const double &incrCrossline, const unsigned int &countCrossline, resqml2::AbstractRepresentation *seismicSupport)
 
void addSeismic2dCoordinatesToPatch (const unsigned int patchIndex, double *lineAbscissa, const unsigned int &pointCount, resqml2::AbstractRepresentation *seismicSupport, resqml2::AbstractHdfProxy *proxy)
 
void getSeismicLineAbscissaOfPointsOfPatch (const unsigned int &patchIndex, double *values)
 
- Public Member Functions inherited from resqml2::AbstractObject
bool isPartial () const
 
std::string getUuid () const
 
std::string getTitle () const
 
std::string getEditor () const
 
time_t getCreation () const
 
std::string getOriginator () const
 
std::string getDescription () const
 
time_t getLastUpdate () const
 
std::string getFormat () const
 
std::string getDescriptiveKeywords () const
 
void setTitle (const std::string &title)
 
void setEditor (const std::string &editor)
 
void setCreation (const time_t &creation)
 
void setOriginator (const std::string &originator)
 
void setDescription (const std::string &description)
 
void setLastUpdate (const time_t &lastUpdate)
 
void setFormat (const std::string &format)
 
void setDescriptiveKeywords (const std::string &descriptiveKeywords)
 
void setMetadata (const std::string &title, const std::string &editor, const time_t &creation, const std::string &originator, const std::string &description, const time_t &lastUpdate, const std::string &format, const std::string &descriptiveKeywords)
 
void serializeIntoStream (std::ostream *stream)
 
gsoap_resqml2_0_1::eml__AbstractCitedDataObject * getGsoapProxy () const
 
soap * getGsoapContext () const
 
int getGsoapType () const
 
gsoap_resqml2_0_1::eml__DataObjectReference * newResqmlReference () const
 
gsoap_resqml2_0_1::resqml2__ContactElementReference * newResqmlContactElementReference () const
 
common::EpcDocumentgetEpcDocument () const
 
virtual std::string getXmlNamespace () const
 
virtual std::string getXmlTag () const =0
 
virtual std::string getResqmlVersion () const
 
std::string getContentType () const
 
std::string getPartNameInEpcDocument () const
 
std::string serializeIntoString ()
 
void addAlias (const std::string &authority, const std::string &title)
 
unsigned int getAliasCount () const
 
std::string getAliasAuthorityAtIndex (const unsigned int &index) const
 
std::string getAliasTitleAtIndex (const unsigned int &index) const
 
const std::vector< resqml2::Activity * > & getActivitySet () const
 
void addOrSetExtraMetadata (const std::string &key, const std::string &value)
 
std::tr1::unordered_map< std::string, std::string > getExtraMetadataSet () const
 
std::string getExtraMetadata (const std::string &key)
 
unsigned int getExtraMetadataCount () const
 
std::string getExtraMetadataKeyAtIndex (const unsigned int &index) const
 
std::string getExtraMetadataStringValueAtIndex (const unsigned int &index) const
 

Static Public Attributes

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

Protected Member Functions

 AbstractGridRepresentation (common::EpcDocument *epcDoc, gsoap_resqml2_0_1::eml__DataObjectReference *partialObject, bool withTruncatedPillars)
 
 AbstractGridRepresentation (resqml2::AbstractFeatureInterpretation *interp, resqml2::AbstractLocal3dCrs *crs, bool withTruncatedPillars)
 
 AbstractGridRepresentation (gsoap_resqml2_0_1::resqml2__AbstractGridRepresentation *fromGsoap, bool withTruncatedPillars)
 
virtual std::vector< epc::RelationshipgetAllEpcRelationships () const
 
void importRelationshipSetFromEpc (common::EpcDocument *epcDoc)
 
- Protected Member Functions inherited from resqml2::AbstractRepresentation
 AbstractRepresentation (common::EpcDocument *epcDoc, gsoap_resqml2_0_1::eml__DataObjectReference *partialObject)
 
 AbstractRepresentation (class AbstractFeatureInterpretation *interp, class AbstractLocal3dCrs *crs)
 
 AbstractRepresentation (gsoap_resqml2_0_1::resqml2__AbstractRepresentation *fromGsoap)
 
void pushBackSeismicSupport (AbstractRepresentation *seismicSupport)
 
void setXmlInterpretation (class AbstractFeatureInterpretation *interp)
 
virtual gsoap_resqml2_0_1::resqml2__PointGeometry * getPointGeometry2_0_1 (const unsigned int &patchIndex) const
 
gsoap_resqml2_0_1::resqml2__PointGeometry * createPointGeometryPatch2_0_1 (const unsigned int &patchIndex, double *points, unsigned long long *numPoints, const unsigned int &numDimensionsInArray, resqml2::AbstractHdfProxy *proxy)
 
std::string getHdfProxyUuidFromPointGeometryPatch (gsoap_resqml2_0_1::resqml2__PointGeometry *patch) const
 
gsoap_resqml2_0_1::resqml2__Seismic2dCoordinates * getSeismic2dCoordinates (const unsigned int &patchIndex) const
 
gsoap_resqml2_0_1::resqml2__Seismic3dCoordinates * getSeismic3dCoordinates (const unsigned int &patchIndex) const
 
- Protected Member Functions inherited from resqml2::AbstractObject
 AbstractObject (common::EpcDocument *epcDoc, gsoap_resqml2_0_1::eml__DataObjectReference *partialObject)
 Indicate whether methods update the XML (gSoap) or only the C++ classes of the API. More...
 
 AbstractObject (gsoap_resqml2_0_1::eml__AbstractCitedDataObject *proxy=nullptr)
 
void initMandatoryMetadata ()
 
void setMetadata (const std::string &guid, const std::string &title, const std::string &editor, const time_t &creation, const std::string &originator, const std::string &description, const time_t &lastUpdate, const std::string &format, const std::string &descriptiveKeywords)
 

Protected Attributes

bool withTruncatedPillars
 
std::vector< AbstractGridRepresentation * > childGridSet
 
std::vector< resqml2::GridConnectionSetRepresentation * > gridConnectionSetRepresentationSet
 
std::vector< resqml2_0_1::BlockedWellboreRepresentation * > blockedWellboreRepresentationSet
 
- Protected Attributes inherited from resqml2::AbstractRepresentation
class AbstractFeatureInterpretationinterpretation
 
resqml2::AbstractHdfProxyhdfProxy
 
class AbstractLocal3dCrslocalCrs
 
std::vector< AbstractRepresentation * > seismicSupportSet
 
std::vector< SubRepresentation * > subRepresentationSet
 
std::vector< AbstractProperty * > propertySet
 
std::vector< AbstractRepresentation * > seismicSupportedRepSet
 
std::vector< class RepresentationSetRepresentation * > representationSetRepresentationSet
 
- Protected Attributes inherited from resqml2::AbstractObject
gsoap_resqml2_0_1::eml__AbstractCitedDataObject * gsoapProxy2_0_1
 
common::EpcDocumentepcDocument
 
std::vector< resqml2::Activity * > activitySet
 
bool updateXml
 

Friends

void GridConnectionSetRepresentation::pushBackSupportingGridRepresentation (AbstractGridRepresentation *supportingGridRep)
 
void resqml2_0_1::BlockedWellboreRepresentation::pushBackSupportingGridRepresentation (resqml2::AbstractGridRepresentation *supportingGridRep)
 

Additional Inherited Members

- Public Types inherited from resqml2::AbstractRepresentation
enum  indexableElement {
  NODE = 0, EDGE = 1, FACE = 2, VOLUME = 3,
  PILLAR = 4
}
 
- Static Protected Member Functions inherited from resqml2::AbstractObject
static void addActivityToResqmlObject (resqml2::Activity *activity, AbstractObject *resqmlObject)
 

Constructor & Destructor Documentation

resqml2::AbstractGridRepresentation::AbstractGridRepresentation ( common::EpcDocument epcDoc,
gsoap_resqml2_0_1::eml__DataObjectReference *  partialObject,
bool  withTruncatedPillars 
)
inlineprotected

Only to be used in partial transfer context

resqml2::AbstractGridRepresentation::AbstractGridRepresentation ( resqml2::AbstractFeatureInterpretation interp,
resqml2::AbstractLocal3dCrs crs,
bool  withTruncatedPillars 
)
inlineprotected

Default constructor

resqml2::AbstractGridRepresentation::AbstractGridRepresentation ( gsoap_resqml2_0_1::resqml2__AbstractGridRepresentation *  fromGsoap,
bool  withTruncatedPillars 
)
inlineprotected

Creates an instance of this class by wrapping a gsoap instance.

virtual resqml2::AbstractGridRepresentation::~AbstractGridRepresentation ( )
inlinevirtual

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

Member Function Documentation

vector< Relationship > AbstractGridRepresentation::getAllEpcRelationships ( ) const
protectedvirtual

Return all relationships (backward and forward ones) of the instance using EPC format.

Reimplemented from resqml2::AbstractRepresentation.

Reimplemented in resqml2::AbstractColumnLayerGridRepresentation.

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

Get the count of (volumic) cells in the grid.

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

ULONG64 AbstractGridRepresentation::getCellStratigraphicUnitIndices ( ULONG64 *  stratiUnitIndices)

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

Parameters
stratiUnitIndicesThis array must be allocated 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 is returned. The null value is used to tell the association between a cell and strati unit is unavailable.
AbstractGridRepresentation* resqml2::AbstractGridRepresentation::getChildGrid ( const unsigned int &  index) const
inline

Return the count of child grid in this grid.

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

Return the count of child grid in this grid.

void AbstractGridRepresentation::getCumulativeNodeCountPerTruncatedFace ( ULONG64 *  nodeCountPerFace) const

Get 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... Count of this array is equal to getTruncatedFaceCount() A single node count should be at least 3.

Parameters
nodeCountPerFaceIt must be pre allocated with getTruncatedFaceCount() == last value of getCumulativeTruncatedFaceCountPerTruncatedCell()
void AbstractGridRepresentation::getCumulativeNonTruncatedFaceCountPerTruncatedCell ( ULONG64 *  cumulativeFaceCountPerCell) const

Get the cumulative truncated face count per truncated cell. It does not take into account the non 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 getCellCount() A single face count should be at least 4.

Parameters
cumulativeFaceCountPerCellIndexIt must be pre allocated with getTruncatedCellCount()
void AbstractGridRepresentation::getCumulativeTruncatedFaceCountPerTruncatedCell ( ULONG64 *  cumulativeFaceCountPerCell) const

Get the cumulative truncated face count per truncated cell. It does not take into account the non 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 getCellCount() A single face count should be at least 4.

Parameters
cumulativeFaceCountPerCellIndexIt must be pre allocated with getTruncatedCellCount()
resqml2::GridConnectionSetRepresentation * AbstractGridRepresentation::getGridConnectionSetRepresentation ( const unsigned int &  index) const

Get a particular ijk parametric grid according to its position in the EPC document. It is mainly used in SWIG context for parsing the vector from a non C++ language.

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

Get the GridConnectionSetRepresentation count into this EPC document which are associated to this grid. It is mainly used in SWIG context for parsing the vector from a non C++ language.

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

Get the vector of all grid connection set rep asociated to this grid instance.

void AbstractGridRepresentation::getNodeCountPerTruncatedFace ( ULONG64 *  nodeCountPerFace) const

Less efficient than getCumulativeNodeCountPerTruncatedFace. Get the 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 second face. etc...

Parameters
nodeCountPerFaceIt must be pre allocated with getTruncatedFaceCount() == last value of getCumulativeTruncatedFaceCountPerTruncatedCell()
void AbstractGridRepresentation::getNodeIndicesOfTruncatedFaces ( ULONG64 *  nodeIndices) const

Get all the node indices of the truncated faces.

Parameters
nodeIndicesIt must be pre allocated with the last value returned by getCumulativeNodeCountOfTruncatedFaces().
void AbstractGridRepresentation::getNonTruncatedFaceCountPerTruncatedCell ( ULONG64 *  faceCountPerCell) const

Less efficient than getCumulativeTruncatedFaceCountPerTruncatedCell. Get the face count per cell. First value is the count of faces in the first cell. Second value is the count of faces in the second cell. etc...

Parameters
faceCountPerCellIt must be pre allocated with getTruncatedCellCount()
void AbstractGridRepresentation::getNonTruncatedFaceIndicesOfTruncatedCells ( ULONG64 *  faceIndices) const

Get 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(ULONG64 * faceIndices) in addition to this method in order to get the full list of face indices for a truncated cell.

Parameters
faceIndicesIt must be pre allocated with the last value returned by getCumulativeTruncatedFaceCountPerTruncatedCell()
LONG64 AbstractGridRepresentation::getParentCellIndexCount ( ) const

Only run this method for an unstructured parent grid. Use regrid information for ijk parent grid or (regrid and columIndexCount) for strict column layer parent grid.

void AbstractGridRepresentation::getParentCellIndices ( ULONG64 *  parentCellIndices) const

Only run this method for an unstructured parent grid.

Parameters
parentCellIndicesThis array must have been preallocated with a size of getParentCellIndexCount().
LONG64 AbstractGridRepresentation::getParentColumnIndexCount ( ) const

Only run this method for a strict column layer parent grid.

void AbstractGridRepresentation::getParentColumnIndices ( ULONG64 *  parentColumnIndices) const

Only run this method for an unstructured parent grid.

Parameters
parentCellIndicesThis array must have been preallocated with a size of getParentCellIndexCount().
AbstractGridRepresentation * AbstractGridRepresentation::getParentGrid ( ) const

Get the parent grid of this grid.

Returns
nullptr if the grid is not a child grid (not a LGR)
std::string AbstractGridRepresentation::getParentGridUuid ( ) const

Get the parent grid uuid of this grid.

Returns
empty string if the grid is not a child grid (not a LGR)
void AbstractGridRepresentation::getRegridCellCountPerInterval ( const char &  dimension,
ULONG64 *  childCellCountPerInterval,
const bool &  childVsParentCellCount 
) const

Only run this method for an ijk parent grid or a strict column layer parent grid.

Parameters
dimensionIt must be either 'i', 'j' ou 'k' (upper or lower case) for an ijk parent grid. 'k' for a strict column layer parent grid.
childCellCountPerIntervalThis array must have been preallocated with a size of getRegridIntervalCount().
childVsParentCellCountIf true return the child cell count per interval. If false return the parent cell count per interval.
void AbstractGridRepresentation::getRegridChildCellWeights ( const char &  dimension,
ULONG64 *  childCellWeights 
) const

Only run this method for an ijk parent grid or a strict column layer parent grid.

Parameters
dimensionIt must be either 'i', 'j' ou 'k' (upper or lower case) for an ijk parent grid. 'k' for a strict column layer parent grid.
childCellWeightsThis array must have been preallocated with a size equal to the sum of ChildCellCountPerInterval.
ULONG64 AbstractGridRepresentation::getRegridIntervalCount ( const char &  dimension) const

Only run this method for an ijk parent grid or a strict column layer parent grid. Get the count of intervals which are regridded on a particular dimension

Parameters
dimensionIt must be either 'i', 'j' ou 'k' (upper or lower case) for an ijk parent grid. 'k' for a strict column layer parent grid.
ULONG64 AbstractGridRepresentation::getRegridStartIndexOnParentGrid ( const char &  dimension) const

Only run this method for an ijk parent grid or a strict column layer parent grid. Get the first cell index of the regrid on a particular dimension.

Parameters
dimensionIt must be either 'i', 'j' ou 'k' (upper or lower case) for an ijk parent grid. 'k' for a strict column layer parent grid.
resqml2_0_1::AbstractStratigraphicOrganizationInterpretation * AbstractGridRepresentation::getStratigraphicOrganizationInterpretation ( ) const
Returns
nullptr if no stratigraphic organization interpretation is associated to this grid representation. Otherwise return the associated stratigraphic organization interpretation.
std::string AbstractGridRepresentation::getStratigraphicOrganizationInterpretationUuid ( ) const
virtual
Returns
empty string if no stratigraphic organization interpretation is associated to this grid representation. Otherwise return the uuid of the associated stratigraphic organization interpretation.

Reimplemented in resqml2::AbstractColumnLayerGridRepresentation.

ULONG64 AbstractGridRepresentation::getTruncatedCellCount ( ) const

Get the truncated cell count.

void AbstractGridRepresentation::getTruncatedCellIndices ( ULONG64 *  cellIndices) const

Get the the indices of the truncated cells in the non truncated grid.

ULONG64 AbstractGridRepresentation::getTruncatedFaceCount ( ) const

Get the truncation face count. It does not include face of truncated cells whch are not truncated.

void AbstractGridRepresentation::getTruncatedFaceCountPerTruncatedCell ( ULONG64 *  faceCountPerCell) const

Less efficient than getCumulativeTruncatedFaceCountPerTruncatedCell. Get the face count per cell. First value is the count of faces in the first cell. Second value is the count of faces in the second cell. etc...

Parameters
faceCountPerCellIt must be pre allocated with getTruncatedCellCount()
void AbstractGridRepresentation::getTruncatedFaceIndicesOfTruncatedCells ( ULONG64 *  faceIndices) const

Get 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(ULONG64 * faceIndices) in addition to this method in order to get the full list of face indices for a truncated cell.

Parameters
faceIndicesIt must be pre allocated with the last value returned by getCumulativeTruncatedFaceCountPerTruncatedCell()
void AbstractGridRepresentation::getTruncatedFaceIsRightHanded ( unsigned char *  cellFaceIsRightHanded) const

Retrieves orientation i.e. if each truncated face is right handed or not

Parameters
cellFaceIsRightHandedIt must be pre allocated with getTruncatedFaceCount()
bool AbstractGridRepresentation::hasCellStratigraphicUnitIndices ( ) const
Returns
true if this grid representation has got some association between stratigraphic unit indices and cell.
bool 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.

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

Only run this method for an ijk parent grid or a strict column layer parent grid.

Parameters
dimensionIt must be either 'i', 'j' ou 'k' (upper or lower case) for an ijk parent grid. 'k' for a strict column layer parent grid.
void AbstractGridRepresentation::importRelationshipSetFromEpc ( common::EpcDocument epcDoc)
protectedvirtual

Resolve all relationships of the object in an epc document

Reimplemented from resqml2::AbstractRepresentation.

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

Check if the cell count per interval is constant against a particular dimension. Only run this method for an ijk parent grid or a strict column layer parent grid.

Parameters
dimensionIt must be either 'i', 'j' ou 'k' (upper or lower case) for an ijk parent grid. 'k' for a strict column layer parent grid.
childVsParentCellCountIf true check if the child cell count per interval is constant. If false check if the parent cell count per interval is constant.
bool AbstractGridRepresentation::isTruncated ( ) const

Indicates wether this grid instance contains truncated pillars or not.

void AbstractGridRepresentation::setCellAssociationWithStratigraphicOrganizationInterpretation ( ULONG64 *  stratiUnitIndices,
const ULONG64 &  nullValue,
resqml2_0_1::AbstractStratigraphicOrganizationInterpretation stratiOrgInterp 
)

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

Parameters
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 strati unit is unavailable.
stratiOrgInterpThe stratigraphic organization interpretation which is associated to this grid representation.
void AbstractGridRepresentation::setCellOverlap ( const ULONG64 &  parentChildCellPairCount,
ULONG64 *  parentChildCellPair,
const gsoap_resqml2_0_1::eml__VolumeUom &  volumeUom = gsoap_resqml2_0_1::eml__VolumeUom__m3,
double *  overlapVolumes = nullptr 
)

Optional cell volume 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.

void AbstractGridRepresentation::setForcedNonRegridedParentCell ( ULONG64 *  cellIndices,
const ULONG64 &  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.

void AbstractGridRepresentation::setParentWindow ( ULONG64 *  cellIndices,
const ULONG64 &  cellIndexCount,
resqml2_0_1::UnstructuredGridRepresentation parentGrid 
)

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

void AbstractGridRepresentation::setParentWindow ( unsigned int *  columnIndices,
const unsigned int &  columnIndexCount,
const unsigned int &  kLayerIndexRegridStart,
unsigned int *  childCellCountPerInterval,
unsigned int *  parentCellCountPerInterval,
const unsigned int &  intervalCount,
class AbstractColumnLayerGridRepresentation parentGrid,
double *  childCellWeights = nullptr 
)

Indicates that this grid takes place into another Column Layer parent grid.

Parameters
columnIndicesIdentifies the columns (of the parent grid) which are regrided.
columnIndexCountIdentifies the coutn of columns (of the parent grid) which are regrided.
kLayerIndexRegridStartIdentifies the first kLayer of all above columns (of the parent grid) which is regrided.
childCellCountPerIntervalThe count of cells per interval in this (child) grid.
parentCellCountPerIntervalThe count of cells per interval in the parent grid.
intervalCountThe count of intervals. An interval is a portion of cells to regrid which is independant to other portion of cell. Intervals are the same for all the columns.
parentGridThe parent grid which is regridded.
childCellWeightsThe weights that are proportional to the relative sizes of child cells within each interval. The weights need not to be normalized. The count of double values must be equal to the count of all child cells per column (sum of child cells per interval).
void AbstractGridRepresentation::setParentWindow ( const unsigned int &  iCellIndexRegridStart,
unsigned int *  childCellCountPerIInterval,
unsigned int *  parentCellCountPerIInterval,
const unsigned int &  iIntervalCount,
const unsigned int &  jCellIndexRegridStart,
unsigned int *  childCellCountPerJInterval,
unsigned int *  parentCellCountPerJInterval,
const unsigned int &  jIntervalCount,
const unsigned int &  kCellIndexRegridStart,
unsigned int *  childCellCountPerKInterval,
unsigned int *  parentCellCountPerKInterval,
const unsigned int &  kIntervalCount,
resqml2_0_1::AbstractIjkGridRepresentation parentGrid,
double *  iChildCellWeights = nullptr,
double *  jChildCellWeights = nullptr,
double *  kChildCellWeights = nullptr 
)

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

Parameters
iCellIndexRegridStartIdentifies the first Cell by its i dimension of the regrid window.
childCellCountPerIIntervalThe count of cells per i interval in this (child) grid.
parentCellCountPerIIntervalThe count of cells per i interval in the parent grid.
iIntervalCountThe count of intervals on i dimension. An interval is a portion of cells to regrid which is independant to other portion of cell.
jCellIndexRegridStartIdentifies the first Cell by its j dimension of the regrid window.
childCellCountPerJIntervalThe count of cells per j interval in this (child) grid.
parentCellCountPerJIntervalThe count of cells per j interval in the parent grid.
jIntervalCountThe count of intervals on j dimension. An interval is a portion of cells to regrid which is independant to other portion of cell.
kCellIndexRegridStartIdentifies the first Cell by its k dimension of the regrid window.
childCellCountPerKIntervalThe count of cells per k interval in this (child) grid.
parentCellCountPerKIntervalThe count of cells per k interval in the parent grid.
kIntervalCountThe count of intervals on k dimension. An interval is a portion of cells to regrid which is independant to other portion of cell.
parentGridThe parent grid which is regridded.
iChildCellWeightsThe weights that are proportional to the relative i sizes of child cells within each i interval. 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).
jChildCellWeightsThe weights that are proportional to the relative j sizes of child cells within each j interval. 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).
kChildCellWeightsThe weights that are proportional to the relative k sizes of child cells within each k interval. 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).
void AbstractGridRepresentation::setParentWindow ( const unsigned int &  iCellIndexRegridStart,
unsigned int  constantChildCellCountPerIInterval,
unsigned int  constantParentCellCountPerIInterval,
const unsigned int &  iIntervalCount,
const unsigned int &  jCellIndexRegridStart,
unsigned int  constantChildCellCountPerJInterval,
unsigned int  constantParentCellCountPerJInterval,
const unsigned int &  jIntervalCount,
const unsigned int &  kCellIndexRegridStart,
unsigned int  constantChildCellCountPerKInterval,
unsigned int  constantParentCellCountPerKInterval,
const unsigned int &  kIntervalCount,
resqml2_0_1::AbstractIjkGridRepresentation parentGrid,
double *  iChildCellWeights = nullptr,
double *  jChildCellWeights = nullptr,
double *  kChildCellWeights = nullptr 
)

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

Parameters
iCellIndexRegridStartIdentifies the first Cell by its i dimension of the regrid window.
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. An interval is a portion of cells to regrid which is independant to other portion of cell.
jCellIndexRegridStartIdentifies the first Cell by its j dimension of the regrid window.
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. An interval is a portion of cells to regrid which is independant to other portion of cell.
kCellIndexRegridStartIdentifies the first Cell by its k dimension of the regrid window.
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. An interval is a portion of cells to regrid which is independant to other portion of cell.
parentGridThe parent grid which is regridded.
iChildCellWeightsThe weights that are proportional to the relative i sizes of child cells within each i interval. 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).
jChildCellWeightsThe weights that are proportional to the relative j sizes of child cells within each j interval. 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).
kChildCellWeightsThe weights that are proportional to the relative k sizes of child cells within each k interval. 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).
void AbstractGridRepresentation::setParentWindow ( const unsigned int &  iCellIndexRegridStart,
unsigned int  iChildCellCount,
unsigned int  iParentCellCount,
const unsigned int &  jCellIndexRegridStart,
unsigned int  jChildCellCount,
unsigned int  jParentCellCount,
const unsigned int &  kCellIndexRegridStart,
unsigned int  kChildCellCount,
unsigned int  kParentCellCount,
resqml2_0_1::AbstractIjkGridRepresentation parentGrid,
double *  iChildCellWeights = nullptr,
double *  jChildCellWeights = nullptr,
double *  kChildCellWeights = nullptr 
)

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

Parameters
iCellIndexRegridStartIdentifies the first Cell by its i dimension of the regrid window.
iChildCellCountThe count of cells per i interval in this (child) grid.
iParentCellCountThe count of cells per i interval in the parent grid.
jCellIndexRegridStartIdentifies the first Cell by its j dimension of the regrid window.
jChildCellCountThe count of cells per j interval in this (child) grid.
jParentCellCountThe count of cells per j interval in the parent grid.
kCellIndexRegridStartIdentifies the first Cell by its k dimension of the regrid window.
kChildCellCountThe count of cells per k interval in this (child) grid.
kParentCellCountThe count of cells per k interval in the parent grid.
parentGridThe parent grid which is regridded.
iChildCellWeightsThe weights that are proportional to the relative i sizes of child cells. The weights need not to be normalized. The count of double values must be equal to iChildCellCount.
jChildCellWeightsThe weights that are proportional to the relative j sizes of child cells. The weights need not to be normalized. The count of double values must be equal to jChildCellCount.
kChildCellWeightsThe weights that are proportional to the relative k sizes of child cells. The weights need not to be normalized. The count of double values must be equal to kChildCellCount.

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