Fesapi  2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Wellbore.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 "AbstractObject.h"
22 
23 namespace RESQML2_0_1_NS {
25  class WellboreFeature;
26 }
27 
28 namespace WITSML2_0_NS
29 {
31  class Trajectory;
33  class WellboreCompletion;
35  class WellboreGeometry;
37  class Log;
38 
40  class Wellbore : public WITSML2_0_NS::AbstractObject
41  {
42  public:
43 
51  DLL_IMPORT_OR_EXPORT Wellbore(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : WITSML2_0_NS::AbstractObject(partialObject) {}
52 
63  Wellbore(class Well* witsmlWell,
64  const std::string & guid,
65  const std::string & title);
66 
79  Wellbore(class Well* witsmlWell,
80  const std::string & guid,
81  const std::string & title,
82  gsoap_eml2_1::eml21__WellStatus statusWellbore,
83  bool isActive,
84  bool achievedTD
85  );
86 
92  Wellbore(gsoap_eml2_1::witsml20__Wellbore* fromGsoap):AbstractObject(fromGsoap) {}
93 
95  ~Wellbore() = default;
96 
102  COMMON_NS::DataObjectReference getWellDor() const;
103 
109  DLL_IMPORT_OR_EXPORT class Well* getWell() const;
110 
116  DLL_IMPORT_OR_EXPORT void setWell(class Well* witsmlWell);
117 
123  DLL_IMPORT_OR_EXPORT std::vector<RESQML2_0_1_NS::WellboreFeature *> getResqmlWellboreFeature() const;
124 
130  DLL_IMPORT_OR_EXPORT std::vector<WellboreCompletion *> getWellboreCompletions() const;
131 
137  DLL_IMPORT_OR_EXPORT std::vector<Trajectory *> getTrajectories() const;
138 
144  DLL_IMPORT_OR_EXPORT std::vector<WellboreGeometry *> getWellboreGeometries() const;
145 
151  DLL_IMPORT_OR_EXPORT std::vector<Log *> getLogs() const;
152 
153  GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, Number)
154  GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, SuffixAPI)
155  GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, NumGovt)
156  GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_1::eml21__WellStatus, StatusWellbore)
157  GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(bool, IsActive)
158  GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_1::witsml20__WellPurpose, PurposeWellbore)
159  GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_1::witsml20__WellboreType, TypeWellbore)
160  GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_1::witsml20__WellboreShape, Shape)
161  GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(bool, AchievedTD)
162  GETTER_AND_SETTER_DEPTH_MEASURE_OPTIONAL_ATTRIBUTE(Md, gsoap_eml2_1::eml21__LengthUom)
163  GETTER_AND_SETTER_DEPTH_MEASURE_OPTIONAL_ATTRIBUTE(MdBit, gsoap_eml2_1::eml21__LengthUom)
164  GETTER_AND_SETTER_DEPTH_MEASURE_OPTIONAL_ATTRIBUTE(MdKickoff, gsoap_eml2_1::eml21__LengthUom)
165  GETTER_AND_SETTER_DEPTH_MEASURE_OPTIONAL_ATTRIBUTE(MdPlanned, gsoap_eml2_1::eml21__LengthUom)
166  GETTER_AND_SETTER_DEPTH_MEASURE_OPTIONAL_ATTRIBUTE(MdSubSeaPlanned, gsoap_eml2_1::eml21__LengthUom)
167 
168 
173  DLL_IMPORT_OR_EXPORT static const char* XML_TAG;
174 
180  DLL_IMPORT_OR_EXPORT virtual std::string getXmlTag() const { return XML_TAG; }
181 
186  };
187 }
Definition: AbstractObject.h:28
Definition: Well.h:32
Definition: Wellbore.h:41
std::vector< Trajectory * > getTrajectories() const
std::vector< WellboreCompletion * > getWellboreCompletions() const
Wellbore(gsoap_eml2_1::witsml20__Wellbore *fromGsoap)
Definition: Wellbore.h:92
Wellbore(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition: Wellbore.h:51
void setWell(class Well *witsmlWell)
std::vector< resqml2_0_1::WellboreFeature * > getResqmlWellboreFeature() const
class Well * getWell() const
Gets the well.
void loadTargetRelationships()
std::vector< Log * > getLogs() const
Wellbore(class Well *witsmlWell, const std::string &guid, const std::string &title)
Creates an instance of this class in a gsoap context.
Wellbore(class Well *witsmlWell, const std::string &guid, const std::string &title, gsoap_eml2_1::eml21__WellStatus statusWellbore, bool isActive, bool achievedTD)
Constructor.
common::DataObjectReference getWellDor() const
Gets well dor.
std::vector< WellboreGeometry * > getWellboreGeometries() const