Fesapi  2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
GridConnectionSetRepresentation.h
1 /*-----------------------------------------------------------------------
2 Licensed to the Apache Software Foundation (ASF) under one
3 or more contributor license agreements. See the NOTICE file
4 distributed with this work for additional information
5 regarding copyright ownership. The ASF licenses this file
6 to you under the Apache License, Version 2.0 (the
7 "License"; you may not use this file except in compliance
8 with the License. You may obtain a copy of the License at
9 
10  http://www.apache.org/licenses/LICENSE-2.0
11 
12 Unless required by applicable law or agreed to in writing,
13 software distributed under the License is distributed on an
14 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 KIND, either express or implied. See the License for the
16 specific language governing permissions and limitations
17 under the License.
18 -----------------------------------------------------------------------*/
19 #pragma once
20 
21 #include <limits>
22 
23 #include "AbstractRepresentation.h"
24 
25 namespace RESQML2_NS
26 {
51  {
52  public:
53 
55  virtual ~GridConnectionSetRepresentation() = default;
56 
62  DLL_IMPORT_OR_EXPORT virtual uint64_t getCellIndexPairCount() const = 0;
63 
76  DLL_IMPORT_OR_EXPORT virtual uint64_t getCellIndexPairs(uint64_t * cellIndexPairs) const = 0;
77 
96  DLL_IMPORT_OR_EXPORT virtual unsigned int getCellIndexPairCountFromInterpretationIndex(unsigned int interpretationIndex) const = 0;
97 
103  DLL_IMPORT_OR_EXPORT virtual bool isAssociatedToInterpretations() const = 0;
104 
119  DLL_IMPORT_OR_EXPORT virtual void getInterpretationIndexCumulativeCount(unsigned int * cumulativeCount) const = 0;
120 
134  DLL_IMPORT_OR_EXPORT virtual void getInterpretationIndices(unsigned int * interpretationIndices) const = 0;
135 
146  DLL_IMPORT_OR_EXPORT virtual int64_t getInterpretationIndexNullValue() const = 0;
147 
171  DLL_IMPORT_OR_EXPORT virtual void getGridConnectionSetInformationFromInterpretationIndex(uint64_t * cellIndexPairs, unsigned short * gridIndexPairs, int * localFaceIndexPairs, unsigned int interpretationIndex) const = 0;
172 
188  DLL_IMPORT_OR_EXPORT virtual std::string getInterpretationUuidFromIndex(unsigned int interpretationIndex) const = 0;
189 
205  DLL_IMPORT_OR_EXPORT class AbstractFeatureInterpretation* getInterpretationFromIndex(unsigned int interpretationIndex) const;
206 
215  DLL_IMPORT_OR_EXPORT virtual unsigned int getInterpretationCount() const = 0;
216 
223  DLL_IMPORT_OR_EXPORT virtual bool hasLocalFacePerCell() const = 0;
224 
241  DLL_IMPORT_OR_EXPORT virtual int64_t getLocalFacePerCellIndexPairs(int * localFacePerCellIndexPairs) const = 0;
242 
248  DLL_IMPORT_OR_EXPORT virtual bool isBasedOnMultiGrids() const = 0;
249 
263  DLL_IMPORT_OR_EXPORT virtual void getGridIndexPairs(unsigned short * gridIndexPairs) const = 0;
264 
294  DLL_IMPORT_OR_EXPORT virtual void setCellIndexPairsUsingExistingDataset(uint64_t cellIndexPairCount, const std::string & cellIndexPair, int64_t cellIndexPairNullValue, EML2_NS::AbstractHdfProxy * proxy, int64_t gridIndexPairNullValue = -1, const std::string & gridIndexPair = "") = 0;
295 
321  DLL_IMPORT_OR_EXPORT void setCellIndexPairs(uint64_t cellIndexPairCount, uint64_t const* cellIndexPair, uint64_t cellIndexPairNullValue, EML2_NS::AbstractHdfProxy * proxy, unsigned short gridIndexPairNullValue = (std::numeric_limits<unsigned short>::max)(), unsigned short * gridIndexPair = nullptr);
322 
343  DLL_IMPORT_OR_EXPORT virtual void setLocalFacePerCellIndexPairsUsingExistingDataset(const std::string & localFacePerCellIndexPair, int64_t nullValue, EML2_NS::AbstractHdfProxy * proxy) = 0;
344 
366  DLL_IMPORT_OR_EXPORT void setLocalFacePerCellIndexPairs(uint64_t cellIndexPairCount, int const* localFacePerCellIndexPair, int nullValue, EML2_NS::AbstractHdfProxy * proxy);
367 
387  DLL_IMPORT_OR_EXPORT virtual void setConnectionInterpretationIndices(unsigned int const* interpretationIndices, unsigned int interpretationIndiceCount, unsigned int nullValue, EML2_NS::AbstractHdfProxy * proxy) = 0;
388 
396  DLL_IMPORT_OR_EXPORT void pushBackInterpretation(class AbstractFeatureInterpretation* interp);
397 
406  DLL_IMPORT_OR_EXPORT void pushBackSupportingGridRepresentation(class AbstractGridRepresentation * supportingGridRep);
407 
416  DLL_IMPORT_OR_EXPORT virtual unsigned int getSupportingGridRepresentationCount() const = 0;
417 
428  DLL_IMPORT_OR_EXPORT class AbstractGridRepresentation* getSupportingGridRepresentation(unsigned int index) const;
429 
440  DLL_IMPORT_OR_EXPORT virtual COMMON_NS::DataObjectReference getSupportingGridRepresentationDor(unsigned int index) const = 0;
441 
443  DLL_IMPORT_OR_EXPORT uint64_t getXyzPointCountOfPatch(unsigned int patchIndex) const override;
444 
446  DLL_IMPORT_OR_EXPORT void getXyzPointsOfPatch(unsigned int patchIndex, double * xyzPoints) const override;
447 
448  DLL_IMPORT_OR_EXPORT unsigned int getPatchCount() const override {return 1;}
449 
451  DLL_IMPORT_OR_EXPORT static const char* XML_TAG;
452 
453  DLL_IMPORT_OR_EXPORT virtual std::string getXmlTag() const override { return XML_TAG; }
454 
455  protected:
456 
464  DLL_IMPORT_OR_EXPORT GridConnectionSetRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) :
465  AbstractRepresentation(partialObject) {}
466 
468  GridConnectionSetRepresentation() {}
469 
475  GridConnectionSetRepresentation(gsoap_resqml2_0_1::_resqml20__GridConnectionSetRepresentation* fromGsoap) : AbstractRepresentation(fromGsoap) {}
476 
482  GridConnectionSetRepresentation(gsoap_eml2_3::_resqml22__GridConnectionSetRepresentation* fromGsoap) : AbstractRepresentation(fromGsoap) {}
483 
489  virtual void pushBackXmlInterpretation(class AbstractFeatureInterpretation* interp) = 0;
490 
496  virtual void pushBackXmlSupportingGridRepresentation(class AbstractGridRepresentation * supportingGridRep) = 0;
497 
499  void loadTargetRelationships() final;
500  };
501 }
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:451
virtual bool isBasedOnMultiGrids() const =0
void setCellIndexPairs(uint64_t cellIndexPairCount, uint64_t const *cellIndexPair, uint64_t cellIndexPairNullValue, eml2::AbstractHdfProxy *proxy, unsigned short gridIndexPairNullValue=(std::numeric_limits< unsigned short >::max)(), unsigned short *gridIndexPair=nullptr)
Sets the cell index pairs of this grid connection set representation.
class AbstractFeatureInterpretation * getInterpretationFromIndex(unsigned int interpretationIndex) const
virtual void getInterpretationIndexCumulativeCount(unsigned int *cumulativeCount) const =0
virtual ~GridConnectionSetRepresentation()=default
unsigned int getPatchCount() const override
Definition: GridConnectionSetRepresentation.h:448
virtual unsigned int getInterpretationCount() const =0
virtual std::string getXmlTag() const override
Definition: GridConnectionSetRepresentation.h:453
virtual void getGridConnectionSetInformationFromInterpretationIndex(uint64_t *cellIndexPairs, unsigned short *gridIndexPairs, int *localFaceIndexPairs, unsigned int interpretationIndex) const =0
class AbstractGridRepresentation * getSupportingGridRepresentation(unsigned int index) const
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
virtual uint64_t getCellIndexPairs(uint64_t *cellIndexPairs) const =0
virtual unsigned int getSupportingGridRepresentationCount() const =0
virtual void getGridIndexPairs(unsigned short *gridIndexPairs) const =0
virtual bool isAssociatedToInterpretations() const =0
virtual std::string getInterpretationUuidFromIndex(unsigned int interpretationIndex) const =0
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 void setConnectionInterpretationIndices(unsigned int const *interpretationIndices, unsigned int interpretationIndiceCount, unsigned int nullValue, eml2::AbstractHdfProxy *proxy)=0
void pushBackInterpretation(class AbstractFeatureInterpretation *interp)
virtual void setCellIndexPairsUsingExistingDataset(uint64_t cellIndexPairCount, const std::string &cellIndexPair, int64_t cellIndexPairNullValue, eml2::AbstractHdfProxy *proxy, int64_t gridIndexPairNullValue=-1, const std::string &gridIndexPair="")=0
virtual unsigned int getCellIndexPairCountFromInterpretationIndex(unsigned int interpretationIndex) const =0
Gets the count of cell index pairs which correspond to a particular interpretation.
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 bool hasLocalFacePerCell() const =0