Fesapi  2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
IjkGridLatticeRepresentation.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/IjkGridLatticeRepresentation.h"
22 
23 namespace RESQML2_0_1_NS
24 {
26  class IjkGridLatticeRepresentation final : public RESQML2_NS::IjkGridLatticeRepresentation
27  {
28  private :
29  gsoap_resqml2_0_1::resqml20__Point3dLatticeArray* getArrayLatticeOfPoints3d() const;
30  public:
31 
42  IjkGridLatticeRepresentation(COMMON_NS::DataObjectRepository * repo,
43  const std::string & guid, const std::string & title,
44  unsigned int iCount, unsigned int jCount, unsigned int kCount) :
45  RESQML2_NS::IjkGridLatticeRepresentation(repo, guid, title, iCount, jCount, kCount) {}
46 
57  IjkGridLatticeRepresentation(RESQML2_NS::AbstractFeatureInterpretation* interp,
58  const std::string & guid, const std::string & title,
59  unsigned int iCount, unsigned int jCount, unsigned int kCount) :
60  RESQML2_NS::IjkGridLatticeRepresentation(interp, guid, title, iCount, jCount, kCount) {}
61 
67  IjkGridLatticeRepresentation(gsoap_resqml2_0_1::_resqml20__IjkGridRepresentation* fromGsoap): RESQML2_NS::IjkGridLatticeRepresentation(fromGsoap) {}
68 
74  IjkGridLatticeRepresentation(gsoap_resqml2_0_1::_resqml20__TruncatedIjkGridRepresentation* fromGsoap) : RESQML2_NS::IjkGridLatticeRepresentation(fromGsoap) {}
75 
78 
79  DLL_IMPORT_OR_EXPORT double getXOrigin() const final;
80 
81  DLL_IMPORT_OR_EXPORT double getYOrigin() const final;
82 
83  DLL_IMPORT_OR_EXPORT double getZOrigin() const final;
84 
85  /*****************************************************
86  * Notice that, in seismic context, I is the slowest axis, J is the intermediate axis and K is the fastest axis.
87  * In reservoir grid, I is the fastest axis, J is the intermediate axis and K is slowest axis.
88  * It should be improved in future Resqml versions.
89  *****************************************************/
90 
91  DLL_IMPORT_OR_EXPORT double getXIOffset() const final;
92 
93  DLL_IMPORT_OR_EXPORT double getYIOffset() const final;
94 
95  DLL_IMPORT_OR_EXPORT double getZIOffset() const final;
96 
97  DLL_IMPORT_OR_EXPORT double getXJOffset() const final;
98 
99  DLL_IMPORT_OR_EXPORT double getYJOffset() const final;
100 
101  DLL_IMPORT_OR_EXPORT double getZJOffset() const final;
102 
103  DLL_IMPORT_OR_EXPORT double getXKOffset() const final;
104 
105  DLL_IMPORT_OR_EXPORT double getYKOffset() const final;
106 
107  DLL_IMPORT_OR_EXPORT double getZKOffset() const final;
108 
109  DLL_IMPORT_OR_EXPORT double getISpacing() const final;
110 
111  DLL_IMPORT_OR_EXPORT double getJSpacing() const final;
112 
113  DLL_IMPORT_OR_EXPORT double getKSpacing() const final;
114 
115  DLL_IMPORT_OR_EXPORT int getOriginInline() const final;
116 
117  DLL_IMPORT_OR_EXPORT int getOriginCrossline() const final;
118 
119  DLL_IMPORT_OR_EXPORT int getInlineIOffset() const final;
120 
121  DLL_IMPORT_OR_EXPORT int getInlineJOffset() const final;
122 
123  DLL_IMPORT_OR_EXPORT int getInlineKOffset() const final;
124 
125  DLL_IMPORT_OR_EXPORT int getCrosslineIOffset() const final;
126 
127  DLL_IMPORT_OR_EXPORT int getCrosslineJOffset() const final;
128 
129  DLL_IMPORT_OR_EXPORT int getCrosslineKOffset() const final;
130 
131  DLL_IMPORT_OR_EXPORT void setGeometryAsCoordinateLineNodes(gsoap_resqml2_0_1::resqml20__PillarShape mostComplexPillarGeometry,
132  gsoap_resqml2_0_1::resqml20__KDirection kDirectionKind,
133  bool isRightHanded,
134  double originX, double originY, double originZ,
135  double directionIX, double directionIY, double directionIZ, double spacingI,
136  double directionJX, double directionJY, double directionJZ, double spacingJ,
137  double directionKX, double directionKY, double directionKZ, double spacingK, RESQML2_NS::AbstractLocal3dCrs * localCrs = nullptr) final;
138 
139  DLL_IMPORT_OR_EXPORT void addSeismic3dCoordinatesToPatch(
140  unsigned int patchIndex,
141  double startInline, double incrInline, unsigned int countInline,
142  double startCrossline, double incrCrossline, unsigned int countCrossline,
143  unsigned int countSample, RESQML2_NS::AbstractRepresentation * seismicSupport) final;
144 
145  COMMON_NS::DataObjectReference getHdfProxyDor() const final;
146 
150  DLL_IMPORT_OR_EXPORT static const char* XML_NS;
151 
155  DLL_IMPORT_OR_EXPORT std::string getXmlNamespace() const final { return XML_NS; }
156  };
157 }
An ijk grid lattice representation. This class cannot be inherited.
Definition: IjkGridLatticeRepresentation.h:27
IjkGridLatticeRepresentation(resqml2::AbstractFeatureInterpretation *interp, const std::string &guid, const std::string &title, unsigned int iCount, unsigned int jCount, unsigned int kCount)
Definition: IjkGridLatticeRepresentation.h:57
IjkGridLatticeRepresentation(gsoap_resqml2_0_1::_resqml20__IjkGridRepresentation *fromGsoap)
Creates an instance of this class by wrapping a gSOAP instance.
Definition: IjkGridLatticeRepresentation.h:67
IjkGridLatticeRepresentation(common::DataObjectRepository *repo, const std::string &guid, const std::string &title, unsigned int iCount, unsigned int jCount, unsigned int kCount)
Definition: IjkGridLatticeRepresentation.h:42
IjkGridLatticeRepresentation(gsoap_resqml2_0_1::_resqml20__TruncatedIjkGridRepresentation *fromGsoap)
Creates an instance of this class by wrapping a gSOAP instance.
Definition: IjkGridLatticeRepresentation.h:74