Fesapi  2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
IjkGridParametricRepresentation.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/IjkGridParametricRepresentation.h"
22 
23 namespace RESQML2_2_NS
24 {
29  class IjkGridParametricRepresentation final : public RESQML2_NS::IjkGridParametricRepresentation
30  {
31  public:
32 
49  IjkGridParametricRepresentation(COMMON_NS::DataObjectRepository * repo,
50  const std::string & guid, const std::string & title,
51  unsigned int iCount, unsigned int jCount, unsigned int kCount,
52  bool* kGaps = nullptr, EML2_NS::AbstractHdfProxy* proxy = nullptr) :
53  RESQML2_NS::IjkGridParametricRepresentation(repo, guid, title, iCount, jCount, kCount, kGaps, proxy) {}
54 
71  IjkGridParametricRepresentation(RESQML2_NS::AbstractFeatureInterpretation* interp,
72  const std::string & guid, const std::string & title,
73  unsigned int iCount, unsigned int jCount, unsigned int kCount,
74  bool* kGaps = nullptr, EML2_NS::AbstractHdfProxy* proxy = nullptr) :
75  RESQML2_NS::IjkGridParametricRepresentation(interp, guid, title, iCount, jCount, kCount, kGaps, proxy) {}
76 
82  IjkGridParametricRepresentation(gsoap_eml2_3::_resqml22__IjkGridRepresentation* fromGsoap) : RESQML2_NS::IjkGridParametricRepresentation(fromGsoap) {}
83 
89  IjkGridParametricRepresentation(gsoap_eml2_3::_resqml22__TruncatedIjkGridRepresentation* fromGsoap) : RESQML2_NS::IjkGridParametricRepresentation(fromGsoap) {}
90 
95 
96  COMMON_NS::DataObjectReference getHdfProxyDor() const final;
97 
106  DLL_IMPORT_OR_EXPORT void getXyzPointsOfPatch(unsigned int patchIndex, double * xyzPoints) const final;
107 
108  DLL_IMPORT_OR_EXPORT unsigned int getControlPointMaxCountPerPillar() const final;
109 
110  DLL_IMPORT_OR_EXPORT bool hasControlPointParameters() const final;
111 
112  DLL_IMPORT_OR_EXPORT bool isParametricLineKindConstant() const final;
113 
114  DLL_IMPORT_OR_EXPORT short getConstantParametricLineKind() const final;
115 
116  using RESQML2_NS::IjkGridParametricRepresentation::setGeometryAsParametricSplittedPillarNodes;
117 
118  DLL_IMPORT_OR_EXPORT void setGeometryAsParametricSplittedPillarNodes(
119  gsoap_resqml2_0_1::resqml20__PillarShape mostComplexPillarGeometry, bool isRightHanded,
120  double const * parameters, double const * controlPoints, double const * controlPointParameters, unsigned int controlPointMaxCountPerPillar, short const * pillarKind, EML2_NS::AbstractHdfProxy* proxy,
121  unsigned long splitCoordinateLineCount, unsigned int const * pillarOfCoordinateLine,
122  unsigned int const * splitCoordinateLineColumnCumulativeCount, unsigned int const * splitCoordinateLineColumns, RESQML2_NS::AbstractLocal3dCrs * localCrs = nullptr) final;
123 
124  DLL_IMPORT_OR_EXPORT void setGeometryAsParametricSplittedPillarNodesUsingExistingDatasets(
125  gsoap_resqml2_0_1::resqml20__PillarShape mostComplexPillarGeometry, gsoap_resqml2_0_1::resqml20__KDirection kDirectionKind, bool isRightHanded,
126  const std::string & parameters, const std::string & controlPoints, const std::string & controlPointParameters, unsigned int controlPointMaxCountPerPillar, const std::string & pillarKind, const std::string & definedPillars, EML2_NS::AbstractHdfProxy* proxy,
127  unsigned long splitCoordinateLineCount, const std::string & pillarOfCoordinateLine,
128  const std::string & splitCoordinateLineColumnCumulativeCount, const std::string & splitCoordinateLineColumns, RESQML2_NS::AbstractLocal3dCrs * localCrs = nullptr) final;
129 
130  DLL_IMPORT_OR_EXPORT void setGeometryAsParametricSplittedPillarNodesUsingExistingDatasets(
131  gsoap_resqml2_0_1::resqml20__KDirection kDirectionKind, bool isRightHanded,
132  const std::string & parameters, const std::string & controlPoints, const std::string & controlPointParameters, unsigned int controlPointCountPerPillar, short pillarKind, EML2_NS::AbstractHdfProxy* proxy,
133  unsigned long splitCoordinateLineCount, const std::string & pillarOfCoordinateLine,
134  const std::string & splitCoordinateLineColumnCumulativeCount, const std::string & splitCoordinateLineColumns, RESQML2_NS::AbstractLocal3dCrs * localCrs = nullptr) final;
135 
139  DLL_IMPORT_OR_EXPORT static const char* XML_NS;
140 
144  DLL_IMPORT_OR_EXPORT std::string getXmlNamespace() const final { return XML_NS; }
145 
146  private:
147  EML2_NS::AbstractHdfProxy* getParameterDatasetPath(std::string & datasetPathInExternalFile) const final;
148  EML2_NS::AbstractHdfProxy* getControlPointDatasetPath(std::string & datasetPathInExternalFile) const final;
149  EML2_NS::AbstractHdfProxy* getControlPointParametersDatasetPath(std::string & datasetPathInExternalFile) const final;
150  EML2_NS::AbstractHdfProxy* getParametersOfNodesDatasetPath(std::string & datasetPathInExternalFile) const final;
151 
152  void getRawParametricLineKind(short * pillarKind) const final;
153 
154  void setGeometryAsParametricSplittedPillarNodesWithoutPillarKindUsingExistingDatasets(
155  gsoap_resqml2_0_1::resqml20__KDirection kDirectionKind, bool isRightHanded,
156  const std::string & parameters, const std::string & controlPoints, const std::string & controlPointParameters, unsigned int controlPointCountPerPillar, EML2_NS::AbstractHdfProxy* proxy,
157  unsigned long splitCoordinateLineCount, const std::string & pillarOfCoordinateLine,
158  const std::string & splitCoordinateLineColumnCumulativeCount, const std::string & splitCoordinateLineColumns, RESQML2_NS::AbstractLocal3dCrs * localCrs);
159  };
160 }
Definition: IjkGridParametricRepresentation.h:30
IjkGridParametricRepresentation(gsoap_eml2_3::_resqml22__TruncatedIjkGridRepresentation *fromGsoap)
Constructor.
Definition: IjkGridParametricRepresentation.h:89
IjkGridParametricRepresentation(resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title, unsigned int iCount, unsigned int jCount, unsigned int kCount, bool *kGaps=nullptr, eml2::AbstractHdfProxy *proxy=nullptr)
Constructor.
Definition: IjkGridParametricRepresentation.h:71
IjkGridParametricRepresentation(common::DataObjectRepository *repo, const std::string &guid, const std::string &title, unsigned int iCount, unsigned int jCount, unsigned int kCount, bool *kGaps=nullptr, eml2::AbstractHdfProxy *proxy=nullptr)
Constructor.
Definition: IjkGridParametricRepresentation.h:49
IjkGridParametricRepresentation(gsoap_eml2_3::_resqml22__IjkGridRepresentation *fromGsoap)
Creates an instance of this class by wrapping a gsoap instance.
Definition: IjkGridParametricRepresentation.h:82
common::DataObjectReference getHdfProxyDor() const final
Gets the data object reference of the HDF proxy which is used for storing the numerical values of thi...