Fesapi  2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
UnstructuredGridRepresentation.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 
20 #pragma once
21 
22 #include "../resqml2/UnstructuredGridRepresentation.h"
23 
24 namespace RESQML2_0_1_NS
25 {
27  class UnstructuredGridRepresentation final : public RESQML2_NS::UnstructuredGridRepresentation
28  {
29  public:
30 
38  DLL_IMPORT_OR_EXPORT UnstructuredGridRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject):
39  RESQML2_NS::UnstructuredGridRepresentation(partialObject) {}
40 
50  UnstructuredGridRepresentation(COMMON_NS::DataObjectRepository* repo,
51  const std::string & guid, const std::string & title,
52  uint64_t cellCount);
53 
62  UnstructuredGridRepresentation(RESQML2_NS::AbstractFeatureInterpretation* interp,
63  const std::string & guid, const std::string & title,
64  uint64_t cellCount);
65 
71  UnstructuredGridRepresentation(gsoap_resqml2_0_1::_resqml20__UnstructuredGridRepresentation* fromGsoap):
72  RESQML2_NS::UnstructuredGridRepresentation(fromGsoap) {}
73 
78 
79  DLL_IMPORT_OR_EXPORT bool hasGeometry() const final;
80 
81  COMMON_NS::DataObjectReference getHdfProxyDor() const final;
82 
83  DLL_IMPORT_OR_EXPORT void getXyzPointsOfPatch(unsigned int patchIndex, double * xyzPoints) const final;
84 
85  DLL_IMPORT_OR_EXPORT void getFaceIndicesOfCells(uint64_t * faceIndices) const final;
86 
87  DLL_IMPORT_OR_EXPORT void getCumulativeFaceCountPerCell(uint64_t * cumulativeFaceCountPerCell_) const final;
88 
89  DLL_IMPORT_OR_EXPORT bool isFaceCountOfCellsConstant() const final;
90 
91  DLL_IMPORT_OR_EXPORT unsigned int getConstantFaceCountOfCells() const final;
92 
93  DLL_IMPORT_OR_EXPORT void getNodeIndicesOfFaces(uint64_t * nodeIndices) const final;
94 
95  DLL_IMPORT_OR_EXPORT void getCumulativeNodeCountPerFace(uint64_t * nodeCountPerFace) const final;
96 
97  DLL_IMPORT_OR_EXPORT bool isNodeCountOfFacesConstant() const final;
98 
99  DLL_IMPORT_OR_EXPORT unsigned int getConstantNodeCountOfFaces() const final;
100 
101  DLL_IMPORT_OR_EXPORT uint64_t getCellCount() const final;
102 
103  DLL_IMPORT_OR_EXPORT uint64_t getFaceCount() const final;
104 
105  DLL_IMPORT_OR_EXPORT uint64_t getNodeCount() const final;
106 
107  DLL_IMPORT_OR_EXPORT void getCellFaceIsRightHanded(unsigned char* cellFaceIsRightHanded) const final;
108 
109  DLL_IMPORT_OR_EXPORT void setGeometryUsingExistingDatasets(const std::string& cellFaceIsRightHanded, const std::string& points, uint64_t pointCount, EML2_NS::AbstractHdfProxy* proxy,
110  const std::string& faceIndicesPerCell, const std::string& faceIndicesCumulativeCountPerCell,
111  uint64_t faceCount, const std::string& nodeIndicesPerFace, const std::string& nodeIndicesCumulativeCountPerFace,
112  gsoap_resqml2_0_1::resqml20__CellShape cellShape, RESQML2_NS::AbstractLocal3dCrs * localCrs = nullptr) final;
113 
117  DLL_IMPORT_OR_EXPORT static const char* XML_NS;
118 
122  DLL_IMPORT_OR_EXPORT std::string getXmlNamespace() const final { return XML_NS; }
123 
124  private:
125 
129  void init(COMMON_NS::DataObjectRepository* repo,
130  const std::string & guid, const std::string & title,
131  uint64_t cellCount);
132 
133  gsoap_resqml2_0_1::_resqml20__UnstructuredGridRepresentation* getSpecializedGsoapProxy() const;
134 
135  gsoap_resqml2_0_1::resqml20__PointGeometry* getPointGeometry2_0_1(unsigned int patchIndex) const final;
136 
149  void setConstantCellShapeGeometryUsingExistingDatasets(const std::string& cellFaceIsRightHanded, const std::string& points,
150  uint64_t pointCount, uint64_t faceCount, RESQML2_NS::AbstractLocal3dCrs * localCrs, EML2_NS::AbstractHdfProxy* proxy,
151  const std::string& faceIndicesPerCell, uint64_t faceCountPerCell,
152  const std::string& nodeIndicesPerFace, uint64_t nodeCountPerFace) final;
153  };
154 }
An unstructured grid representation. This class cannot be inherited.
Definition: UnstructuredGridRepresentation.h:28
UnstructuredGridRepresentation(common::DataObjectRepository *repo, const std::string &guid, const std::string &title, uint64_t cellCount)
UnstructuredGridRepresentation(resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title, uint64_t cellCount)
UnstructuredGridRepresentation(gsoap_resqml2_0_1::_resqml20__UnstructuredGridRepresentation *fromGsoap)
Definition: UnstructuredGridRepresentation.h:71
UnstructuredGridRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition: UnstructuredGridRepresentation.h:38