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
Wellbore.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 "../common/AbstractObject.h"
22
23#include "../MacroDefinitions.h"
24
25namespace RESQML2_0_1_NS
26{
27 class WellboreFeature;
28}
29
30namespace WITSML2_1_NS
31{
32 class WellboreCompletion;
33 class WellboreGeometry;
34 class Log;
35}
36
37namespace WITSML2_NS
38{
39 class Trajectory;
40 class Well;
41
45 class Wellbore : public COMMON_NS::AbstractObject
46 {
47 public:
48
54 DLL_IMPORT_OR_EXPORT Wellbore(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : COMMON_NS::AbstractObject(partialObject) {}
55
57 virtual ~Wellbore() = default;
58
59 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, Number)
60 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, SuffixAPI)
61 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, NumGovt)
62 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_3::eml23__WellStatus, StatusWellbore)
63 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_3::witsml21__WellPurpose, PurposeWellbore)
64 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_3::witsml21__WellboreType, TypeWellbore)
65 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_3::witsml21__WellboreShape, Shape)
66 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_3::witsml21__WellFluid, FluidWellbore)
67 ABSTRACT_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(bool, AchievedTD)
68 ABSTRACT_GETTER_AND_SETTER_DEPTH_MEASURE_OPTIONAL_ATTRIBUTE(Md, gsoap_eml2_3::eml23__LengthUom)
69 ABSTRACT_GETTER_AND_SETTER_DEPTH_MEASURE_OPTIONAL_ATTRIBUTE(MdBit, gsoap_eml2_3::eml23__LengthUom)
70 ABSTRACT_GETTER_AND_SETTER_DEPTH_MEASURE_OPTIONAL_ATTRIBUTE(MdKickoff, gsoap_eml2_3::eml23__LengthUom)
71 ABSTRACT_GETTER_AND_SETTER_DEPTH_MEASURE_OPTIONAL_ATTRIBUTE(MdPlanned, gsoap_eml2_3::eml23__LengthUom)
72 ABSTRACT_GETTER_AND_SETTER_DEPTH_MEASURE_OPTIONAL_ATTRIBUTE(MdSubSeaPlanned, gsoap_eml2_3::eml23__LengthUom)
73
74
79 DLL_IMPORT_OR_EXPORT Well* getWell() const;
80
86 virtual COMMON_NS::DataObjectReference getWellDor() const = 0;
87
93 DLL_IMPORT_OR_EXPORT virtual void setWell(Well* witsmlWell) = 0;
94
95 GETTER_DATAOBJECTS(RESQML2_NS::WellboreFeature, ResqmlWellboreFeature);
96
97 GETTER_DATAOBJECTS(WITSML2_NS::Trajectory, Trajectory)
98 GETTER_DATAOBJECTS(WITSML2_1_NS::WellboreCompletion, WellboreCompletion)
99 GETTER_DATAOBJECTS(WITSML2_1_NS::WellboreGeometry, WellboreGeometry)
100 GETTER_DATAOBJECTS(WITSML2_1_NS::Log, Log)
101
107 DLL_IMPORT_OR_EXPORT static constexpr char const* XML_TAG = "Wellbore";
108
114 DLL_IMPORT_OR_EXPORT virtual std::string getXmlTag() const final { return XML_TAG; }
115
120
121 protected:
122
124 Wellbore() = default;
125
131 Wellbore(gsoap_eml2_3::witsml21__Wellbore* fromGsoap) : COMMON_NS::AbstractObject(fromGsoap) {}
132
138 //Trajectory(gsoap_eml2_3::_resqml22__Trajectory* fromGsoap) : COMMON_NS::AbstractObject(fromGsoap) {}
139 };
140}
It contains many trajectory stations to capture the information about individual survey points.
Definition Trajectory.h:31
Contains all information that is the same for all wellbores (sidetracks).
Definition Well.h:43
A wellbore represents the path from surface to a unique bottomhole location.
Definition Wellbore.h:46
static constexpr char const * XML_TAG
Definition Wellbore.h:107
virtual ~Wellbore()=default
Wellbore(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition Wellbore.h:54
void loadTargetRelationships() final