Fesapi  0.13.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_0_1/AbstractIjkGridRepresentation.h"
22 
23 namespace RESQML2_0_1_NS
24 {
25  class DLL_IMPORT_OR_EXPORT IjkGridLatticeRepresentation : public AbstractIjkGridRepresentation
26  {
27  private :
28  gsoap_resqml2_0_1::resqml2__Point3dLatticeArray* getArrayLatticeOfPoints3d() const;
29  public:
30 
32  const std::string & guid, const std::string & title,
33  const unsigned int & iCount, const unsigned int & jCount, const unsigned int & kCount);
34 
36  const std::string & guid, const std::string & title,
37  const unsigned int & iCount, const unsigned int & jCount, const unsigned int & kCount);
38 
42  IjkGridLatticeRepresentation(gsoap_resqml2_0_1::_resqml2__IjkGridRepresentation* fromGsoap): AbstractIjkGridRepresentation(fromGsoap) {}
43  IjkGridLatticeRepresentation(gsoap_resqml2_0_1::_resqml2__TruncatedIjkGridRepresentation* fromGsoap) : AbstractIjkGridRepresentation(fromGsoap) {}
44 
49 
53  bool isASeismicCube() const;
54 
58  bool isAFaciesCube() const;
59 
63  ULONG64 getXyzPointCountOfPatch(const unsigned int & patchIndex) const;
64 
70  void getXyzPointsOfPatch(const unsigned int & patchIndex, double * xyzPoints) const;
71 
77  double getXOrigin() const;
78 
84  double getYOrigin() const;
85 
91  double getZOrigin() const;
92 
98  double getXOriginInGlobalCrs() const;
99 
105  double getYOriginInGlobalCrs() const;
106 
112  double getZOriginInGlobalCrs() const;
113 
114  /*****************************************************
115  * Notice that, in seismic context, I is the slowest axis, J is the intermediate axis and K is the fastest axis.
116  * In reservoir grid, I is the fastest axis, J is the intermediate axis and K is slowest axis.
117  * It should be improved in future Resqml versions.
118  *****************************************************/
119 
125  double getXIOffset() const;
126 
132  double getYIOffset() const;
133 
139  double getZIOffset() const;
140 
146  double getXJOffset() const;
147 
153  double getYJOffset() const;
154 
160  double getZJOffset() const;
161 
167  double getXKOffset() const;
168 
174  double getYKOffset() const;
175 
181  double getZKOffset() const;
182 
187  double getISpacing() const;
188 
193  double getJSpacing() const;
194 
199  double getKSpacing() const;
200 
204  int getOriginInline() const;
205 
209  int getOriginCrossline() const;
210 
214  int getInlineIOffset() const;
215 
219  int getInlineJOffset() const;
220 
224  int getInlineKOffset() const;
225 
229  int getCrosslineIOffset() const;
230 
234  int getCrosslineJOffset() const;
235 
239  int getCrosslineKOffset() const;
240 
244  void setGeometryAsCoordinateLineNodes( const gsoap_resqml2_0_1::resqml2__PillarShape & mostComplexPillarGeometry,
245  const gsoap_resqml2_0_1::resqml2__KDirection & kDirectionKind,
246  const bool & isRightHanded,
247  const double & originX, const double & originY, const double & originZ,
248  const double & directionIX, const double & directionIY, const double & directionIZ, const double & spacingI,
249  const double & directionJX, const double & directionJY, const double & directionJZ, const double & spacingJ,
250  const double & directionKX, const double & directionKY, const double & directionKZ, const double & spacingK);
251 
256  void addSeismic3dCoordinatesToPatch(
257  const unsigned int patchIndex,
258  const double & startInline, const double & incrInline, const unsigned int & countInline,
259  const double & startCrossline, const double & incrCrossline, const unsigned int & countCrossline,
260  const unsigned int & countSample, AbstractRepresentation * seismicSupport);
261 
262  std::string getHdfProxyUuid() const;
263 
264  geometryKind getGeometryKind() const;
265  };
266 }
267 
IjkGridLatticeRepresentation(gsoap_resqml2_0_1::_resqml2__IjkGridRepresentation *fromGsoap)
Definition: IjkGridLatticeRepresentation.h:42
Definition: AbstractIjkGridRepresentation.h:32
~IjkGridLatticeRepresentation()
Definition: IjkGridLatticeRepresentation.h:48
Definition: AbstractFeatureInterpretation.h:30
Definition: EpcDocument.h:65
Definition: IjkGridLatticeRepresentation.h:25
Definition: AbstractLocal3dCrs.h:25