Fesapi  2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
EarthModelInterpretation.h
1 /*-----------------------------------------------------------------------
2 Licensed to the Apache Software Foundation (ASF) under one
3 or more contributor license agreements. See the NOTICE file
4 distributed with this work for additional information
5 regarding copyright ownership. The ASF licenses this file
6 to you under the Apache License, Version 2.0 (the
7 "License"; you may not use this file except in compliance
8 with the License. You may obtain a copy of the License at
9 
10  http://www.apache.org/licenses/LICENSE-2.0
11 
12 Unless required by applicable law or agreed to in writing,
13 software distributed under the License is distributed on an
14 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 KIND, either express or implied. See the License for the
16 specific language governing permissions and limitations
17 under the License.
18 -----------------------------------------------------------------------*/
19 #pragma once
20 
21 #include "AbstractFeatureInterpretation.h"
22 
23 namespace RESQML2_NS
24 {
25  class RockFluidOrganizationInterpretation;
26  class StratigraphicColumn;
27  class StratigraphicOccurrenceInterpretation;
28  class StructuralOrganizationInterpretation;
29 
37  {
38  public:
39 
41  virtual ~EarthModelInterpretation() = default;
42 
48  DLL_IMPORT_OR_EXPORT virtual unsigned int getStructuralOrganizationInterpretationCount() const = 0;
49 
61  DLL_IMPORT_OR_EXPORT virtual COMMON_NS::DataObjectReference getStructuralOrganizationInterpertationDor(unsigned int index) const = 0;
62 
74  DLL_IMPORT_OR_EXPORT StructuralOrganizationInterpretation* getStructuralOrganizationInterpertation(unsigned int index) const;
75 
83  DLL_IMPORT_OR_EXPORT virtual void pushBackStructuralOrganizationInterpretation(StructuralOrganizationInterpretation * structOrganization) = 0;
84 
85  //Strati column
86 
92  DLL_IMPORT_OR_EXPORT virtual bool hasStratiColumn() const = 0;
93 
101  DLL_IMPORT_OR_EXPORT virtual void setStratiColumn(StratigraphicColumn * stratiColumn) = 0;
102 
109  DLL_IMPORT_OR_EXPORT virtual COMMON_NS::DataObjectReference getStratiColumnDor() const = 0;
110 
117  DLL_IMPORT_OR_EXPORT StratigraphicColumn* getStratiColumn() const;
118 
128  DLL_IMPORT_OR_EXPORT virtual unsigned int getStratiOccurrenceCount() const = 0;
129 
140  virtual COMMON_NS::DataObjectReference getStratiOccurrenceDor(unsigned int index) const = 0;
141 
152  DLL_IMPORT_OR_EXPORT StratigraphicOccurrenceInterpretation* getStratiOccurrence(unsigned int index) const;
153 
161  DLL_IMPORT_OR_EXPORT virtual void pushBackStratiOccurrence(StratigraphicOccurrenceInterpretation * stratiOccurence) = 0;
162 
169  DLL_IMPORT_OR_EXPORT virtual unsigned int getRockFluidOrganizationInterpretationCount() const = 0;
170 
178  DLL_IMPORT_OR_EXPORT virtual void pushBackRockFluidOrganizationInterpretation(RockFluidOrganizationInterpretation* rockFluid) = 0;
179 
191  virtual COMMON_NS::DataObjectReference getRockFluidOrganizationInterpretationDor(unsigned int index) const = 0;
192 
204  DLL_IMPORT_OR_EXPORT RockFluidOrganizationInterpretation* getRockFluidOrganizationInterpretation(unsigned int index) const;
205 
207  DLL_IMPORT_OR_EXPORT static const char* XML_TAG;
208 
209  DLL_IMPORT_OR_EXPORT virtual std::string getXmlTag() const override { return XML_TAG; }
210 
211  protected:
212 
220  DLL_IMPORT_OR_EXPORT EarthModelInterpretation(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : AbstractFeatureInterpretation(partialObject) {}
221 
225  EarthModelInterpretation() {}
226 
232  EarthModelInterpretation(gsoap_resqml2_0_1::_resqml20__EarthModelInterpretation* fromGsoap) : AbstractFeatureInterpretation(fromGsoap) {}
233 
239  EarthModelInterpretation(gsoap_eml2_3::_resqml22__EarthModelInterpretation* fromGsoap) : AbstractFeatureInterpretation(fromGsoap) {}
240 
242  void loadTargetRelationships() override;
243  };
244 }
Proxy class for an abstract feature interpretation.
Definition: AbstractFeatureInterpretation.h:29
This class is a container for stratigraphic, structural and rock fluid organization interpretations t...
Definition: EarthModelInterpretation.h:37
virtual void pushBackStratiOccurrence(StratigraphicOccurrenceInterpretation *stratiOccurence)=0
Pushes back a stratigraphic occurrence interpretation.
virtual common::DataObjectReference getStratiColumnDor() const =0
StratigraphicOccurrenceInterpretation * getStratiOccurrence(unsigned int index) const
virtual ~EarthModelInterpretation()=default
virtual void pushBackRockFluidOrganizationInterpretation(RockFluidOrganizationInterpretation *rockFluid)=0
virtual std::string getXmlTag() const override
Definition: EarthModelInterpretation.h:209
virtual common::DataObjectReference getRockFluidOrganizationInterpretationDor(unsigned int index) const =0
virtual bool hasStratiColumn() const =0
virtual unsigned int getStructuralOrganizationInterpretationCount() const =0
virtual unsigned int getRockFluidOrganizationInterpretationCount() const =0
StratigraphicColumn * getStratiColumn() const
virtual common::DataObjectReference getStructuralOrganizationInterpertationDor(unsigned int index) const =0
virtual void pushBackStructuralOrganizationInterpretation(StructuralOrganizationInterpretation *structOrganization)=0
StructuralOrganizationInterpretation * getStructuralOrganizationInterpertation(unsigned int index) const
virtual void setStratiColumn(StratigraphicColumn *stratiColumn)=0
RockFluidOrganizationInterpretation * getRockFluidOrganizationInterpretation(unsigned int index) const
static const char * XML_TAG
Definition: EarthModelInterpretation.h:207
virtual unsigned int getStratiOccurrenceCount() const =0
Gets the count of stratigraphic occurrence interpretations associated to this earth model interpretat...
virtual common::DataObjectReference getStratiOccurrenceDor(unsigned int index) const =0
This class describes the organization of geological reservoir, i.e., of an interconnected network of ...
Definition: RockFluidOrganizationInterpretation.h:34
A global interpretation of the stratigraphy, which can be made up of several ranks of stratigraphic u...
Definition: StratigraphicColumn.h:35
This class is a container for stratigraphic organizations described along a wellbore.
Definition: StratigraphicOccurrenceInterpretation.h:30
One of the main types of RESQML organizations, this class gathers boundary interpretations (e....
Definition: StructuralOrganizationInterpretation.h:35