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
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 TimeSeries;
28}
29
30namespace RESQML2_NS
31{
32 class AbstractValuesProperty;
33 class PointsProperty;
34
36 class AbstractRepresentation : public COMMON_NS::AbstractObject
37 {
38 public:
39
41 virtual ~AbstractRepresentation() = default;
42
53 DLL_IMPORT_OR_EXPORT class AbstractLocal3dCrs* getLocalCrs(unsigned int patchIndex) const;
54
66 DLL_IMPORT_OR_EXPORT virtual COMMON_NS::DataObjectReference getLocalCrsDor(unsigned int patchIndex) const;
67
77 DLL_IMPORT_OR_EXPORT virtual COMMON_NS::DataObjectReference getHdfProxyDor() const = 0;
78
85 DLL_IMPORT_OR_EXPORT void setTimeIndex(uint64_t timeIndex, EML2_NS::TimeSeries* timeSeries);
86
95 DLL_IMPORT_OR_EXPORT uint64_t getTimeIndex() const;
96
102 DLL_IMPORT_OR_EXPORT EML2_NS::TimeSeries* getTimeSeries() const;
103
113 COMMON_NS::DataObjectReference getTimeSeriesDor() const;
114
120 DLL_IMPORT_OR_EXPORT std::vector<class AbstractProperty *> getPropertySet() const;
121
122 GETTER_DATAOBJECTS(AbstractValuesProperty, ValuesProperty)
123 GETTER_DATAOBJECTS(PointsProperty, PointsProperty)
124
125
132 DLL_IMPORT_OR_EXPORT void setInterpretation(class AbstractFeatureInterpretation * interp);
133
140 DLL_IMPORT_OR_EXPORT class AbstractFeatureInterpretation* getInterpretation() const;
141
148 DLL_IMPORT_OR_EXPORT COMMON_NS::DataObjectReference getInterpretationDor() const;
149
150 GETTER_DATAOBJECTS(SubRepresentation, SubRepresentation)
151 GETTER_DATAOBJECTS(SubRepresentation, FaultSubRepresentation)
153
164 DLL_IMPORT_OR_EXPORT virtual uint64_t getXyzPointCountOfPatch(unsigned int patchIndex) const = 0;
165
171 DLL_IMPORT_OR_EXPORT uint64_t getXyzPointCountOfAllPatches() const;
172
186 DLL_IMPORT_OR_EXPORT virtual void getXyzPointsOfPatch(unsigned int patchIndex, double * xyzPoints) const = 0;
187
200 DLL_IMPORT_OR_EXPORT void getXyzPointsOfPatchInGlobalCrs(unsigned int patchIndex, double * xyzPoints) const;
201
211 DLL_IMPORT_OR_EXPORT void getXyzPointsOfAllPatches(double * xyzPoints) const;
212
219 DLL_IMPORT_OR_EXPORT bool isInSingleLocalCrs() const;
220
227 DLL_IMPORT_OR_EXPORT bool isInSingleGlobalCrs() const;
228
238 DLL_IMPORT_OR_EXPORT void getXyzPointsOfAllPatchesInGlobalCrs(double * xyzPoints) const;
239
250 DLL_IMPORT_OR_EXPORT AbstractRepresentation* getSeismicSupportOfPatch(const unsigned int & patchIndex) const;
251
259 DLL_IMPORT_OR_EXPORT std::set<AbstractRepresentation*> getAllSeismicSupport() const;
260
266 DLL_IMPORT_OR_EXPORT virtual uint64_t getPatchCount() const = 0;
267
276 DLL_IMPORT_OR_EXPORT void pushBackIntoRepresentationSet(class RepresentationSetRepresentation * repSet);
277
301 DLL_IMPORT_OR_EXPORT void addSeismic3dCoordinatesToPatch(unsigned int patchIndex, double* inlines, double* crosslines, uint64_t pointCount,
302 RESQML2_NS::AbstractRepresentation* seismicSupport, EML2_NS::AbstractHdfProxy* proxy);
303
322 DLL_IMPORT_OR_EXPORT void addSeismic3dCoordinatesToPatch(unsigned int patchIndex, double startInline, double incrInline, unsigned int countInline,
323 double startCrossline, double incrCrossline, unsigned int countCrossline,
324 RESQML2_NS::AbstractRepresentation* seismicSupport);
325
344 DLL_IMPORT_OR_EXPORT void addSeismic2dCoordinatesToPatch(unsigned int patchIndex, double* lineAbscissa,
345 RESQML2_NS::AbstractRepresentation * seismicSupport, EML2_NS::AbstractHdfProxy * proxy);
346
358 DLL_IMPORT_OR_EXPORT void getSeismicLineAbscissaOfPointsOfPatch(unsigned int patchIndex, double* values) const;
359
372 DLL_IMPORT_OR_EXPORT void getInlinesOfPointsOfPatch(unsigned int patchIndex, double * values) const;
373
387 DLL_IMPORT_OR_EXPORT void getCrosslinesOfPointsOfPatch(unsigned int patchIndex, double * values) const;
388
390 static constexpr char const* XML_TAG = "AbstractRepresentation";
391
392 virtual void loadTargetRelationships() override;
393
394 protected:
395
403 DLL_IMPORT_OR_EXPORT AbstractRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : COMMON_NS::AbstractObject(partialObject) {}
404
407
413 AbstractRepresentation(gsoap_resqml2_0_1::resqml20__AbstractRepresentation* fromGsoap) : COMMON_NS::AbstractObject(fromGsoap) {}
414
420 AbstractRepresentation(gsoap_eml2_3::resqml22__AbstractRepresentation* fromGsoap) : COMMON_NS::AbstractObject(fromGsoap) {}
421
430 virtual gsoap_resqml2_0_1::resqml20__PointGeometry* getPointGeometry2_0_1(uint64_t patchIndex) const;
431
440 virtual gsoap_eml2_3::resqml22__PointGeometry* getPointGeometry2_2(uint64_t patchIndex) const;
441
460 gsoap_resqml2_0_1::resqml20__PointGeometry* createPointGeometryPatch2_0_1(uint64_t patchIndex, double const * points, class AbstractLocal3dCrs const* localCrs, uint64_t const * numPoints, uint32_t numDimensionsInArray, EML2_NS::AbstractHdfProxy * proxy);
461
480 gsoap_eml2_3::resqml22__PointGeometry* createPointGeometryPatch2_2(uint64_t patchIndex, double const * points, class AbstractLocal3dCrs const* localCrs, uint64_t const * numPoints, uint32_t numDimensionsInArray, EML2_NS::AbstractHdfProxy * proxy);
481
489 COMMON_NS::DataObjectReference getHdfProxyDorFromPointGeometryPatch(gsoap_resqml2_0_1::resqml20__PointGeometry* patch) const;
490
498 COMMON_NS::DataObjectReference getHdfProxyDorFromPointGeometryPatch(gsoap_eml2_3::resqml22__PointGeometry* patch) const;
499
507 gsoap_resqml2_0_1::resqml20__Seismic3dCoordinates* getSeismic3dCoordinates2_0_1(unsigned int patchIndex) const;
508
516 gsoap_eml2_3::resqml22__Seismic3dCoordinates* getSeismic3dCoordinates2_2(unsigned int patchIndex) const;
517 };
518}
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:37
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 ...
virtual common::DataObjectReference getLocalCrsDor(unsigned int patchIndex) const
class AbstractLocal3dCrs * getLocalCrs(unsigned int patchIndex) const
void setTimeIndex(uint64_t timeIndex, eml2 ::TimeSeries *timeSeries)
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