Fesapi 2.10.1.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Loading...
Searching...
No Matches
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 EML2_NS
26{
27 class AbstractLocal3dCrs;
28 class TimeSeries;
29}
30
31namespace RESQML2_NS
32{
33 class AbstractValuesProperty;
34 class PointsProperty;
35
37 class AbstractRepresentation : public COMMON_NS::AbstractObject
38 {
39 public:
40
42 virtual ~AbstractRepresentation() = default;
43
54 DLL_IMPORT_OR_EXPORT EML2_NS::AbstractLocal3dCrs* getLocalCrs(uint64_t patchIndex) const;
55
67 DLL_IMPORT_OR_EXPORT virtual COMMON_NS::DataObjectReference getLocalCrsDor(uint64_t patchIndex) const;
68
78 DLL_IMPORT_OR_EXPORT virtual COMMON_NS::DataObjectReference getHdfProxyDor() const = 0;
79
86 DLL_IMPORT_OR_EXPORT void setTimeIndex(uint64_t timeIndex, EML2_NS::TimeSeries* timeSeries);
87
96 DLL_IMPORT_OR_EXPORT uint64_t getTimeIndex() const;
97
103 DLL_IMPORT_OR_EXPORT EML2_NS::TimeSeries* getTimeSeries() const;
104
114 COMMON_NS::DataObjectReference getTimeSeriesDor() const;
115
121 DLL_IMPORT_OR_EXPORT std::vector<class AbstractProperty *> getPropertySet() const;
122
123 GETTER_DATAOBJECTS(AbstractValuesProperty, ValuesProperty)
124 GETTER_DATAOBJECTS(PointsProperty, PointsProperty)
125
126
133 DLL_IMPORT_OR_EXPORT void setInterpretation(class AbstractFeatureInterpretation * interp);
134
141 DLL_IMPORT_OR_EXPORT class AbstractFeatureInterpretation* getInterpretation() const;
142
149 DLL_IMPORT_OR_EXPORT COMMON_NS::DataObjectReference getInterpretationDor() const;
150
151 GETTER_DATAOBJECTS(SubRepresentation, SubRepresentation)
152 GETTER_DATAOBJECTS(SubRepresentation, FaultSubRepresentation)
154
165 DLL_IMPORT_OR_EXPORT virtual uint64_t getXyzPointCountOfPatch(unsigned int patchIndex) const = 0;
166
172 DLL_IMPORT_OR_EXPORT uint64_t getXyzPointCountOfAllPatches() const;
173
187 DLL_IMPORT_OR_EXPORT virtual void getXyzPointsOfPatch(unsigned int patchIndex, double * xyzPoints) const = 0;
188
201 DLL_IMPORT_OR_EXPORT void getXyzPointsOfPatchInGlobalCrs(unsigned int patchIndex, double * xyzPoints) const;
202
212 DLL_IMPORT_OR_EXPORT void getXyzPointsOfAllPatches(double * xyzPoints) const;
213
220 DLL_IMPORT_OR_EXPORT bool isInSingleLocalCrs() const;
221
228 DLL_IMPORT_OR_EXPORT bool isInSingleGlobalCrs() const;
229
239 DLL_IMPORT_OR_EXPORT void getXyzPointsOfAllPatchesInGlobalCrs(double * xyzPoints) const;
240
251 DLL_IMPORT_OR_EXPORT AbstractRepresentation* getSeismicSupportOfPatch(const unsigned int & patchIndex) const;
252
260 DLL_IMPORT_OR_EXPORT std::set<AbstractRepresentation*> getAllSeismicSupport() const;
261
267 DLL_IMPORT_OR_EXPORT virtual uint64_t getPatchCount() const = 0;
268
277 DLL_IMPORT_OR_EXPORT void pushBackIntoRepresentationSet(class RepresentationSetRepresentation * repSet);
278
302 DLL_IMPORT_OR_EXPORT void addSeismic3dCoordinatesToPatch(unsigned int patchIndex, double* inlines, double* crosslines, uint64_t pointCount,
303 RESQML2_NS::AbstractRepresentation* seismicSupport, EML2_NS::AbstractHdfProxy* proxy);
304
323 DLL_IMPORT_OR_EXPORT void addSeismic3dCoordinatesToPatch(unsigned int patchIndex, double startInline, double incrInline, unsigned int countInline,
324 double startCrossline, double incrCrossline, unsigned int countCrossline,
325 RESQML2_NS::AbstractRepresentation* seismicSupport);
326
345 DLL_IMPORT_OR_EXPORT void addSeismic2dCoordinatesToPatch(unsigned int patchIndex, double* lineAbscissa,
346 RESQML2_NS::AbstractRepresentation * seismicSupport, EML2_NS::AbstractHdfProxy * proxy);
347
359 DLL_IMPORT_OR_EXPORT void getSeismicLineAbscissaOfPointsOfPatch(unsigned int patchIndex, double* values) const;
360
373 DLL_IMPORT_OR_EXPORT void getInlinesOfPointsOfPatch(unsigned int patchIndex, double * values) const;
374
388 DLL_IMPORT_OR_EXPORT void getCrosslinesOfPointsOfPatch(unsigned int patchIndex, double * values) const;
389
391 static constexpr char const* XML_TAG = "AbstractRepresentation";
392
393 virtual void loadTargetRelationships() override;
394
395 protected:
396
404 DLL_IMPORT_OR_EXPORT AbstractRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : COMMON_NS::AbstractObject(partialObject) {}
405
408
414 AbstractRepresentation(gsoap_resqml2_0_1::resqml20__AbstractRepresentation* fromGsoap) : COMMON_NS::AbstractObject(fromGsoap) {}
415
421 AbstractRepresentation(gsoap_eml2_3::resqml22__AbstractRepresentation* fromGsoap) : COMMON_NS::AbstractObject(fromGsoap) {}
422
431 virtual gsoap_resqml2_0_1::resqml20__PointGeometry* getPointGeometry2_0_1(uint64_t patchIndex) const;
432
441 virtual gsoap_eml2_3::resqml22__PointGeometry* getPointGeometry2_2(uint64_t patchIndex) const;
442
460 gsoap_resqml2_0_1::resqml20__PointGeometry* createPointGeometryPatch2_0_1(uint64_t patchIndex,
461 double const * points, EML2_NS::AbstractLocal3dCrs const* localCrs, uint64_t const * dimensions, uint32_t numDimensionsInArray, EML2_NS::AbstractHdfProxy * proxy);
462
480 gsoap_eml2_3::resqml22__PointGeometry* createPointGeometryPatch2_2(uint64_t patchIndex,
481 double const * points, EML2_NS::AbstractLocal3dCrs const* localCrs, uint64_t const * dimensions, uint32_t numDimensionsInArray, EML2_NS::AbstractHdfProxy * proxy);
482
490 COMMON_NS::DataObjectReference getHdfProxyDorFromPointGeometryPatch(gsoap_resqml2_0_1::resqml20__PointGeometry* patch) const;
491
499 COMMON_NS::DataObjectReference getHdfProxyDorFromPointGeometryPatch(gsoap_eml2_3::resqml22__PointGeometry* patch) const;
500
508 gsoap_resqml2_0_1::resqml20__Seismic3dCoordinates* getSeismic3dCoordinates2_0_1(unsigned int patchIndex) const;
509
517 gsoap_eml2_3::resqml22__Seismic3dCoordinates* getSeismic3dCoordinates2_2(unsigned int patchIndex) const;
518 };
519}
Proxy class for an abstract feature interpretation.
Definition AbstractFeatureInterpretation.h:29
Proxy class for an abstract representation.
Definition AbstractRepresentation.h:38
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...
eml2::TimeSeries * getTimeSeries() const
common::DataObjectReference getTimeSeriesDor() const
Gets the data object reference of the TimeSeries containing the time of this representation at a part...
std::vector< class AbstractProperty * > getPropertySet() const
virtual ~AbstractRepresentation()=default
uint64_t getTimeIndex() const
Gets the time index of this representation in the associated TimeSeries. Be sure to first check that ...
void setTimeIndex(uint64_t timeIndex, eml2::TimeSeries *timeSeries)
virtual common::DataObjectReference getLocalCrsDor(uint64_t patchIndex) const
eml2::AbstractLocal3dCrs * getLocalCrs(uint64_t patchIndex) const
Proxy class for an abstract values property.
Definition AbstractValuesProperty.h:27
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