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_0_1_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, bool* kGaps = nullptr, EML2_NS::AbstractHdfProxy* proxy = nullptr) :
52  RESQML2_NS::IjkGridParametricRepresentation(repo, guid, title, iCount, jCount, kCount, kGaps, proxy) {}
53 
67  IjkGridParametricRepresentation(RESQML2_NS::AbstractFeatureInterpretation* interp,
68  const std::string & guid, const std::string & title,
69  unsigned int iCount, unsigned int jCount, unsigned int kCount, bool* kGaps = nullptr, EML2_NS::AbstractHdfProxy* proxy = nullptr) :
70  RESQML2_NS::IjkGridParametricRepresentation(interp, guid, title, iCount, jCount, kCount, kGaps, proxy) {}
71 
77  IjkGridParametricRepresentation(gsoap_resqml2_0_1::_resqml20__IjkGridRepresentation* fromGsoap) : RESQML2_NS::IjkGridParametricRepresentation(fromGsoap) {}
78 
84  IjkGridParametricRepresentation(gsoap_resqml2_0_1::_resqml20__TruncatedIjkGridRepresentation* fromGsoap) : RESQML2_NS::IjkGridParametricRepresentation(fromGsoap) {}
85 
90 
91  COMMON_NS::DataObjectReference getHdfProxyDor() const final;
92 
101  DLL_IMPORT_OR_EXPORT void getXyzPointsOfPatch(unsigned int patchIndex, double * xyzPoints) const final;
102 
103  DLL_IMPORT_OR_EXPORT unsigned int getControlPointMaxCountPerPillar() const final;
104 
105  DLL_IMPORT_OR_EXPORT bool hasControlPointParameters() const final;
106 
107  DLL_IMPORT_OR_EXPORT bool isParametricLineKindConstant() const final;
108 
109  DLL_IMPORT_OR_EXPORT short getConstantParametricLineKind() const final;
110 
111  using RESQML2_NS::IjkGridParametricRepresentation::setGeometryAsParametricSplittedPillarNodes;
112 
113  DLL_IMPORT_OR_EXPORT void setGeometryAsParametricSplittedPillarNodes(
114  gsoap_resqml2_0_1::resqml20__PillarShape mostComplexPillarGeometry, bool isRightHanded,
115  double const * parameters, double const * controlPoints, double const * controlPointParameters, unsigned int controlPointMaxCountPerPillar, short const * pillarKind, EML2_NS::AbstractHdfProxy* proxy,
116  unsigned long splitCoordinateLineCount, unsigned int const * pillarOfCoordinateLine,
117  unsigned int const * splitCoordinateLineColumnCumulativeCount, unsigned int const * splitCoordinateLineColumns, RESQML2_NS::AbstractLocal3dCrs * localCrs = nullptr) final;
118 
119  DLL_IMPORT_OR_EXPORT void setGeometryAsParametricSplittedPillarNodesUsingExistingDatasets(
120  gsoap_resqml2_0_1::resqml20__PillarShape mostComplexPillarGeometry, gsoap_resqml2_0_1::resqml20__KDirection kDirectionKind, bool isRightHanded,
121  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,
122  unsigned long splitCoordinateLineCount, const std::string & pillarOfCoordinateLine,
123  const std::string & splitCoordinateLineColumnCumulativeCount, const std::string & splitCoordinateLineColumns, RESQML2_NS::AbstractLocal3dCrs * localCrs = nullptr) final;
124 
125  DLL_IMPORT_OR_EXPORT void setGeometryAsParametricSplittedPillarNodesUsingExistingDatasets(
126  gsoap_resqml2_0_1::resqml20__KDirection kDirectionKind, bool isRightHanded,
127  const std::string & parameters, const std::string & controlPoints, const std::string & controlPointParameters, unsigned int controlPointCountPerPillar, short pillarKind, EML2_NS::AbstractHdfProxy* proxy,
128  unsigned long splitCoordinateLineCount, const std::string & pillarOfCoordinateLine,
129  const std::string & splitCoordinateLineColumnCumulativeCount, const std::string & splitCoordinateLineColumns, RESQML2_NS::AbstractLocal3dCrs * localCrs = nullptr) final;
130 
134  DLL_IMPORT_OR_EXPORT static const char* XML_NS;
135 
139  DLL_IMPORT_OR_EXPORT std::string getXmlNamespace() const final { return XML_NS; }
140 
141  private:
142  EML2_NS::AbstractHdfProxy* getParameterDatasetPath(std::string & datasetPathInExternalFile) const final;
143  EML2_NS::AbstractHdfProxy* getControlPointDatasetPath(std::string & datasetPathInExternalFile) const final;
144  EML2_NS::AbstractHdfProxy* getControlPointParametersDatasetPath(std::string & datasetPathInExternalFile) const final;
145  EML2_NS::AbstractHdfProxy* getParametersOfNodesDatasetPath(std::string & datasetPathInExternalFile) const final;
146 
147  void getRawParametricLineKind(short * pillarKind) const final;
148 
149  void setGeometryAsParametricSplittedPillarNodesWithoutPillarKindUsingExistingDatasets(
150  gsoap_resqml2_0_1::resqml20__KDirection kDirectionKind, bool isRightHanded,
151  const std::string & parameters, const std::string & controlPoints, const std::string & controlPointParameters, unsigned int controlPointCountPerPillar, EML2_NS::AbstractHdfProxy* proxy,
152  unsigned long splitCoordinateLineCount, const std::string & pillarOfCoordinateLine,
153  const std::string & splitCoordinateLineColumnCumulativeCount, const std::string & splitCoordinateLineColumns, RESQML2_NS::AbstractLocal3dCrs * localCrs);
154  };
155 }
Definition: IjkGridParametricRepresentation.h:30
common::DataObjectReference getHdfProxyDor() const final
Gets the data object reference of the HDF proxy which is used for storing the numerical values of thi...
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)
Definition: IjkGridParametricRepresentation.h:67
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)
Definition: IjkGridParametricRepresentation.h:49
IjkGridParametricRepresentation(gsoap_resqml2_0_1::_resqml20__IjkGridRepresentation *fromGsoap)
Creates an instance of this class by wrapping a gSOAP instance.
Definition: IjkGridParametricRepresentation.h:77
IjkGridParametricRepresentation(gsoap_resqml2_0_1::_resqml20__TruncatedIjkGridRepresentation *fromGsoap)
Creates an instance of this class by wrapping a gSOAP instance.
Definition: IjkGridParametricRepresentation.h:84