Fesapi 2.3.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
AbstractRepresentation.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 <set>
22
23#include "../common/AbstractObject.h"
24
25namespace RESQML2_NS
26{
27 class AbstractValuesProperty;
28 class PointsProperty;
29
31 class AbstractRepresentation : public COMMON_NS::AbstractObject
32 {
33 public:
34
36 virtual ~AbstractRepresentation() = default;
37
48 DLL_IMPORT_OR_EXPORT class AbstractLocal3dCrs* getLocalCrs(unsigned int patchIndex) const;
49
61 DLL_IMPORT_OR_EXPORT virtual COMMON_NS::DataObjectReference getLocalCrsDor(unsigned int patchIndex) const;
62
72 DLL_IMPORT_OR_EXPORT virtual COMMON_NS::DataObjectReference getHdfProxyDor() const = 0;
73
79 DLL_IMPORT_OR_EXPORT std::vector<class AbstractProperty *> getPropertySet() const;
80
81 GETTER_DATAOBJECTS(AbstractValuesProperty, ValuesProperty)
82 GETTER_DATAOBJECTS(PointsProperty, PointsProperty)
83
84
91 DLL_IMPORT_OR_EXPORT void setInterpretation(class AbstractFeatureInterpretation * interp);
92
99 DLL_IMPORT_OR_EXPORT class AbstractFeatureInterpretation* getInterpretation() const;
100
107 DLL_IMPORT_OR_EXPORT COMMON_NS::DataObjectReference getInterpretationDor() const;
108
109 GETTER_DATAOBJECTS(SubRepresentation, SubRepresentation)
110 GETTER_DATAOBJECTS(SubRepresentation, FaultSubRepresentation)
112
123 DLL_IMPORT_OR_EXPORT virtual uint64_t getXyzPointCountOfPatch(unsigned int patchIndex) const = 0;
124
130 DLL_IMPORT_OR_EXPORT uint64_t getXyzPointCountOfAllPatches() const;
131
145 DLL_IMPORT_OR_EXPORT virtual void getXyzPointsOfPatch(unsigned int patchIndex, double * xyzPoints) const = 0;
146
159 DLL_IMPORT_OR_EXPORT void getXyzPointsOfPatchInGlobalCrs(unsigned int patchIndex, double * xyzPoints) const;
160
170 DLL_IMPORT_OR_EXPORT void getXyzPointsOfAllPatches(double * xyzPoints) const;
171
178 DLL_IMPORT_OR_EXPORT bool isInSingleLocalCrs() const;
179
186 DLL_IMPORT_OR_EXPORT bool isInSingleGlobalCrs() const;
187
197 DLL_IMPORT_OR_EXPORT void getXyzPointsOfAllPatchesInGlobalCrs(double * xyzPoints) const;
198
209 DLL_IMPORT_OR_EXPORT AbstractRepresentation* getSeismicSupportOfPatch(const unsigned int & patchIndex) const;
210
218 DLL_IMPORT_OR_EXPORT std::set<AbstractRepresentation*> getAllSeismicSupport() const;
219
225 DLL_IMPORT_OR_EXPORT virtual unsigned int getPatchCount() const = 0;
226
235 DLL_IMPORT_OR_EXPORT void pushBackIntoRepresentationSet(class RepresentationSetRepresentation * repSet);
236
260 DLL_IMPORT_OR_EXPORT void addSeismic3dCoordinatesToPatch(unsigned int patchIndex, double* inlines, double* crosslines, unsigned int pointCount,
261 RESQML2_NS::AbstractRepresentation* seismicSupport, EML2_NS::AbstractHdfProxy* proxy);
262
281 DLL_IMPORT_OR_EXPORT void addSeismic3dCoordinatesToPatch(unsigned int patchIndex, double startInline, double incrInline, unsigned int countInline,
282 double startCrossline, double incrCrossline, unsigned int countCrossline,
283 RESQML2_NS::AbstractRepresentation* seismicSupport);
284
303 DLL_IMPORT_OR_EXPORT void addSeismic2dCoordinatesToPatch(unsigned int patchIndex, double* lineAbscissa,
304 RESQML2_NS::AbstractRepresentation * seismicSupport, EML2_NS::AbstractHdfProxy * proxy);
305
317 DLL_IMPORT_OR_EXPORT void getSeismicLineAbscissaOfPointsOfPatch(unsigned int patchIndex, double* values) const;
318
331 DLL_IMPORT_OR_EXPORT void getInlinesOfPointsOfPatch(unsigned int patchIndex, double * values) const;
332
346 DLL_IMPORT_OR_EXPORT void getCrosslinesOfPointsOfPatch(unsigned int patchIndex, double * values) const;
347
349 static const char* XML_TAG;
350
351 virtual void loadTargetRelationships() override;
352
353 protected:
354
362 DLL_IMPORT_OR_EXPORT AbstractRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : COMMON_NS::AbstractObject(partialObject) {}
363
366
372 AbstractRepresentation(gsoap_resqml2_0_1::resqml20__AbstractRepresentation* fromGsoap) : COMMON_NS::AbstractObject(fromGsoap) {}
373
379 AbstractRepresentation(gsoap_eml2_3::resqml22__AbstractRepresentation* fromGsoap) : COMMON_NS::AbstractObject(fromGsoap) {}
380
389 virtual gsoap_resqml2_0_1::resqml20__PointGeometry* getPointGeometry2_0_1(unsigned int patchIndex) const;
390
399 virtual gsoap_eml2_3::resqml22__PointGeometry* getPointGeometry2_2(unsigned int patchIndex) const;
400
419 gsoap_resqml2_0_1::resqml20__PointGeometry* createPointGeometryPatch2_0_1(uint32_t patchIndex, double const * points, class AbstractLocal3dCrs const* localCrs, uint64_t const * numPoints, uint32_t numDimensionsInArray, EML2_NS::AbstractHdfProxy * proxy);
420
439 gsoap_eml2_3::resqml22__PointGeometry* createPointGeometryPatch2_2(uint32_t patchIndex, double const * points, class AbstractLocal3dCrs const* localCrs, uint64_t const * numPoints, uint32_t numDimensionsInArray, EML2_NS::AbstractHdfProxy * proxy);
440
448 COMMON_NS::DataObjectReference getHdfProxyDorFromPointGeometryPatch(gsoap_resqml2_0_1::resqml20__PointGeometry* patch) const;
449
457 COMMON_NS::DataObjectReference getHdfProxyDorFromPointGeometryPatch(gsoap_eml2_3::resqml22__PointGeometry* patch) const;
458
466 gsoap_resqml2_0_1::resqml20__Seismic3dCoordinates* getSeismic3dCoordinates2_0_1(unsigned int patchIndex) const;
467
475 gsoap_eml2_3::resqml22__Seismic3dCoordinates* getSeismic3dCoordinates2_2(unsigned int patchIndex) const;
476 };
477}
Proxy class for an abstract feature interpretation.
Definition: AbstractFeatureInterpretation.h:29
Proxy class for an abstract local 3D coordinate reference system (CRS).
Definition: AbstractLocal3dCrs.h:27
Proxy class for an abstract representation.
Definition: AbstractRepresentation.h:32
virtual common::DataObjectReference getHdfProxyDor() const =0
Gets the data object reference of the HDF proxy which is used for storing the numerical values of thi...
std::vector< class AbstractProperty * > getPropertySet() const
virtual ~AbstractRepresentation()=default
virtual common::DataObjectReference getLocalCrsDor(unsigned int patchIndex) const
class AbstractLocal3dCrs * getLocalCrs(unsigned int patchIndex) const
Proxy class for an abstract values property.
Definition: AbstractValuesProperty.h:28
Proxy class for an points property.
Definition: PointsProperty.h:27
Proxy class for a representation set representation. This is the parent class of the framework repres...
Definition: RepresentationSetRepresentation.h:39
Proxy class for a sub-representation. A sub representation is an ordered list of indexable elements a...
Definition: SubRepresentation.h:38