Fesapi 2.3.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
WellboreGeometry.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
10http://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 "../witsml2/WellboreObject.h"
22
23#include "../MacroDefinitions.h"
24
25namespace WITSML2_0_NS
26{
33 {
34 public:
35
43 DLL_IMPORT_OR_EXPORT WellboreGeometry(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : WITSML2_NS::WellboreObject(partialObject) {}
44
56 const std::string & guid,
57 const std::string & title,
58 gsoap_eml2_1::witsml20__ChannelStatus channelStatus);
59
65 WellboreGeometry(gsoap_eml2_1::witsml20__WellboreGeometry* fromGsoap) : WITSML2_NS::WellboreObject(fromGsoap) {}
66
68 ~WellboreGeometry() = default;
69
70 DLL_IMPORT_OR_EXPORT COMMON_NS::DataObjectReference getWellboreDor() const final;
71 DLL_IMPORT_OR_EXPORT void setWellbore(WITSML2_NS::Wellbore* witsmlWellbore) final;
72
73 GETTER_AND_SETTER_DEPTH_MEASURE_OPTIONAL_ATTRIBUTE(MdBase, gsoap_eml2_1::eml21__LengthUom)
74
75 GETTER_AND_SETTER_MEASURE_OPTIONAL_ATTRIBUTE(GapAir, gsoap_eml2_1::eml21__LengthUom)
76 GETTER_AND_SETTER_MEASURE_OPTIONAL_ATTRIBUTE(DepthWaterMean, gsoap_eml2_1::eml21__LengthUom)
77
78 //***************************************
79 //************** SECTION ****************
80 //***************************************
81
82 // Mandatory
83 GETTER_AND_SETTER_GENERIC_ATTRIBUTE_IN_VECTOR(std::string, WellboreGeometrySection, uid)
84
85 // Optional bool
86 GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE_IN_VECTOR(bool, WellboreGeometrySection, CurveConductor)
87
88 // Optional double
89 GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE_IN_VECTOR(double, WellboreGeometrySection, FactFric)
90
91 // Optional string
92 GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE_IN_VECTOR(std::string, WellboreGeometrySection, Grade)
93
94 // Optional enum
95 GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE_IN_VECTOR(gsoap_eml2_1::witsml20__HoleCasingType, WellboreGeometrySection, TypeHoleCasing)
96
97 // Optional Length Measure
98 GETTER_AND_SETTER_MEASURE_OPTIONAL_ATTRIBUTE_IN_VECTOR(WellboreGeometrySection, IdSection, gsoap_eml2_1::eml21__LengthUom)
99 GETTER_AND_SETTER_MEASURE_OPTIONAL_ATTRIBUTE_IN_VECTOR(WellboreGeometrySection, OdSection, gsoap_eml2_1::eml21__LengthUom)
100 GETTER_AND_SETTER_MEASURE_OPTIONAL_ATTRIBUTE_IN_VECTOR(WellboreGeometrySection, DiaDrift, gsoap_eml2_1::eml21__LengthUom)
101
102 // Optional Mass per Length Measure
103 GETTER_AND_SETTER_MEASURE_OPTIONAL_ATTRIBUTE_IN_VECTOR(WellboreGeometrySection, WtPerLen, gsoap_eml2_1::eml21__MassPerLengthUom)
104
114 DLL_IMPORT_OR_EXPORT void setWellboreGeometrySectionMdInterval(unsigned int index, double top, double base, const std::string & datum, gsoap_eml2_1::eml21__LengthUom uom);
115
123 DLL_IMPORT_OR_EXPORT double getWellboreGeometrySectionMdIntervalTop(unsigned int index) const;
124
132 DLL_IMPORT_OR_EXPORT gsoap_eml2_1::eml21__LengthUom getWellboreGeometrySectionMdIntervalTopUom(unsigned int index) const;
133
141 DLL_IMPORT_OR_EXPORT double getWellboreGeometrySectionMdIntervalBase(unsigned int index) const;
142
150 DLL_IMPORT_OR_EXPORT gsoap_eml2_1::eml21__LengthUom getWellboreGeometrySectionMdIntervalBaseUom(unsigned int index) const;
151
159 DLL_IMPORT_OR_EXPORT std::string getWellboreGeometrySectionMdIntervaldatum(unsigned int index) const;
160
168 DLL_IMPORT_OR_EXPORT bool hasWellboreGeometrySectionMdInterval(unsigned int index) const;
169
179 DLL_IMPORT_OR_EXPORT void setWellboreGeometrySectionTvdInterval(unsigned int index, double top, double base, const std::string & datum, gsoap_eml2_1::eml21__LengthUom uom);
180
188 DLL_IMPORT_OR_EXPORT double getWellboreGeometrySectionTvdIntervalTop(unsigned int index) const;
189
197 DLL_IMPORT_OR_EXPORT gsoap_eml2_1::eml21__LengthUom getWellboreGeometrySectionTvdIntervalTopUom(unsigned int index) const;
198
206 DLL_IMPORT_OR_EXPORT double getWellboreGeometrySectionTvdIntervalBase(unsigned int index) const;
207
215 DLL_IMPORT_OR_EXPORT gsoap_eml2_1::eml21__LengthUom getWellboreGeometrySectionTvdIntervalBaseUom(unsigned int index) const;
216
224 DLL_IMPORT_OR_EXPORT std::string getWellboreGeometrySectionTvdIntervaldatum(unsigned int index) const;
225
233 DLL_IMPORT_OR_EXPORT bool hasWellboreGeometrySectionTvdInterval(unsigned int index) const;
234
240 DLL_IMPORT_OR_EXPORT void pushBackSection(const std::string & uid = "");
241
247 DLL_IMPORT_OR_EXPORT unsigned int getSectionCount() const;
248
254 DLL_IMPORT_OR_EXPORT static const char* XML_TAG;
255
261 DLL_IMPORT_OR_EXPORT virtual std::string getXmlTag() const { return XML_TAG; }
262
266 DLL_IMPORT_OR_EXPORT static constexpr char const* XML_NS = "witsml20";
267
271 DLL_IMPORT_OR_EXPORT std::string getXmlNamespace() const final { return XML_NS; }
272 };
273}
A wellbore represents the path from surface to a unique bottomhole location.
Definition: Wellbore.h:46
Definition: WellboreObject.h:32
Definition: WellboreGeometry.h:33
WellboreGeometry(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition: WellboreGeometry.h:43
WellboreGeometry(WITSML2_NS::Wellbore *witsmlWellbore, const std::string &guid, const std::string &title, gsoap_eml2_1::witsml20__ChannelStatus channelStatus)
Constructor.
std::string getXmlNamespace() const final
Definition: WellboreGeometry.h:271
common::DataObjectReference getWellboreDor() const final
WellboreGeometry(gsoap_eml2_1::witsml20__WellboreGeometry *fromGsoap)
Definition: WellboreGeometry.h:65
A wellbore represents the path from surface to a unique bottomhole location.
Definition: Wellbore.h:29