Fesapi 2.10.1.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Loading...
Searching...
No Matches
Well.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 "../witsml2/Well.h"
22
23namespace WITSML2_1_NS
24{
28 class Well : public WITSML2_NS::Well
29 {
30 public:
31
37 DLL_IMPORT_OR_EXPORT Well(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : WITSML2_NS::Well(partialObject) {}
38
49 Well(COMMON_NS::DataObjectRepository * repo,
50 const std::string & guid,
51 const std::string & title,
52 bool isActive);
53
66 Well(COMMON_NS::DataObjectRepository * repo,
67 const std::string & guid,
68 const std::string & title,
69 bool isActive,
70 gsoap_eml2_3::eml23__WellStatus statusWell,
71 gsoap_eml2_3::witsml21__WellDirection directionWell
72 );
73
79 Well(gsoap_eml2_3::witsml21__Well* fromGsoap): WITSML2_NS::Well(fromGsoap) {}
80
82 ~Well() = default;
83
84 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, NameLegal)
85 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, NumLicense)
86 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, NumGovt)
87 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, Field)
88 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, Country)
89 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, State)
90 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, County)
91 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, Region)
92 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, District)
93 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, Block)
94 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, OperatorDiv)
95 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, NumAPI)
96
97 // Optional enum
98 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_3::eml23__WellStatus, StatusWell)
99 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_3::witsml21__WellPurpose, PurposeWell)
100 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_3::witsml21__WellFluid, FluidWell)
101 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_3::witsml21__WellDirection, DirectionWell)
102
103 FINAL_GETTER_AND_SETTER_MEASURE_OPTIONAL_ATTRIBUTE(WaterDepth, gsoap_eml2_3::eml23__LengthUom)
104 FINAL_GETTER_PRESENCE_ATTRIBUTE(GroundElevation)
105 FINAL_GETTER_PRESENCE_ATTRIBUTE(WellheadElevation)
106
107 FINAL_GETTER_AND_SETTER_MEASURE_OPTIONAL_ATTRIBUTE(PcInterest, gsoap_eml2_3::eml23__DimensionlessUom)
108
109 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(time_t, DTimLicense)
110 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(time_t, DTimSpud)
111 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(time_t, DTimPa)
112
113
122 DLL_IMPORT_OR_EXPORT void setGroundElevation(double value, gsoap_eml2_3::eml23__LengthUom uom, EML2_3_NS::VerticalCrs* verticalCrs) final;
123
131 DLL_IMPORT_OR_EXPORT double getGroundElevationValue() const final;
132
140 DLL_IMPORT_OR_EXPORT gsoap_eml2_3::eml23__LengthUom getGroundElevationUom() const final;
141
147 DLL_IMPORT_OR_EXPORT COMMON_NS::DataObjectReference getGroundElevationDatumDor() const final;
148
158 DLL_IMPORT_OR_EXPORT virtual void setWellheadElevation(double value, gsoap_eml2_3::eml23__LengthUom uom, EML2_3_NS::VerticalCrs* verticalCrs) final;
159
167 DLL_IMPORT_OR_EXPORT virtual double getWellheadElevationValue() const final;
168
176 DLL_IMPORT_OR_EXPORT virtual gsoap_eml2_3::eml23__LengthUom getWellheadElevationUom() const final;
177
183 DLL_IMPORT_OR_EXPORT virtual COMMON_NS::DataObjectReference getWellheadElevationDatumDor() const final;
184
195 DLL_IMPORT_OR_EXPORT void setTimeZone(bool direction, unsigned short hours, unsigned short minutes) final;
196 FINAL_GETTER_PRESENCE_ATTRIBUTE(TimeZone)
197
204 DLL_IMPORT_OR_EXPORT bool getTimeZoneDirection() const final;
205
212 DLL_IMPORT_OR_EXPORT unsigned short getTimeZoneHours() const final;
213
220 DLL_IMPORT_OR_EXPORT unsigned short getTimeZoneMinutes() const final;
221
229 DLL_IMPORT_OR_EXPORT double getLocationProjectedX(uint64_t locationIndex) final;
230
238 DLL_IMPORT_OR_EXPORT double getLocationProjectedY(uint64_t locationIndex) final;
239
247 DLL_IMPORT_OR_EXPORT void pushBackLocation(double projectedX, double projectedY, EML2_3_NS::LocalEngineering2dCrs* crs) final;
248
254 DLL_IMPORT_OR_EXPORT uint64_t geLocationCount() const final;
255
259 DLL_IMPORT_OR_EXPORT static constexpr char const* XML_NS = "witsml21";
260
264 DLL_IMPORT_OR_EXPORT std::string getXmlNamespace() const final { return XML_NS; }
265 };
266}
Contains all information that is the same for all wellbores (sidetracks).
Definition Well.h:49
Contains all information that is the same for all wellbores (sidetracks).
Definition Well.h:29
Well(gsoap_eml2_3::witsml21__Well *fromGsoap)
Definition Well.h:79
Well(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition Well.h:37
~Well()=default
Well(common::DataObjectRepository *repo, const std::string &guid, const std::string &title, bool isActive, gsoap_eml2_3::eml23__WellStatus statusWell, gsoap_eml2_3::witsml21__WellDirection directionWell)
Constructor.
Well(common::DataObjectRepository *repo, const std::string &guid, const std::string &title, bool isActive)