Fesapi 2.9.0.1
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Loading...
Searching...
No Matches
IjkGridExplicitRepresentation.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 "AbstractIjkGridRepresentation.h"
22
23namespace RESQML2_NS
24{
31 {
32 public:
36 virtual ~IjkGridExplicitRepresentation() = default;
37
45 DLL_IMPORT_OR_EXPORT void getXyzPointsOfKInterfaceSequence(unsigned int kInterfaceStart, unsigned int kInterfaceEnd, double * xyzPoints) override;
46
54 DLL_IMPORT_OR_EXPORT void getXyzPointsOfBlock(double * xyzPoints) override;
55
142 DLL_IMPORT_OR_EXPORT virtual void setGeometryAsCoordinateLineNodes(
143 gsoap_resqml2_0_1::resqml20__PillarShape mostComplexPillarGeometry, gsoap_resqml2_0_1::resqml20__KDirection kDirectionKind, bool isRightHanded,
144 double const* points, EML2_NS::AbstractHdfProxy* proxy = nullptr,
145 uint64_t splitCoordinateLineCount = 0, unsigned int const* pillarOfCoordinateLine = nullptr,
146 unsigned int const* splitCoordinateLineColumnCumulativeCount = nullptr, unsigned int const* splitCoordinateLineColumns = nullptr,
147 int8_t const* definedPillars = nullptr, RESQML2_NS::AbstractLocal3dCrs * localCrs = nullptr) = 0;
148
156 gsoap_resqml2_0_1::resqml20__PillarShape mostComplexPillarGeometry, gsoap_resqml2_0_1::resqml20__KDirection kDirectionKind, bool isRightHanded,
157 const std::string & points, EML2_NS::AbstractHdfProxy* proxy = nullptr,
158 uint64_t splitCoordinateLineCount = 0, const std::string & pillarOfCoordinateLine = "",
159 const std::string & splitCoordinateLineColumnCumulativeCount = "", const std::string & splitCoordinateLineColumns = "",
160 const std::string & definedPillars = "", RESQML2_NS::AbstractLocal3dCrs * localCrs = nullptr) = 0;
161
162 DLL_IMPORT_OR_EXPORT bool isNodeGeometryCompressed() const final;
163
164 DLL_IMPORT_OR_EXPORT geometryKind getGeometryKind() const final;
165
166 protected:
170 IjkGridExplicitRepresentation(COMMON_NS::DataObjectRepository * repo,
171 const std::string & guid, const std::string & title,
172 unsigned int iCount, unsigned int jCount, unsigned int kCount, bool* kGaps = nullptr, EML2_NS::AbstractHdfProxy* proxy = nullptr) :
173 AbstractIjkGridRepresentation(repo, guid, title, iCount, jCount, kCount, kGaps, proxy) {}
174
175 IjkGridExplicitRepresentation(RESQML2_NS::AbstractFeatureInterpretation* interp,
176 const std::string & guid, const std::string & title,
177 unsigned int iCount, unsigned int jCount, unsigned int kCount, bool* kGaps = nullptr, EML2_NS::AbstractHdfProxy* proxy = nullptr) :
178 AbstractIjkGridRepresentation(interp, guid, title, iCount, jCount, kCount, kGaps, proxy) {}
179
183 IjkGridExplicitRepresentation(gsoap_resqml2_0_1::_resqml20__IjkGridRepresentation* fromGsoap) : AbstractIjkGridRepresentation(fromGsoap) {}
184 IjkGridExplicitRepresentation(gsoap_eml2_3::_resqml22__IjkGridRepresentation* fromGsoap) : AbstractIjkGridRepresentation(fromGsoap) {}
185 IjkGridExplicitRepresentation(gsoap_resqml2_0_1::_resqml20__TruncatedIjkGridRepresentation* fromGsoap) : AbstractIjkGridRepresentation(fromGsoap) {}
186 IjkGridExplicitRepresentation(gsoap_eml2_3::_resqml22__TruncatedIjkGridRepresentation* fromGsoap) : AbstractIjkGridRepresentation(fromGsoap) {}
187
188 virtual EML2_NS::AbstractHdfProxy* getPointDatasetPath(std::string & datasetPathInExternalFile, uint64_t & splitCoordinateLineCount) const = 0;
189 };
190}
Proxy class for an abstract IJK grid representation. This class is semantically abstract....
Definition AbstractIjkGridRepresentation.h:34
geometryKind
Definition AbstractIjkGridRepresentation.h:38
An IJK Grid explicit representation defines each cell corner position by means of XYZ coordinates....
Definition IjkGridExplicitRepresentation.h:31
virtual void setGeometryAsCoordinateLineNodes(gsoap_resqml2_0_1::resqml20__PillarShape mostComplexPillarGeometry, gsoap_resqml2_0_1::resqml20__KDirection kDirectionKind, bool isRightHanded, double const *points, eml2 ::AbstractHdfProxy *proxy=nullptr, uint64_t splitCoordinateLineCount=0, unsigned int const *pillarOfCoordinateLine=nullptr, unsigned int const *splitCoordinateLineColumnCumulativeCount=nullptr, unsigned int const *splitCoordinateLineColumns=nullptr, int8_t const *definedPillars=nullptr, resqml2 ::AbstractLocal3dCrs *localCrs=nullptr)=0
Sets the geometry of this IJK grid as explicit coordinate line nodes. See RESQML Usage,...
virtual ~IjkGridExplicitRepresentation()=default
virtual void setGeometryAsCoordinateLineNodesUsingExistingDatasets(gsoap_resqml2_0_1::resqml20__PillarShape mostComplexPillarGeometry, gsoap_resqml2_0_1::resqml20__KDirection kDirectionKind, bool isRightHanded, const std::string &points, eml2 ::AbstractHdfProxy *proxy=nullptr, uint64_t splitCoordinateLineCount=0, const std::string &pillarOfCoordinateLine="", const std::string &splitCoordinateLineColumnCumulativeCount="", const std::string &splitCoordinateLineColumns="", const std::string &definedPillars="", resqml2 ::AbstractLocal3dCrs *localCrs=nullptr)=0
Sets the geometry of this IJK grid as explicit coordinate line nodes. See RESQML Usage,...
bool isNodeGeometryCompressed() const final
void getXyzPointsOfKInterfaceSequence(unsigned int kInterfaceStart, unsigned int kInterfaceEnd, double *xyzPoints) override
Gets all the XYZ points of a particular sequence of K interfaces. XYZ points are given in the local C...
void getXyzPointsOfBlock(double *xyzPoints) override
Gets all the XYZ points of the current block. XYZ points are given in the local CRS....