Fesapi 2.3.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
GridConnectionSetRepresentation.h
1/*-----------------------------------------------------------------------
2Licensed to the Apache Software Foundation (ASF) under one
3or more contributor license agreements. See the NOTICE file
4distributed with this work for additional information
5regarding copyright ownership. The ASF licenses this file
6to you under the Apache License, Version 2.0 (the
7"License"; you may not use this file except in compliance
8with the License. You may obtain a copy of the License at
9
10 http://www.apache.org/licenses/LICENSE-2.0
11
12Unless required by applicable law or agreed to in writing,
13software distributed under the License is distributed on an
14"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15KIND, either express or implied. See the License for the
16specific language governing permissions and limitations
17under the License.
18-----------------------------------------------------------------------*/
19#pragma once
20
21#include <limits>
22
23#include "AbstractRepresentation.h"
24
25namespace RESQML2_NS
26{
51 {
52 public:
53
56
62 DLL_IMPORT_OR_EXPORT virtual uint64_t getCellIndexPairCount() const = 0;
63
76 DLL_IMPORT_OR_EXPORT virtual int64_t getCellIndexPairs(int64_t * cellIndexPairs) const = 0;
77
95 DLL_IMPORT_OR_EXPORT virtual uint64_t getCellIndexPairCountFromInterpretationIndex(int interpretationIndex) const = 0;
96
102 DLL_IMPORT_OR_EXPORT virtual bool isAssociatedToInterpretations() const = 0;
103
118 DLL_IMPORT_OR_EXPORT virtual void getInterpretationIndexCumulativeCount(unsigned int * cumulativeCount) const = 0;
119
133 DLL_IMPORT_OR_EXPORT virtual void getInterpretationIndices(unsigned int * interpretationIndices) const = 0;
134
145 DLL_IMPORT_OR_EXPORT virtual int64_t getInterpretationIndexNullValue() const = 0;
146
170 DLL_IMPORT_OR_EXPORT virtual void getGridConnectionSetInformationFromInterpretationIndex(int64_t * cellIndexPairs, unsigned short * gridIndexPairs, int * localFaceIndexPairs, int interpretationIndex) const = 0;
171
187 DLL_IMPORT_OR_EXPORT std::string getInterpretationUuidFromIndex(unsigned int interpretationIndex) const {
188 return getInterpretationDorFromIndex(interpretationIndex).getUuid();
189 }
190
206 DLL_IMPORT_OR_EXPORT virtual COMMON_NS::DataObjectReference getInterpretationDorFromIndex(unsigned int interpretationIndex) const = 0;
207
223 DLL_IMPORT_OR_EXPORT class AbstractFeatureInterpretation* getInterpretationFromIndex(unsigned int interpretationIndex) const;
224
233 DLL_IMPORT_OR_EXPORT virtual unsigned int getInterpretationCount() const = 0;
234
241 DLL_IMPORT_OR_EXPORT virtual bool hasLocalFacePerCell() const = 0;
242
259 DLL_IMPORT_OR_EXPORT virtual int64_t getLocalFacePerCellIndexPairs(int * localFacePerCellIndexPairs) const = 0;
260
266 DLL_IMPORT_OR_EXPORT virtual bool isBasedOnMultiGrids() const = 0;
267
281 DLL_IMPORT_OR_EXPORT virtual void getGridIndexPairs(unsigned short * gridIndexPairs) const = 0;
282
312 DLL_IMPORT_OR_EXPORT virtual void setCellIndexPairsUsingExistingDataset(uint64_t cellIndexPairCount, const std::string & cellIndexPair, int64_t cellIndexPairNullValue, EML2_NS::AbstractHdfProxy * proxy = nullptr, int64_t gridIndexPairNullValue = -1, const std::string & gridIndexPair = "") = 0;
313
341 DLL_IMPORT_OR_EXPORT void setCellIndexPairs(uint64_t cellIndexPairCount, int64_t const* cellIndexPair, int64_t cellIndexPairNullValue = -1, EML2_NS::AbstractHdfProxy * proxy = nullptr, uint16_t gridIndexPairNullValue = (std::numeric_limits<uint16_t>::max)(), uint16_t const* gridIndexPair = nullptr);
342
363 DLL_IMPORT_OR_EXPORT virtual void setLocalFacePerCellIndexPairsUsingExistingDataset(const std::string & localFacePerCellIndexPair, int64_t nullValue, EML2_NS::AbstractHdfProxy * proxy) = 0;
364
386 DLL_IMPORT_OR_EXPORT void setLocalFacePerCellIndexPairs(uint64_t cellIndexPairCount, int const* localFacePerCellIndexPair, int nullValue, EML2_NS::AbstractHdfProxy * proxy);
387
403 DLL_IMPORT_OR_EXPORT virtual void setConnectionInterpretationIndices(unsigned int const* cumulativeInterpCount, unsigned int const* interpIndices, EML2_NS::AbstractHdfProxy * proxy) = 0;
404
412 DLL_IMPORT_OR_EXPORT void pushBackInterpretation(class AbstractFeatureInterpretation* interp);
413
422 DLL_IMPORT_OR_EXPORT void pushBackSupportingGridRepresentation(class AbstractGridRepresentation * supportingGridRep);
423
432 DLL_IMPORT_OR_EXPORT virtual unsigned int getSupportingGridRepresentationCount() const = 0;
433
444 DLL_IMPORT_OR_EXPORT class AbstractGridRepresentation* getSupportingGridRepresentation(unsigned int index) const;
445
456 DLL_IMPORT_OR_EXPORT virtual COMMON_NS::DataObjectReference getSupportingGridRepresentationDor(unsigned int index) const = 0;
457
459 DLL_IMPORT_OR_EXPORT uint64_t getXyzPointCountOfPatch(unsigned int patchIndex) const override;
460
462 DLL_IMPORT_OR_EXPORT void getXyzPointsOfPatch(unsigned int patchIndex, double * xyzPoints) const override;
463
464 DLL_IMPORT_OR_EXPORT unsigned int getPatchCount() const override {return 1;}
465
467 DLL_IMPORT_OR_EXPORT static const char* XML_TAG;
468
469 DLL_IMPORT_OR_EXPORT virtual std::string getXmlTag() const override { return XML_TAG; }
470
471 protected:
472
480 DLL_IMPORT_OR_EXPORT GridConnectionSetRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) :
481 AbstractRepresentation(partialObject) {}
482
484 GridConnectionSetRepresentation() {}
485
491 GridConnectionSetRepresentation(gsoap_resqml2_0_1::_resqml20__GridConnectionSetRepresentation* fromGsoap) : AbstractRepresentation(fromGsoap) {}
492
498 GridConnectionSetRepresentation(gsoap_eml2_3::_resqml22__GridConnectionSetRepresentation* fromGsoap) : AbstractRepresentation(fromGsoap) {}
499
505 virtual void pushBackXmlInterpretation(class AbstractFeatureInterpretation* interp) = 0;
506
512 virtual void pushBackXmlSupportingGridRepresentation(class AbstractGridRepresentation * supportingGridRep) = 0;
513
515 void loadTargetRelationships() final;
516 };
517}
Proxy class for an abstract feature interpretation.
Definition: AbstractFeatureInterpretation.h:29
Proxy class for an abstract grid representation.
Definition: AbstractGridRepresentation.h:27
Proxy class for an abstract representation.
Definition: AbstractRepresentation.h:32
Proxy class for a grid connection set representation. This representation consists of a list of conne...
Definition: GridConnectionSetRepresentation.h:51
static const char * XML_TAG
Definition: GridConnectionSetRepresentation.h:467
virtual bool isBasedOnMultiGrids() const =0
virtual void getInterpretationIndexCumulativeCount(unsigned int *cumulativeCount) const =0
virtual ~GridConnectionSetRepresentation()=default
unsigned int getPatchCount() const override
Definition: GridConnectionSetRepresentation.h:464
virtual unsigned int getInterpretationCount() const =0
virtual void getGridConnectionSetInformationFromInterpretationIndex(int64_t *cellIndexPairs, unsigned short *gridIndexPairs, int *localFaceIndexPairs, int interpretationIndex) const =0
virtual std::string getXmlTag() const override
Definition: GridConnectionSetRepresentation.h:469
virtual uint64_t getCellIndexPairCountFromInterpretationIndex(int interpretationIndex) const =0
Gets the count of cell index pairs which correspond to a particular interpretation or to no interpret...
virtual void setCellIndexPairsUsingExistingDataset(uint64_t cellIndexPairCount, const std::string &cellIndexPair, int64_t cellIndexPairNullValue, eml2::AbstractHdfProxy *proxy=nullptr, int64_t gridIndexPairNullValue=-1, const std::string &gridIndexPair="")=0
virtual int64_t getLocalFacePerCellIndexPairs(int *localFacePerCellIndexPairs) const =0
virtual common::DataObjectReference getSupportingGridRepresentationDor(unsigned int index) const =0
uint64_t getXyzPointCountOfPatch(unsigned int patchIndex) const override
std::string getInterpretationUuidFromIndex(unsigned int interpretationIndex) const
Definition: GridConnectionSetRepresentation.h:187
virtual int64_t getCellIndexPairs(int64_t *cellIndexPairs) const =0
virtual unsigned int getSupportingGridRepresentationCount() const =0
virtual void getGridIndexPairs(unsigned short *gridIndexPairs) const =0
virtual bool isAssociatedToInterpretations() const =0
void setCellIndexPairs(uint64_t cellIndexPairCount, int64_t const *cellIndexPair, int64_t cellIndexPairNullValue=-1, eml2::AbstractHdfProxy *proxy=nullptr, uint16_t gridIndexPairNullValue=(std::numeric_limits< uint16_t >::max)(), uint16_t const *gridIndexPair=nullptr)
Sets the cell index pairs of this grid connection set representation. If this instance is supported b...
class AbstractGridRepresentation * getSupportingGridRepresentation(unsigned int index) const
void pushBackSupportingGridRepresentation(class AbstractGridRepresentation *supportingGridRep)
virtual void setLocalFacePerCellIndexPairsUsingExistingDataset(const std::string &localFacePerCellIndexPair, int64_t nullValue, eml2::AbstractHdfProxy *proxy)=0
Sets the local face per cell index pairs of this grid connection set representation....
virtual int64_t getInterpretationIndexNullValue() const =0
virtual common::DataObjectReference getInterpretationDorFromIndex(unsigned int interpretationIndex) const =0
void pushBackInterpretation(class AbstractFeatureInterpretation *interp)
class AbstractFeatureInterpretation * getInterpretationFromIndex(unsigned int interpretationIndex) const
void getXyzPointsOfPatch(unsigned int patchIndex, double *xyzPoints) const override
virtual void getInterpretationIndices(unsigned int *interpretationIndices) const =0
void setLocalFacePerCellIndexPairs(uint64_t cellIndexPairCount, int const *localFacePerCellIndexPair, int nullValue, eml2::AbstractHdfProxy *proxy)
Sets the local face per cell index pairs of this grid connection set representation....
virtual uint64_t getCellIndexPairCount() const =0
virtual void setConnectionInterpretationIndices(unsigned int const *cumulativeInterpCount, unsigned int const *interpIndices, eml2::AbstractHdfProxy *proxy)=0
virtual bool hasLocalFacePerCell() const =0