Fesapi 2.9.0.1
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Loading...
Searching...
No Matches
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
122 DLL_IMPORT_OR_EXPORT virtual double getXIOffset() const = 0;
123
133 DLL_IMPORT_OR_EXPORT virtual double getYIOffset() const = 0;
134
144 DLL_IMPORT_OR_EXPORT virtual double getZIOffset() const = 0;
145
156 DLL_IMPORT_OR_EXPORT virtual double getXJOffset() const = 0;
157
168 DLL_IMPORT_OR_EXPORT virtual double getYJOffset() const = 0;
169
180 DLL_IMPORT_OR_EXPORT virtual double getZJOffset() const = 0;
181
191 DLL_IMPORT_OR_EXPORT virtual double getXKOffset() const = 0;
192
202 DLL_IMPORT_OR_EXPORT virtual double getYKOffset() const = 0;
203
213 DLL_IMPORT_OR_EXPORT virtual double getZKOffset() const = 0;
214
224 DLL_IMPORT_OR_EXPORT virtual double getISpacing() const = 0;
225
235 DLL_IMPORT_OR_EXPORT virtual double getJSpacing() const = 0;
236
246 DLL_IMPORT_OR_EXPORT virtual double getKSpacing() const = 0;
247
255 DLL_IMPORT_OR_EXPORT virtual int getOriginInline() const = 0;
256
264 DLL_IMPORT_OR_EXPORT virtual int getOriginCrossline() const = 0;
265
273 DLL_IMPORT_OR_EXPORT virtual int getInlineIOffset() const = 0;
274
282 DLL_IMPORT_OR_EXPORT virtual int getInlineJOffset() const = 0;
283
291 DLL_IMPORT_OR_EXPORT virtual int getInlineKOffset() const = 0;
292
300 DLL_IMPORT_OR_EXPORT virtual int getCrosslineIOffset() const = 0;
301
309 DLL_IMPORT_OR_EXPORT virtual int getCrosslineJOffset() const = 0;
310
318 DLL_IMPORT_OR_EXPORT virtual int getCrosslineKOffset() const = 0;
319
353 DLL_IMPORT_OR_EXPORT virtual void setGeometryAsCoordinateLineNodes(gsoap_resqml2_0_1::resqml20__PillarShape mostComplexPillarGeometry,
354 gsoap_resqml2_0_1::resqml20__KDirection kDirectionKind,
355 bool isRightHanded,
356 double originX, double originY, double originZ,
357 double directionIX, double directionIY, double directionIZ, double spacingI,
358 double directionJX, double directionJY, double directionJZ, double spacingJ,
359 double directionKX, double directionKY, double directionKZ, double spacingK, RESQML2_NS::AbstractLocal3dCrs * localCrs = nullptr) = 0;
360
381 DLL_IMPORT_OR_EXPORT virtual void addSeismic3dCoordinatesToPatch(
382 unsigned int patchIndex,
383 double startInline, double incrInline, unsigned int countInline,
384 double startCrossline, double incrCrossline, unsigned int countCrossline,
385 unsigned int countSample, RESQML2_NS::AbstractRepresentation * seismicSupport) = 0;
386
387 DLL_IMPORT_OR_EXPORT geometryKind getGeometryKind() const final;
388
389 protected:
390 IjkGridLatticeRepresentation(COMMON_NS::DataObjectRepository * repo,
391 const std::string & guid, const std::string & title,
392 unsigned int iCount, unsigned int jCount, unsigned int kCount) :
393 AbstractIjkGridRepresentation(repo, guid, title, iCount, jCount, kCount, nullptr) {}
394
395 IjkGridLatticeRepresentation(RESQML2_NS::AbstractFeatureInterpretation* interp,
396 const std::string & guid, const std::string & title,
397 unsigned int iCount, unsigned int jCount, unsigned int kCount) :
398 AbstractIjkGridRepresentation(interp, guid, title, iCount, jCount, kCount, nullptr) {}
399
403 IjkGridLatticeRepresentation(gsoap_resqml2_0_1::_resqml20__IjkGridRepresentation* fromGsoap) : AbstractIjkGridRepresentation(fromGsoap) {}
404 IjkGridLatticeRepresentation(gsoap_eml2_3::_resqml22__IjkGridRepresentation* fromGsoap) : AbstractIjkGridRepresentation(fromGsoap) {}
405 IjkGridLatticeRepresentation(gsoap_resqml2_0_1::_resqml20__TruncatedIjkGridRepresentation* fromGsoap) : AbstractIjkGridRepresentation(fromGsoap) {}
406 IjkGridLatticeRepresentation(gsoap_eml2_3::_resqml22__TruncatedIjkGridRepresentation* fromGsoap) : AbstractIjkGridRepresentation(fromGsoap) {}
407 };
408}
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. I is the fastest axis and ...
Definition IjkGridLatticeRepresentation.h:32
virtual double getZOrigin() const =0
virtual double getXJOffset() 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 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 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