Fesapi 2.3.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
IjkGridLatticeRepresentation.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{
32 {
33 public:
37 virtual ~IjkGridLatticeRepresentation() = default;
38
44 DLL_IMPORT_OR_EXPORT bool isASeismicCube() const;
45
51 DLL_IMPORT_OR_EXPORT bool isAFaciesCube() const;
52
54 DLL_IMPORT_OR_EXPORT void getXyzPointsOfPatch(unsigned int patchIndex, double* xyzPoints) const final;
55
64 DLL_IMPORT_OR_EXPORT virtual double getXOrigin() const = 0;
65
74 DLL_IMPORT_OR_EXPORT virtual double getYOrigin() const = 0;
75
84 DLL_IMPORT_OR_EXPORT virtual double getZOrigin() const = 0;
85
93 DLL_IMPORT_OR_EXPORT double getXOriginInGlobalCrs() const;
94
102 DLL_IMPORT_OR_EXPORT double getYOriginInGlobalCrs() const;
103
111 DLL_IMPORT_OR_EXPORT double getZOriginInGlobalCrs() const;
112
121 DLL_IMPORT_OR_EXPORT virtual double getXIOffset() const = 0;
122
131 DLL_IMPORT_OR_EXPORT virtual double getYIOffset() const = 0;
132
141 DLL_IMPORT_OR_EXPORT virtual double getZIOffset() const = 0;
142
151 DLL_IMPORT_OR_EXPORT virtual double getXJOffset() const = 0;
152
161 DLL_IMPORT_OR_EXPORT virtual double getYJOffset() const = 0;
162
171 DLL_IMPORT_OR_EXPORT virtual double getZJOffset() const = 0;
172
181 DLL_IMPORT_OR_EXPORT virtual double getXKOffset() const = 0;
182
191 DLL_IMPORT_OR_EXPORT virtual double getYKOffset() const = 0;
192
201 DLL_IMPORT_OR_EXPORT virtual double getZKOffset() const = 0;
202
211 DLL_IMPORT_OR_EXPORT virtual double getISpacing() const = 0;
212
220 DLL_IMPORT_OR_EXPORT virtual double getJSpacing() const = 0;
221
230 DLL_IMPORT_OR_EXPORT virtual double getKSpacing() const = 0;
231
239 DLL_IMPORT_OR_EXPORT virtual int getOriginInline() const = 0;
240
248 DLL_IMPORT_OR_EXPORT virtual int getOriginCrossline() const = 0;
249
257 DLL_IMPORT_OR_EXPORT virtual int getInlineIOffset() const = 0;
258
266 DLL_IMPORT_OR_EXPORT virtual int getInlineJOffset() const = 0;
267
275 DLL_IMPORT_OR_EXPORT virtual int getInlineKOffset() const = 0;
276
284 DLL_IMPORT_OR_EXPORT virtual int getCrosslineIOffset() const = 0;
285
293 DLL_IMPORT_OR_EXPORT virtual int getCrosslineJOffset() const = 0;
294
302 DLL_IMPORT_OR_EXPORT virtual int getCrosslineKOffset() const = 0;
303
335 DLL_IMPORT_OR_EXPORT virtual void setGeometryAsCoordinateLineNodes(gsoap_resqml2_0_1::resqml20__PillarShape mostComplexPillarGeometry,
336 gsoap_resqml2_0_1::resqml20__KDirection kDirectionKind,
337 bool isRightHanded,
338 double originX, double originY, double originZ,
339 double directionIX, double directionIY, double directionIZ, double spacingI,
340 double directionJX, double directionJY, double directionJZ, double spacingJ,
341 double directionKX, double directionKY, double directionKZ, double spacingK, RESQML2_NS::AbstractLocal3dCrs * localCrs = nullptr) = 0;
342
363 DLL_IMPORT_OR_EXPORT virtual void addSeismic3dCoordinatesToPatch(
364 unsigned int patchIndex,
365 double startInline, double incrInline, unsigned int countInline,
366 double startCrossline, double incrCrossline, unsigned int countCrossline,
367 unsigned int countSample, RESQML2_NS::AbstractRepresentation * seismicSupport) = 0;
368
369 DLL_IMPORT_OR_EXPORT geometryKind getGeometryKind() const final;
370
371 protected:
372 IjkGridLatticeRepresentation(COMMON_NS::DataObjectRepository * repo,
373 const std::string & guid, const std::string & title,
374 unsigned int iCount, unsigned int jCount, unsigned int kCount) :
375 AbstractIjkGridRepresentation(repo, guid, title, iCount, jCount, kCount, nullptr) {}
376
377 IjkGridLatticeRepresentation(RESQML2_NS::AbstractFeatureInterpretation* interp,
378 const std::string & guid, const std::string & title,
379 unsigned int iCount, unsigned int jCount, unsigned int kCount) :
380 AbstractIjkGridRepresentation(interp, guid, title, iCount, jCount, kCount, nullptr) {}
381
385 IjkGridLatticeRepresentation(gsoap_resqml2_0_1::_resqml20__IjkGridRepresentation* fromGsoap) : AbstractIjkGridRepresentation(fromGsoap) {}
386 IjkGridLatticeRepresentation(gsoap_eml2_3::_resqml22__IjkGridRepresentation* fromGsoap) : AbstractIjkGridRepresentation(fromGsoap) {}
387 IjkGridLatticeRepresentation(gsoap_resqml2_0_1::_resqml20__TruncatedIjkGridRepresentation* fromGsoap) : AbstractIjkGridRepresentation(fromGsoap) {}
388 IjkGridLatticeRepresentation(gsoap_eml2_3::_resqml22__TruncatedIjkGridRepresentation* fromGsoap) : AbstractIjkGridRepresentation(fromGsoap) {}
389 };
390}
Proxy class for an abstract IJK grid representation. This class is semantically abstract....
Definition: AbstractIjkGridRepresentation.h:34
geometryKind
Definition: AbstractIjkGridRepresentation.h:38
The main use case for this class is the representation of a seismic cubes. Notice that,...
Definition: IjkGridLatticeRepresentation.h:32
virtual double getZOrigin() const =0
virtual double getXJOffset() const =0
virtual int getCrosslineJOffset() const =0
virtual double getXIOffset() const =0
virtual double getYIOffset() const =0
virtual double getJSpacing() const =0
virtual double getYKOffset() const =0
virtual double getKSpacing() const =0
virtual int getInlineKOffset() const =0
virtual double getXOrigin() const =0
virtual double getZJOffset() const =0
virtual double getZKOffset() const =0
virtual ~IjkGridLatticeRepresentation()=default
virtual double getYJOffset() const =0
void getXyzPointsOfPatch(unsigned int patchIndex, double *xyzPoints) const final
virtual int getCrosslineKOffset() const =0
geometryKind getGeometryKind() const final
virtual int getOriginInline() const =0
virtual int getOriginCrossline() const =0
virtual void addSeismic3dCoordinatesToPatch(unsigned int patchIndex, double startInline, double incrInline, unsigned int countInline, double startCrossline, double incrCrossline, unsigned int countCrossline, unsigned int countSample, resqml2::AbstractRepresentation *seismicSupport)=0
virtual int getInlineIOffset() const =0
virtual void setGeometryAsCoordinateLineNodes(gsoap_resqml2_0_1::resqml20__PillarShape mostComplexPillarGeometry, gsoap_resqml2_0_1::resqml20__KDirection kDirectionKind, bool isRightHanded, double originX, double originY, double originZ, double directionIX, double directionIY, double directionIZ, double spacingI, double directionJX, double directionJY, double directionJZ, double spacingJ, double directionKX, double directionKY, double directionKZ, double spacingK, resqml2::AbstractLocal3dCrs *localCrs=nullptr)=0
virtual double getISpacing() const =0
virtual double getZIOffset() const =0
virtual int getInlineJOffset() const =0
virtual int getCrosslineIOffset() const =0
virtual double getYOrigin() const =0
virtual double getXKOffset() const =0