Fesapi 2.10.1.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Loading...
Searching...
No Matches
UnstructuredGridRepresentation.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
20#pragma once
21
22#include "../resqml2/UnstructuredGridRepresentation.h"
23
24namespace RESQML2_2_NS
25{
27 class UnstructuredGridRepresentation final : public RESQML2_NS::UnstructuredGridRepresentation
28 {
29 public:
30
34 DLL_IMPORT_OR_EXPORT UnstructuredGridRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject):
35 RESQML2_NS::UnstructuredGridRepresentation(partialObject) {}
36
46 UnstructuredGridRepresentation(COMMON_NS::DataObjectRepository* repo,
47 const std::string & guid, const std::string & title,
48 uint64_t cellCount);
49
58 UnstructuredGridRepresentation(RESQML2_NS::AbstractFeatureInterpretation* interp,
59 const std::string & guid, const std::string & title,
60 uint64_t cellCount);
61
67 UnstructuredGridRepresentation(gsoap_eml2_3::_resqml22__UnstructuredGridRepresentation* fromGsoap):
68 RESQML2_NS::UnstructuredGridRepresentation(fromGsoap) {}
69
74
75 DLL_IMPORT_OR_EXPORT bool hasGeometry() const final;
76
77 COMMON_NS::DataObjectReference getHdfProxyDor() const final;
78
79 DLL_IMPORT_OR_EXPORT void getXyzPointsOfPatch(unsigned int patchIndex, double * xyzPoints) const final;
80
81 DLL_IMPORT_OR_EXPORT void getFaceIndicesOfCells(uint64_t * faceIndices) const final;
82
83 DLL_IMPORT_OR_EXPORT void getCumulativeFaceCountPerCell(uint64_t * cumulativeFaceCountPerCell_) const final;
84
85 DLL_IMPORT_OR_EXPORT bool isFaceCountOfCellsConstant() const final;
86
87 DLL_IMPORT_OR_EXPORT unsigned int getConstantFaceCountOfCells() const final;
88
89 DLL_IMPORT_OR_EXPORT void getNodeIndicesOfFaces(uint64_t * nodeIndices) const final;
90
91 DLL_IMPORT_OR_EXPORT void getCumulativeNodeCountPerFace(uint64_t * nodeCountPerFace) const final;
92
93 DLL_IMPORT_OR_EXPORT bool isNodeCountOfFacesConstant() const final;
94
95 DLL_IMPORT_OR_EXPORT unsigned int getConstantNodeCountOfFaces() const final;
96
97 DLL_IMPORT_OR_EXPORT uint64_t getCellCount() const final;
98
99 DLL_IMPORT_OR_EXPORT uint64_t getFaceCount() const final;
100
101 DLL_IMPORT_OR_EXPORT uint64_t getNodeCount() const final;
102
103 DLL_IMPORT_OR_EXPORT void getCellFaceIsRightHanded(uint8_t* cellFaceIsRightHanded) const final;
104
105 DLL_IMPORT_OR_EXPORT void setGeometryUsingExistingDatasets(const std::string& cellFaceIsRightHanded, const std::string& points, uint64_t pointCount, EML2_NS::AbstractHdfProxy* proxy,
106 const std::string& faceIndicesPerCell, const std::string& faceIndicesCumulativeCountPerCell,
107 uint64_t faceCount, const std::string& nodeIndicesPerFace, const std::string& nodeIndicesCumulativeCountPerFace,
108 gsoap_resqml2_0_1::resqml20__CellShape cellShape, EML2_NS::AbstractLocal3dCrs * localCrs = nullptr) final;
109
113 DLL_IMPORT_OR_EXPORT static const char* XML_NS;
114
118 DLL_IMPORT_OR_EXPORT std::string getXmlNamespace() const final { return XML_NS; }
119
120 private:
121
125 void init(COMMON_NS::DataObjectRepository* repo,
126 const std::string & guid, const std::string & title,
127 uint64_t cellCount);
128
129 gsoap_eml2_3::_resqml22__UnstructuredGridRepresentation* getSpecializedGsoapProxy() const;
130
131 gsoap_eml2_3::resqml22__PointGeometry* getPointGeometry2_2(uint64_t patchIndex) const final;
132
145 void setConstantCellShapeGeometryUsingExistingDatasets(const std::string& cellFaceIsRightHanded, const std::string& points,
146 uint64_t pointCount, uint64_t faceCount, EML2_NS::AbstractLocal3dCrs * localCrs, EML2_NS::AbstractHdfProxy* proxy,
147 const std::string& faceIndicesPerCell, uint64_t faceCountPerCell,
148 const std::string& nodeIndicesPerFace, uint64_t nodeCountPerFace) final;
149 };
150}
An unstructured grid representation. This class cannot be inherited.
Definition UnstructuredGridRepresentation.h:28
UnstructuredGridRepresentation(resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title, uint64_t cellCount)
Constructor.
UnstructuredGridRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition UnstructuredGridRepresentation.h:34
UnstructuredGridRepresentation(common::DataObjectRepository *repo, const std::string &guid, const std::string &title, uint64_t cellCount)
Constructor.
UnstructuredGridRepresentation(gsoap_eml2_3::_resqml22__UnstructuredGridRepresentation *fromGsoap)
Creates an instance of this class by wrapping a gsoap instance.
Definition UnstructuredGridRepresentation.h:67