My Project
Public Member Functions | Static Public Attributes | List of all members
resqml2_0_1::UnstructuredGridRepresentation Class Reference
Inheritance diagram for resqml2_0_1::UnstructuredGridRepresentation:
resqml2::AbstractGridRepresentation resqml2::AbstractRepresentation resqml2::AbstractObject

Public Member Functions

 UnstructuredGridRepresentation (gsoap_resqml2_0_1::eml__DataObjectReference *partialObject)
 
 UnstructuredGridRepresentation (soap *soapContext, resqml2::AbstractLocal3dCrs *crs, const std::string &guid, const std::string &title, const ULONG64 &cellCount)
 
 UnstructuredGridRepresentation (resqml2::AbstractFeatureInterpretation *interp, resqml2::AbstractLocal3dCrs *crs, const std::string &guid, const std::string &title, const ULONG64 &cellCount)
 
 UnstructuredGridRepresentation (gsoap_resqml2_0_1::_resqml2__UnstructuredGridRepresentation *fromGsoap)
 
virtual ~UnstructuredGridRepresentation ()
 
bool hasGeometry () const
 
std::string getHdfProxyUuid () const
 
ULONG64 getXyzPointCountOfPatch (const unsigned int &patchIndex) const
 
void getXyzPointsOfPatch (const unsigned int &patchIndex, double *xyzPoints) const
 
void getFaceIndicesOfCells (ULONG64 *faceIndices) const
 
void getCumulativeFaceCountPerCell (ULONG64 *cumulativeFaceCountPerCell) const
 
void getFaceCountPerCell (ULONG64 *faceCountPerCell) const
 
bool isFaceCountOfCellsConstant () const
 
unsigned int getConstantFaceCountOfCells () const
 
void getNodeIndicesOfFaces (ULONG64 *nodeIndices) const
 
void getCumulativeNodeCountPerFace (ULONG64 *nodeCountPerFace) const
 
void getNodeCountPerFace (ULONG64 *nodeCountPerFace) const
 
bool isNodeCountOfFacesConstant () const
 
unsigned int getConstantNodeCountOfFaces () const
 
void loadGeometry ()
 
void unloadGeometry ()
 
unsigned int getFaceCountOfCell (const ULONG64 &cellIndex) const
 
unsigned int getNodeCountOfFaceOfCell (const ULONG64 &cellIndex, const unsigned int &localFaceIndex) const
 
ULONG64 * getNodeIndicesOfFaceOfCell (const ULONG64 &cellIndex, const unsigned int &localFaceIndex) const
 
ULONG64 getCellCount () const
 
ULONG64 getFaceCount () const
 
ULONG64 getNodeCount () const
 
void getCellFaceIsRightHanded (unsigned char *cellFaceIsRightHanded) const
 
void setGeometryUsingExistingDatasets (const std::string &cellFaceIsRightHanded, const std::string &points, ULONG64 pointCount, resqml2::AbstractHdfProxy *proxy, const std::string &faceIndicesPerCell, const std::string &faceIndicesCumulativeCountPerCell, ULONG64 faceCount, const std::string &nodeIndicesPerFace, const std::string &nodeIndicesCumulativeCountPerFace, const gsoap_resqml2_0_1::resqml2__CellShape &cellShape)
 
void setGeometry (unsigned char *cellFaceIsRightHanded, double *points, ULONG64 pointCount, resqml2::AbstractHdfProxy *proxy, ULONG64 *faceIndicesPerCell, ULONG64 *faceIndicesCumulativeCountPerCell, ULONG64 faceCount, ULONG64 *nodeIndicesPerFace, ULONG64 *nodeIndicesCumulativeCountPerFace, const gsoap_resqml2_0_1::resqml2__CellShape &cellShape)
 
void setTetrahedraOnlyGeometryUsingExistingDatasets (const std::string &cellFaceIsRightHanded, const std::string &points, ULONG64 pointCount, ULONG64 faceCount, resqml2::AbstractHdfProxy *proxy, const std::string &faceIndicesPerCell, const std::string &nodeIndicesPerFace)
 
void setTetrahedraOnlyGeometry (unsigned char *cellFaceIsRightHanded, double *points, ULONG64 pointCount, ULONG64 faceCount, resqml2::AbstractHdfProxy *proxy, ULONG64 *faceIndicesPerCell, ULONG64 *nodeIndicesPerFace)
 
void setHexahedraOnlyGeometryUsingExistingDatasets (const std::string &cellFaceIsRightHanded, const std::string &points, ULONG64 pointCount, ULONG64 faceCount, resqml2::AbstractHdfProxy *proxy, const std::string &faceIndicesPerCell, const std::string &nodeIndicesPerFace)
 
void setHexahedraOnlyGeometry (unsigned char *cellFaceIsRightHanded, double *points, ULONG64 pointCount, ULONG64 faceCount, resqml2::AbstractHdfProxy *proxy, ULONG64 *faceIndicesPerCell, ULONG64 *nodeIndicesPerFace)
 
virtual std::string getXmlTag () const
 
unsigned int getPatchCount () const
 
- Public Member Functions inherited from resqml2::AbstractGridRepresentation
virtual ~AbstractGridRepresentation ()
 
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
 
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
 
ULONG64 getXyzPointCountOfAllPatches () const
 
void getXyzPointsOfPatchInGlobalCrs (const unsigned int &patchIndex, double *xyzPoints) const
 
void getXyzPointsOfAllPatches (double *xyzPoints) const
 
void getXyzPointsOfAllPatchesInGlobalCrs (double *xyzPoints) const
 
AbstractRepresentationgetSeismicSupportOfPatch (const unsigned int &patchIndex)
 
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 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 = "UnstructuredGridRepresentation"
 
- Static Public Attributes inherited from resqml2::AbstractGridRepresentation
static const char * XML_TAG = "AbstractGridRepresentation"
 
- Static Public Attributes inherited from resqml2::AbstractRepresentation
static const char * XML_TAG = "AbstractRepresentation"
 

Additional Inherited Members

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

Constructor & Destructor Documentation

resqml2_0_1::UnstructuredGridRepresentation::UnstructuredGridRepresentation ( gsoap_resqml2_0_1::eml__DataObjectReference *  partialObject)
inline

Only to be used in partial transfer context

UnstructuredGridRepresentation::UnstructuredGridRepresentation ( soap *  soapContext,
resqml2::AbstractLocal3dCrs crs,
const std::string &  guid,
const std::string &  title,
const ULONG64 &  cellCount 
)
Parameters
soapContextThe soap context where the underlying gsoap proxy is going to be created.
resqml2_0_1::UnstructuredGridRepresentation::UnstructuredGridRepresentation ( gsoap_resqml2_0_1::_resqml2__UnstructuredGridRepresentation *  fromGsoap)
inline

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

virtual resqml2_0_1::UnstructuredGridRepresentation::~UnstructuredGridRepresentation ( )
inlinevirtual

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

Member Function Documentation

ULONG64 UnstructuredGridRepresentation::getCellCount ( ) const
virtual

Get the cell count

Implements resqml2::AbstractGridRepresentation.

void UnstructuredGridRepresentation::getCellFaceIsRightHanded ( unsigned char *  cellFaceIsRightHanded) const

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

void UnstructuredGridRepresentation::getCumulativeFaceCountPerCell ( ULONG64 *  cumulativeFaceCountPerCell) const

Get the cumulative face count per 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 getCellCount()
void UnstructuredGridRepresentation::getCumulativeNodeCountPerFace ( ULONG64 *  nodeCountPerFace) const

Get the cumulative node count per 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 getFaceCount() A single node count should be at least 3.

Parameters
nodeCountPerFaceIt must be pre allocated with getFaceCount() == last value of getCumulativeFaceCountOfCells()
ULONG64 UnstructuredGridRepresentation::getFaceCount ( ) const

Get the face count

unsigned int UnstructuredGridRepresentation::getFaceCountOfCell ( const ULONG64 &  cellIndex) const

This method requires your have already loaded the geometry.

Returns
The count of faces in a particular cell.
void UnstructuredGridRepresentation::getFaceCountPerCell ( ULONG64 *  faceCountPerCell) const

Less efficient than getCumulativeFaceCountOfCells. 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 getCellCount()
void UnstructuredGridRepresentation::getFaceIndicesOfCells ( ULONG64 *  faceIndices) const

Get all the face indices of all the cells.

Parameters
faceIndicesIt must be pre allocated with the last value returned by getCumulativeFaceCountOfCells()
ULONG64 UnstructuredGridRepresentation::getNodeCount ( ) const

Get the node count

unsigned int UnstructuredGridRepresentation::getNodeCountOfFaceOfCell ( const ULONG64 &  cellIndex,
const unsigned int &  localFaceIndex 
) const

This method requires your have already loaded the geometry.

Returns
The count of nodes in a particular face of a particular cell.
void UnstructuredGridRepresentation::getNodeCountPerFace ( ULONG64 *  nodeCountPerFace) const

Less efficient than getCumulativeNodeCountPerFace. Get the node count per 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 getFaceCount() == last value of getCumulativeFaceCountOfCells()
ULONG64 * UnstructuredGridRepresentation::getNodeIndicesOfFaceOfCell ( const ULONG64 &  cellIndex,
const unsigned int &  localFaceIndex 
) const

This method requires your have already loaded the geometry. It gets all the node indices of a particular face of a particular cell

void UnstructuredGridRepresentation::getNodeIndicesOfFaces ( ULONG64 *  nodeIndices) const

Get all the node indices of all the faces.

Parameters
nodeIndicesIt must be pre allocated with the last value returned by getCumulativeNodeCountOfFaces().
virtual std::string resqml2_0_1::UnstructuredGridRepresentation::getXmlTag ( ) const
inlinevirtual

Get the XML tag for the XML serialization of this instance

Implements resqml2::AbstractObject.

ULONG64 UnstructuredGridRepresentation::getXyzPointCountOfPatch ( const unsigned int &  patchIndex) const
virtual

Get the xyz point count in a given patch.

Implements resqml2::AbstractRepresentation.

void UnstructuredGridRepresentation::getXyzPointsOfPatch ( const unsigned int &  patchIndex,
double *  xyzPoints 
) const
virtual

Get all the XYZ points of a particular patch of this representation. XYZ points are given in the local CRS.

Parameters
xyzPointsA linearized 2d array where the first (quickest) dimension is coordinate dimension (XYZ) and second dimension is vertex dimension. It must be pre allocated.

Implements resqml2::AbstractRepresentation.

bool UnstructuredGridRepresentation::hasGeometry ( ) const

Indicates wether the grid has a geometry or not.

bool UnstructuredGridRepresentation::isFaceCountOfCellsConstant ( ) const

Detect if the face count per cell is constant in the grid.

bool UnstructuredGridRepresentation::isNodeCountOfFacesConstant ( ) const

Detect if the node count per face is constant in the grid.

void UnstructuredGridRepresentation::loadGeometry ( )

Load the geoemtry into memory in order to ease access. Be aware that you must unload by yourself this memory.

void UnstructuredGridRepresentation::setGeometry ( unsigned char *  cellFaceIsRightHanded,
double *  points,
ULONG64  pointCount,
resqml2::AbstractHdfProxy proxy,
ULONG64 *  faceIndicesPerCell,
ULONG64 *  faceIndicesCumulativeCountPerCell,
ULONG64  faceCount,
ULONG64 *  nodeIndicesPerFace,
ULONG64 *  nodeIndicesCumulativeCountPerFace,
const gsoap_resqml2_0_1::resqml2__CellShape &  cellShape 
)

Set the geometry and creates corresponding HDF5 datasets.

Parameters
isRightHandedBoolean mask used to indicate which cell faces have an outwardly directed normal following a right hand rule. Array length is the sum of the cell face count per cell, and the data follows the order of the faces per cell RESQMLlist-of-lists.
pointsAll the XYZ points defining the nodes of the unstructured grid. There must a double count of pointCount * 3.
pointCountThe count of points defining the nodes of this unstructured grid.
proxyThe hdf proxy which will store all the numerical values of this unstructured grid.
faceIndicesPerCellEach item defines the index of the face of a cell. There must be a count of the last value in faceIndicesCumulativeCountPerCell.
faceIndicesCumulativeCountPerCellEach item defines the cumulative count of faces. The count of this array must be equal to the count of cells in this unstructured grid. For example if the first cell a 4 faces, the second cell 5 faces and the third cell 6 faces then the array would be {4, 9, 15}
faceCountThe count of faces in this unstructured grid. Be aware this count does not duplicate shared faces. Most of time, you have less faceCount than the last value of faceIndicesCumulativeCountPerCell which is the count of faces per cell.
nodeIndicesPerFaceEach item defines the index of the node of a face. There must be a count of the last value in nodeIndicesCumulativeCountPerFace.
nodeIndicesCumulativeCountPerFaceEach item defines the cumulative count of nodes. The count of this array must be eqaul to faceCount.
cellShapeA denormalization of the information which gives quick access to the most complex shape of polyhedron encountered in this unstructured grid.
void UnstructuredGridRepresentation::setGeometryUsingExistingDatasets ( const std::string &  cellFaceIsRightHanded,
const std::string &  points,
ULONG64  pointCount,
resqml2::AbstractHdfProxy proxy,
const std::string &  faceIndicesPerCell,
const std::string &  faceIndicesCumulativeCountPerCell,
ULONG64  faceCount,
const std::string &  nodeIndicesPerFace,
const std::string &  nodeIndicesCumulativeCountPerFace,
const gsoap_resqml2_0_1::resqml2__CellShape &  cellShape 
)

Set the geometry using some existing hdf5 dataset

Parameters
isRightHandedThe path to the hdf5 dataset in the hdf proxy where a boolean mask is used to indicate which cell faces have an outwardly directed normal following a right hand rule. Array length is the sum of the cell face count per cell, and the data follows the order of the faces per cell RESQMLlist-of-lists.
pointsThe path to the hdf5 dataset in the hdf proxy where all the XYZ points defining the nodes of the unstructured grid are defined. There must a double count of pointCount * 3.
pointCountThe count of points defining the nodes of this unstructured grid.
proxyThe hdf proxy which contains the datasets given inthis method by means of path.
faceIndicesPerCellThe path to the hdf5 dataset in the hdf proxy where each item defines the index of the face of a cell. There must be a count of the last value in faceIndicesCumulativeCountPerCell.
faceIndicesCumulativeCountPerCellThe path to the hdf5 dataset in the hdf proxy where each item defines the cumulative count of faces. The count of this array must be equal to the count of cells in this unstructured grid. For example if the first cell a 4 faces, the second cell 5 faces and the third cell 6 faces then the array would be {4, 9, 15}
faceCountThe count of faces in this unstructured grid. Be aware this count does not duplicate shared faces. Most of time, you have less faceCount than the last value of faceIndicesCumulativeCountPerCell which is the count of faces per cell.
nodeIndicesPerFaceThe path to the hdf5 dataset in the hdf proxy where each item defines the index of the node of a face. There must be a count of the last value in nodeIndicesCumulativeCountPerFace.
nodeIndicesCumulativeCountPerFaceThe path to the hdf5 dataset in the hdf proxy where each item defines the cumulative count of nodes. The count of this array must be eqaul to faceCount.
cellShapeA denormalization of the information which gives quick access to the most complex shape of polyhedron encountered in this unstructured grid.
void UnstructuredGridRepresentation::setHexahedraOnlyGeometry ( unsigned char *  cellFaceIsRightHanded,
double *  points,
ULONG64  pointCount,
ULONG64  faceCount,
resqml2::AbstractHdfProxy proxy,
ULONG64 *  faceIndicesPerCell,
ULONG64 *  nodeIndicesPerFace 
)

Set a geometry which is only defined by means of tetrahedra and creates corresponding HDF5 datasets. This geometry only contains hexahedra.

Parameters
isRightHandedBoolean mask used to indicate which cell faces have an outwardly directed normal following a right hand rule. Array length is the sum of the cell face count per cell, and the data follows the order of the faces per cell RESQMLlist-of-lists.
pointsAll the XYZ points defining the nodes of the unstructured grid. There must a double count of pointCount * 3.
pointCountThe count of points defining the nodes of this unstructured grid.
faceCountThe count of faces in this unstructured grid. Be aware this count does not duplicate shared faces. Most of time, you have less faceCount than the last value of faceIndicesCumulativeCountPerCell which is the count of faces per cell.
proxyThe hdf proxy which contains the datasets given inthis method by means of path.
faceIndicesPerCellEach item defines the index of the face of a cell. There must be a count of faceCountPerCell * cellCount.
nodeIndicesPerFaceEach item defines the index of the node of a face. There must be a count of nodeCountPerFace * faceCount.
void UnstructuredGridRepresentation::setHexahedraOnlyGeometryUsingExistingDatasets ( const std::string &  cellFaceIsRightHanded,
const std::string &  points,
ULONG64  pointCount,
ULONG64  faceCount,
resqml2::AbstractHdfProxy proxy,
const std::string &  faceIndicesPerCell,
const std::string &  nodeIndicesPerFace 
)

Set a geometry which is only defined by means of tetrahedra using some existing hdf5 dataset. This geometry only contains hexahedra.

Parameters
isRightHandedThe path to the hdf5 dataset in the hdf proxy where a boolean mask is used to indicate which cell faces have an outwardly directed normal following a right hand rule. Array length is the sum of the cell face count per cell, and the data follows the order of the faces per cell RESQMLlist-of-lists.
pointsThe path to the hdf5 dataset in the hdf proxy where all the XYZ points defining the nodes of the unstructured grid are defined. There must a double count of pointCount * 3.
pointCountThe count of points defining the nodes of this unstructured grid.
faceCountThe count of faces in this unstructured grid. Be aware this count does not duplicate shared faces. Most of time, you have less faceCount than the last value of faceIndicesCumulativeCountPerCell which is the count of faces per cell.
proxyThe hdf proxy which contains the datasets given inthis method by means of path.
faceIndicesPerCellThe path to the hdf5 dataset in the hdf proxy where each item defines the index of the face of a cell. There must be a count of faceCountPerCell * cellCount.
nodeIndicesPerFaceThe path to the hdf5 dataset in the hdf proxy where each item defines the index of the node of a face. There must be a count of nodeCountPerFace * faceCount.
void UnstructuredGridRepresentation::setTetrahedraOnlyGeometry ( unsigned char *  cellFaceIsRightHanded,
double *  points,
ULONG64  pointCount,
ULONG64  faceCount,
resqml2::AbstractHdfProxy proxy,
ULONG64 *  faceIndicesPerCell,
ULONG64 *  nodeIndicesPerFace 
)

Set a geometry which is only defined by means of tetrahedra and creates corresponding HDF5 datasets. This geometry only contains tetrahedra.

Parameters
isRightHandedBoolean mask used to indicate which cell faces have an outwardly directed normal following a right hand rule. Array length is the sum of the cell face count per cell, and the data follows the order of the faces per cell RESQMLlist-of-lists.
pointsAll the XYZ points defining the nodes of the unstructured grid. There must a double count of pointCount * 3.
pointCountThe count of points defining the nodes of this unstructured grid.
faceCountThe count of faces in this unstructured grid. Be aware this count does not duplicate shared faces. Most of time, you have less faceCount than the last value of faceIndicesCumulativeCountPerCell which is the count of faces per cell.
proxyThe hdf proxy which contains the datasets given inthis method by means of path.
faceIndicesPerCellEach item defines the index of the face of a cell. There must be a count of faceCountPerCell * cellCount.
nodeIndicesPerFaceEach item defines the index of the node of a face. There must be a count of nodeCountPerFace * faceCount.
void UnstructuredGridRepresentation::setTetrahedraOnlyGeometryUsingExistingDatasets ( const std::string &  cellFaceIsRightHanded,
const std::string &  points,
ULONG64  pointCount,
ULONG64  faceCount,
resqml2::AbstractHdfProxy proxy,
const std::string &  faceIndicesPerCell,
const std::string &  nodeIndicesPerFace 
)

Set a geometry which is only defined by means of tetrahedra using some existing hdf5 dataset. This geometry only contains tetrahedra.

Parameters
isRightHandedThe path to the hdf5 dataset in the hdf proxy where a boolean mask is used to indicate which cell faces have an outwardly directed normal following a right hand rule. Array length is the sum of the cell face count per cell, and the data follows the order of the faces per cell RESQMLlist-of-lists.
pointsThe path to the hdf5 dataset in the hdf proxy where all the XYZ points defining the nodes of the unstructured grid are defined. There must a double count of pointCount * 3.
pointCountThe count of points defining the nodes of this unstructured grid.
faceCountThe count of faces in this unstructured grid. Be aware this count does not duplicate shared faces. Most of time, you have less faceCount than the last value of faceIndicesCumulativeCountPerCell which is the count of faces per cell.
proxyThe hdf proxy which contains the datasets given inthis method by means of path.
faceIndicesPerCellThe path to the hdf5 dataset in the hdf proxy where each item defines the index of the face of a cell. There must be a count of faceCountPerCell * cellCount.
nodeIndicesPerFaceThe path to the hdf5 dataset in the hdf proxy where each item defines the index of the node of a face. There must be a count of nodeCountPerFace * faceCount.
void UnstructuredGridRepresentation::unloadGeometry ( )

Unload the split information from memory.


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