Fesapi 2.3.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
WellboreCompletion.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
23namespace WITSML2_0_NS
24{
27 {
28 public:
29
37 DLL_IMPORT_OR_EXPORT WellboreCompletion(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : WITSML2_NS::WellboreObject(partialObject) {}
38
49 class WellCompletion* wellCompletion,
50 const std::string & guid,
51 const std::string & title,
52 const std::string & wellCompletionName);
53
59 WellboreCompletion(gsoap_eml2_1::witsml20__WellboreCompletion* fromGsoap) :WellboreObject(fromGsoap) {}
60
63
67 COMMON_NS::DataObjectReference getWellboreDor() const final;
68
72 COMMON_NS::DataObjectReference getWellCompletionDor() const;
73
75 DLL_IMPORT_OR_EXPORT class WellCompletion* getWellCompletion() const;
76
82 DLL_IMPORT_OR_EXPORT void setWellbore(WITSML2_NS::Wellbore* witsmlWellbore) final;
83
89 DLL_IMPORT_OR_EXPORT void setWellCompletion(class WellCompletion* wellCompletion);
90
100 DLL_IMPORT_OR_EXPORT void pushBackPerforation(const std::string & datum,
101 gsoap_eml2_1::eml21__LengthUom MdUnit,
102 double TopMd,
103 double BaseMd,
104 const std::string & guid = "");
105
112 DLL_IMPORT_OR_EXPORT void pushBackPerforationHistory(unsigned int index,
113 const std::string & guid = "");
114
123 DLL_IMPORT_OR_EXPORT void pushBackPerforationHistory(unsigned int index,
124 gsoap_eml2_1::witsml20__PerforationStatus perforationStatus,
125 time_t startDate,
126 const std::string & guid = "");
127
133 DLL_IMPORT_OR_EXPORT unsigned int getPerforationCount() const;
134
142 DLL_IMPORT_OR_EXPORT std::string getPerforationUid(unsigned int index) const;
143
151 DLL_IMPORT_OR_EXPORT bool hasPerforationMdDatum(unsigned int index) const;
152
160 DLL_IMPORT_OR_EXPORT std::string getPerforationMdDatum(unsigned int index) const;
161
169 DLL_IMPORT_OR_EXPORT bool hasPerforationMdUnit(unsigned int index) const;
170
179 DLL_IMPORT_OR_EXPORT gsoap_eml2_1::eml21__LengthUom getPerforationMdUnit(unsigned int index) const;
180
189 DLL_IMPORT_OR_EXPORT std::string getPerforationMdUnitAsString(unsigned int index) const;
190
198 DLL_IMPORT_OR_EXPORT bool hasPerforationTopMd(unsigned int index) const;
199
207 DLL_IMPORT_OR_EXPORT double getPerforationTopMd(unsigned int index) const;
208
216 DLL_IMPORT_OR_EXPORT bool hasPerforationBaseMd(unsigned int index) const;
217
225 DLL_IMPORT_OR_EXPORT double getPerforationBaseMd(unsigned int index) const;
226
234 DLL_IMPORT_OR_EXPORT unsigned int getPerforationHistoryCount(unsigned int index) const;
235
244 DLL_IMPORT_OR_EXPORT bool hasPerforationHistoryStatus(unsigned int historyIndex,
245 unsigned int perforationIndex) const;
246
255 DLL_IMPORT_OR_EXPORT gsoap_eml2_1::witsml20__PerforationStatus getPerforationHistoryStatus(unsigned int historyIndex,
256 unsigned int perforationIndex) const;
257
266 DLL_IMPORT_OR_EXPORT std::string getPerforationHistoryStatusToString(unsigned int historyIndex,
267 unsigned int perforationIndex) const;
268
276 DLL_IMPORT_OR_EXPORT void setPerforationHistoryStatus(unsigned int historyIndex,
277 unsigned int perforationIndex,
278 gsoap_eml2_1::witsml20__PerforationStatus perforationStatus);
279
288 DLL_IMPORT_OR_EXPORT bool hasPerforationHistoryStartDate(unsigned int historyIndex,
289 unsigned int perforationIndex) const;
290
299 DLL_IMPORT_OR_EXPORT time_t getPerforationHistoryStartDate(unsigned int historyIndex,
300 unsigned int perforationIndex) const;
301
309 DLL_IMPORT_OR_EXPORT void setPerforationHistoryStartDate(unsigned int historyIndex,
310 unsigned int perforationIndex, time_t startDate) const;
311
320 DLL_IMPORT_OR_EXPORT bool hasPerforationHistoryEndDate(unsigned int historyIndex,
321 unsigned int perforationIndex) const;
322
331 DLL_IMPORT_OR_EXPORT time_t getPerforationHistoryEndDate(unsigned int historyIndex,
332 unsigned int perforationIndex) const;
333
341 DLL_IMPORT_OR_EXPORT void setPerforationHistoryEndDate(unsigned int historyIndex,
342 unsigned int perforationIndex, time_t endDate) const;
343
352 DLL_IMPORT_OR_EXPORT bool hasPerforationHistoryMdDatum(unsigned int historyIndex,
353 unsigned int perforationIndex) const;
354
363 DLL_IMPORT_OR_EXPORT std::string getPerforationHistoryMdDatum(unsigned int historyIndex,
364 unsigned int perforationIndex) const;
365
374 DLL_IMPORT_OR_EXPORT bool hasPerforationHistoryMdUnit(unsigned int historyIndex,
375 unsigned int perforationIndex) const;
376
386 DLL_IMPORT_OR_EXPORT gsoap_eml2_1::eml21__LengthUom getPerforationHistoryMdUnit(unsigned int historyIndex,
387 unsigned int perforationIndex) const;
388
398 DLL_IMPORT_OR_EXPORT std::string getPerforationHistoryMdUnitAsString(unsigned int historyIndex,
399 unsigned int perforationIndex) const;
400
409 DLL_IMPORT_OR_EXPORT bool hasPerforationHistoryTopMd(unsigned int historyIndex,
410 unsigned int perforationIndex) const;
411
420 DLL_IMPORT_OR_EXPORT double getPerforationHistoryTopMd(unsigned int historyIndex,
421 unsigned int perforationIndex) const;
422
433 DLL_IMPORT_OR_EXPORT void setPerforationHistoryTopMd(unsigned int historyIndex,
434 unsigned int perforationIndex,
435 const std::string & datum,
436 gsoap_eml2_1::eml21__LengthUom MdUnit,
437 double TopMd);
438
447 DLL_IMPORT_OR_EXPORT bool hasPerforationHistoryBaseMd(unsigned int historyIndex,
448 unsigned int perforationIndex) const;
449
458 DLL_IMPORT_OR_EXPORT double getPerforationHistoryBaseMd(unsigned int historyIndex,
459 unsigned int perforationIndex) const;
460
471 DLL_IMPORT_OR_EXPORT void setPerforationHistoryBaseMd(unsigned int historyIndex,
472 unsigned int perforationIndex,
473 const std::string & datum,
474 gsoap_eml2_1::eml21__LengthUom MdUnit,
475 double BaseMd);
476
485 DLL_IMPORT_OR_EXPORT bool hasPerforationHistoryComment(unsigned int historyIndex,
486 unsigned int perforationIndex) const;
487
496 DLL_IMPORT_OR_EXPORT std::string getPerforationHistoryComment(unsigned int historyIndex,
497 unsigned int perforationIndex) const;
498
506 DLL_IMPORT_OR_EXPORT void setPerforationHistoryComment(unsigned int historyIndex,
507 unsigned int perforationIndex,
508 const std::string & comment);
509
515 DLL_IMPORT_OR_EXPORT static const char* XML_TAG;
516
522 DLL_IMPORT_OR_EXPORT virtual std::string getXmlTag() const { return XML_TAG; }
523
528
532 DLL_IMPORT_OR_EXPORT static constexpr char const* XML_NS = "witsml20";
533
537 DLL_IMPORT_OR_EXPORT std::string getXmlNamespace() const final { return XML_NS; }
538
539 private:
540
548 gsoap_eml2_1::witsml20__PerforationSetInterval* getPerforation(unsigned int index) const;
549
558 gsoap_eml2_1::witsml20__PerforationStatusHistory* getPerforationHistoryEntry(unsigned int index,
559 unsigned int perforationIndex) const;
560 };
561}
A wellbore represents the path from surface to a unique bottomhole location.
Definition: Wellbore.h:46
Definition: WellboreObject.h:32
Definition: WellCompletion.h:31
Definition: WellboreCompletion.h:27
common::DataObjectReference getWellboreDor() const final
void loadTargetRelationships() final
WellboreCompletion(gsoap_eml2_1::witsml20__WellboreCompletion *fromGsoap)
Definition: WellboreCompletion.h:59
WellboreCompletion(WITSML2_NS::Wellbore *witsmlWellbore, class WellCompletion *wellCompletion, const std::string &guid, const std::string &title, const std::string &wellCompletionName)
WellboreCompletion(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition: WellboreCompletion.h:37
A wellbore represents the path from surface to a unique bottomhole location.
Definition: Wellbore.h:29