Fesapi  2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
AbstractSeismicLineFeature.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 "AbstractTechnicalFeature.h"
22 
23 namespace RESQML2_NS
24 {
25  class SeismicLineSetFeature;
26 
34  {
35  public:
37  virtual ~AbstractSeismicLineFeature() = default;
38 
46  DLL_IMPORT_OR_EXPORT void setSeismicLineSet(SeismicLineSetFeature * seisLineSet);
47 
54  DLL_IMPORT_OR_EXPORT SeismicLineSetFeature* getSeismicLineSet() const;
55 
62  DLL_IMPORT_OR_EXPORT COMMON_NS::DataObjectReference getSeismicLineSetDor() const;
63 
69  DLL_IMPORT_OR_EXPORT virtual unsigned int getTraceCount() const = 0;
70 
76  DLL_IMPORT_OR_EXPORT std::vector<std::string> getTraceLabels() const;
77 
84  DLL_IMPORT_OR_EXPORT void setTraceLabels(const std::vector<std::string> & values, EML2_NS::AbstractHdfProxy * proxy);
85 
86  protected:
87 
95  DLL_IMPORT_OR_EXPORT AbstractSeismicLineFeature(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : AbstractTechnicalFeature(partialObject) {}
96 
101 
107  AbstractSeismicLineFeature(gsoap_resqml2_0_1::_resqml20__SeismicLineFeature* fromGsoap) :
108  AbstractTechnicalFeature(fromGsoap) {}
109 
115  AbstractSeismicLineFeature(gsoap_eml2_3::resqml22__AbstractSeismicLineFeature* fromGsoap) :
116  AbstractTechnicalFeature(fromGsoap) {}
117 
119  void loadTargetRelationships() override;
120  };
121 }
Proxy class for an abstract seismic line feature. Defined by one lateral dimension: trace (lateral)....
Definition: AbstractSeismicLineFeature.h:34
virtual unsigned int getTraceCount() const =0
SeismicLineSetFeature * getSeismicLineSet() const
void setSeismicLineSet(SeismicLineSetFeature *seisLineSet)
virtual ~AbstractSeismicLineFeature()=default
void setTraceLabels(const std::vector< std::string > &values, eml2::AbstractHdfProxy *proxy)
common::DataObjectReference getSeismicLineSetDor() const
std::vector< std::string > getTraceLabels() const
An abstract technical feature. These are objects that exist by the action of humans.
Definition: AbstractTechnicalFeature.h:37
Frox class for a seismic line set feature. It is an unordered set of several seismic lines....
Definition: SeismicLineSetFeature.h:30