Fesapi  0.13.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 "resqml2/AbstractRepresentation.h"
22 
23 namespace RESQML2_NS
24 {
25  class DLL_IMPORT_OR_EXPORT GridConnectionSetRepresentation : public AbstractRepresentation
26  {
27  protected:
28 
32  GridConnectionSetRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) :
33  AbstractRepresentation(partialObject) {}
34 
39 
43  GridConnectionSetRepresentation(gsoap_resqml2_0_1::_resqml2__GridConnectionSetRepresentation* fromGsoap) : AbstractRepresentation(fromGsoap) {}
44 
45  virtual void pushBackXmlInterpretation(class AbstractFeatureInterpretation* interp) = 0;
46  virtual void pushBackXmlSupportingGridRepresentation(class AbstractGridRepresentation * supportingGridRep) = 0;
47 
48  public:
49 
54 
55  static const char* XML_TAG;
56  virtual std::string getXmlTag() const;
57 
58  virtual std::string getHdfProxyUuid() const = 0;
59 
63  virtual ULONG64 getCellIndexPairCount() const = 0;
64 
68  virtual ULONG64 getCellIndexPairs(ULONG64 * cellIndexPairs) const = 0;
69 
74  virtual unsigned int getCellIndexPairCountFromInterpretationIndex(const unsigned int & interpretationIndex) const = 0;
75 
79  virtual bool isAssociatedToInterpretations() const = 0;
80 
85  virtual void getInterpretationIndexCumulativeCount(unsigned int * cumulativeCount) const = 0;
86 
91  virtual void getInterpretationIndices(unsigned int * interpretationIndices) const = 0;
92 
96  virtual LONG64 getInterpretationIndexNullValue() const = 0;
97 
105  virtual void getGridConnectionSetInformationFromInterpretationIndex(ULONG64 * cellIndexPairs, unsigned short * gridIndexPairs, int * localFaceIndexPairs, const unsigned int & interpretationIndex) const = 0;
106 
111  virtual std::string getInterpretationUuidFromIndex(const unsigned int & interpretationIndex) const = 0;
112 
117  class AbstractFeatureInterpretation * getInterpretationFromIndex(const unsigned int & interpretationIndex) const;
118 
122  virtual unsigned int getInterpretationCount() const = 0;
123 
127  virtual bool hasLocalFacePerCell() const = 0;
128 
135  virtual LONG64 getLocalFacePerCellIndexPairs(int * localFacePerCellIndexPairs) const = 0;
136 
140  virtual bool isBasedOnMultiGrids() const = 0;
141 
146  virtual void getGridIndexPairs(unsigned short * gridIndexPairs) const = 0;
147 
156  virtual void setCellIndexPairsUsingExistingDataset(const ULONG64 & cellIndexPairCount, const std::string & cellIndexPair, const LONG64 & nullValue, COMMON_NS::AbstractHdfProxy * proxy, const std::string & gridIndexPair = "") = 0;
157 
166  void setCellIndexPairs(const ULONG64 & cellIndexPairCount, ULONG64 * cellIndexPair, const LONG64 & nullValue, COMMON_NS::AbstractHdfProxy * proxy, unsigned short * gridIndexPair = nullptr);
167 
172  virtual void setLocalFacePerCellIndexPairs(const ULONG64 & cellIndexPairCount, int * localFacePerCellIndexPair, const LONG64 & nullValue, COMMON_NS::AbstractHdfProxy * proxy) = 0;
173 
181  virtual void setConnectionInterpretationIndices(unsigned int * interpretationIndices, const unsigned int & interpretationIndiceCount, const LONG64 & nullValue, COMMON_NS::AbstractHdfProxy * proxy) = 0;
182 
187  void pushBackInterpretation(class AbstractFeatureInterpretation* interp);
188 
193  void pushBackSupportingGridRepresentation(class AbstractGridRepresentation * supportingGridRep);
194 
198  virtual unsigned int getSupportingGridRepresentationCount() const = 0;
199 
203  class AbstractGridRepresentation* getSupportingGridRepresentation(unsigned int index) const;
204 
208  virtual gsoap_resqml2_0_1::eml20__DataObjectReference* getSupportingGridRepresentationDor(unsigned int index) const = 0;
209 
213  std::string getSupportingGridRepresentationUuid(unsigned int index) const;
214 
218  std::string getSupportingGridRepresentationTitle(unsigned int index) const;
219 
223  std::string getSupportingGridRepresentationContentType(unsigned int index) const;
224 
225  ULONG64 getXyzPointCountOfPatch(const unsigned int & patchIndex) const;
226 
232  void getXyzPointsOfPatch(const unsigned int & patchIndex, double * xyzPoints) const;
233 
237  unsigned int getPatchCount() const {return 1;}
238 
239  private:
240 
241  std::vector<epc::Relationship> getAllEpcRelationships() const;
242  void importRelationshipSetFromEpc(COMMON_NS::EpcDocument* epcDoc);
243  };
244 }
245 
virtual ~GridConnectionSetRepresentation()
Definition: GridConnectionSetRepresentation.h:53
Definition: AbstractRepresentation.h:31
Definition: GridConnectionSetRepresentation.h:25
unsigned int getPatchCount() const
Definition: GridConnectionSetRepresentation.h:237
Definition: AbstractFeatureInterpretation.h:30
GridConnectionSetRepresentation(class AbstractFeatureInterpretation *interp)
Definition: GridConnectionSetRepresentation.h:38
GridConnectionSetRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition: GridConnectionSetRepresentation.h:32
Definition: EpcDocument.h:154
Definition: AbstractGridRepresentation.h:32
Definition: AbstractHdfProxy.h:30
GridConnectionSetRepresentation(gsoap_resqml2_0_1::_resqml2__GridConnectionSetRepresentation *fromGsoap)
Definition: GridConnectionSetRepresentation.h:43
Definition: EpcDocument.h:49