Fesapi 2.3.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
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_0_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
48 Well(COMMON_NS::DataObjectRepository * repo,
49 const std::string & guid,
50 const std::string & title);
51
64 Well(COMMON_NS::DataObjectRepository * repo,
65 const std::string & guid,
66 const std::string & title,
67 const std::string & operator_,
68 gsoap_eml2_1::eml21__WellStatus statusWell,
69 gsoap_eml2_1::witsml20__WellDirection directionWell
70 );
71
77 Well(gsoap_eml2_1::witsml20__Well* fromGsoap): WITSML2_NS::Well(fromGsoap) {}
78
80 ~Well() = default;
81
82 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, NameLegal)
83 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, NumLicense)
84 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, NumGovt)
85 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, Field)
86 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, Country)
87 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, State)
88 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, County)
89 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, Region)
90 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, District)
91 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, Block)
92 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, Operator)
93 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, OperatorDiv)
94 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(std::string, OriginalOperator)
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_1::eml21__WellStatus, StatusWell)
99 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_1::witsml20__WellPurpose, PurposeWell)
100 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_1::witsml20__WellFluid, FluidWell)
101 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(gsoap_eml2_1::witsml20__WellDirection, DirectionWell)
102
103 FINAL_GETTER_AND_SETTER_MEASURE_OPTIONAL_ATTRIBUTE(WaterDepth, gsoap_eml2_1::eml21__LengthUom)
104 FINAL_GETTER_PRESENCE_ATTRIBUTE(GroundElevation)
105
106 FINAL_GETTER_AND_SETTER_MEASURE_OPTIONAL_ATTRIBUTE(PcInterest, gsoap_eml2_1::eml21__DimensionlessUom)
107
108 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(time_t, DTimLicense)
109 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(time_t, DTimSpud)
110 FINAL_GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE(time_t, DTimPa)
111
112
121 DLL_IMPORT_OR_EXPORT void setGroundElevation(double value, gsoap_eml2_1::eml21__LengthUom uom, const std::string& datum) final;
122
130 DLL_IMPORT_OR_EXPORT double getGroundElevationValue() const final;
131
139 DLL_IMPORT_OR_EXPORT gsoap_eml2_1::eml21__LengthUom getGroundElevationUom() const final;
140
148 DLL_IMPORT_OR_EXPORT std::string getGroundElevationDatum() const final;
149
160 DLL_IMPORT_OR_EXPORT void setTimeZone(bool direction, unsigned short hours, unsigned short minutes) final;
161 FINAL_GETTER_PRESENCE_ATTRIBUTE(TimeZone)
162
169 DLL_IMPORT_OR_EXPORT bool getTimeZoneDirection() const final;
170
177 DLL_IMPORT_OR_EXPORT unsigned short getTimeZoneHours() const final;
178
185 DLL_IMPORT_OR_EXPORT unsigned short getTimeZoneMinutes() const final;
186
194 DLL_IMPORT_OR_EXPORT double getLocationProjectedX(unsigned int locationIndex) final;
195
203 DLL_IMPORT_OR_EXPORT double getLocationProjectedY(unsigned int locationIndex) final;
204
213 DLL_IMPORT_OR_EXPORT void pushBackLocation(
214 const std::string & guid,
215 double projectedX,
216 double projectedY,
217 unsigned int projectedCrsEpsgCode) final;
218
224 DLL_IMPORT_OR_EXPORT unsigned int geLocationCount() const final;
225
237 DLL_IMPORT_OR_EXPORT void pushBackDatum(
238 const std::string & guid,
239 const std::string & title,
240 gsoap_eml2_1::eml21__WellboreDatumReference code,
241 const std::string & datum,
242 gsoap_eml2_1::eml21__LengthUom elevationUnit,
243 double elevation,
244 unsigned int verticalCrsEpsgCode) final;
245
251 DLL_IMPORT_OR_EXPORT unsigned int getDatumCount() const final;
252
256 DLL_IMPORT_OR_EXPORT static constexpr char const* XML_NS = "witsml20";
257
261 DLL_IMPORT_OR_EXPORT std::string getXmlNamespace() const final { return XML_NS; }
262 };
263}
Contains all information that is the same for all wellbores (sidetracks).
Definition: Well.h:43
Contains all information that is the same for all wellbores (sidetracks).
Definition: Well.h:29
Well(gsoap_eml2_1::witsml20__Well *fromGsoap)
Definition: Well.h:77
~Well()=default
Well(common::DataObjectRepository *repo, const std::string &guid, const std::string &title, const std::string &operator_, gsoap_eml2_1::eml21__WellStatus statusWell, gsoap_eml2_1::witsml20__WellDirection directionWell)
Constructor.
Well(common::DataObjectRepository *repo, const std::string &guid, const std::string &title)
Well(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition: Well.h:37