Fesapi  0.13.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
StratigraphicColumnRankInterpretation.h
1 /*-----------------------------------------------------------------------
2 Licensed to the Apache Software Foundation (ASF) under one
3 or more contributor license agreements. See the NOTICE file
4 distributed with this work for additional information
5 regarding copyright ownership. The ASF licenses this file
6 to you under the Apache License, Version 2.0 (the
7 "License"; you may not use this file except in compliance
8 with the License. You may obtain a copy of the License at
9 
10  http://www.apache.org/licenses/LICENSE-2.0
11 
12 Unless required by applicable law or agreed to in writing,
13 software distributed under the License is distributed on an
14 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 KIND, either express or implied. See the License for the
16 specific language governing permissions and limitations
17 under the License.
18 -----------------------------------------------------------------------*/
19 #pragma once
20 
21 #include "resqml2_0_1/AbstractStratigraphicOrganizationInterpretation.h"
22 #include "resqml2_0_1/StratigraphicColumn.h"
23 #include "resqml2_0_1/StratigraphicOccurrenceInterpretation.h"
24 
25 namespace RESQML2_0_1_NS
26 {
31  {
32  public:
33 
37  StratigraphicColumnRankInterpretation(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : AbstractStratigraphicOrganizationInterpretation(partialObject) {}
38 
47  StratigraphicColumnRankInterpretation(class OrganizationFeature * orgFeat, const std::string & guid, const std::string & title, const unsigned long & rank, const gsoap_resqml2_0_1::resqml2__OrderingCriteria & orderingCriteria);
48 
53  StratigraphicColumnRankInterpretation(gsoap_resqml2_0_1::_resqml2__StratigraphicColumnRankInterpretation* fromGsoap) : AbstractStratigraphicOrganizationInterpretation(fromGsoap) {}
54 
59 
64  void pushBackStratiUnitInterpretation(class StratigraphicUnitInterpretation * stratiUnitInterpretation);
65 
66  void setHorizonOfLastContact(class HorizonInterpretation * partOf);
67 
71  void pushBackStratigraphicBinaryContact(StratigraphicUnitInterpretation* subject, const gsoap_resqml2_0_1::resqml2__ContactMode & subjectContactMode,
72  StratigraphicUnitInterpretation* directObject, const gsoap_resqml2_0_1::resqml2__ContactMode & directObjectMode,
73  class HorizonInterpretation * partOf = nullptr);
74 
79  bool isAChronoStratiRank() const;
80 
84  unsigned int getContactCount() const;
85 
91  gsoap_resqml2_0_1::resqml2__ContactMode getSubjectContactModeOfContact(const unsigned int & contactIndex) const;
92 
96  class StratigraphicUnitInterpretation* getSubjectOfContact(const unsigned int & contactIndex) const;
97 
103  gsoap_resqml2_0_1::resqml2__ContactMode getDirectObjectContactModeOfContact(const unsigned int & contactIndex) const;
104 
108  class StratigraphicUnitInterpretation* getDirectObjectOfContact(const unsigned int & contactIndex) const;
109 
113  class HorizonInterpretation* getHorizonInterpretationOfContact(const unsigned int & contactIndex) const;
114 
118  const std::vector<class StratigraphicUnitInterpretation*> & getStratigraphicUnitInterpretationSet() const;
119 
123  const std::vector<class StratigraphicOccurrenceInterpretation*> & getStratigraphicOccurrenceInterpretationSet() const;
124 
128  const std::vector<class HorizonInterpretation*> & getHorizonInterpretationSet() const;
129 
133  const std::vector<StratigraphicColumn*> & getStratigraphicColumnSet() const;
134 
135  static const char* XML_TAG;
136  virtual std::string getXmlTag() const {return XML_TAG;}
137 
138  private:
139 
140  std::vector<epc::Relationship> getAllEpcRelationships() const;
141  void importRelationshipSetFromEpc(COMMON_NS::EpcDocument* epcDoc);
142 
143  // forward relationships
144  std::vector<class StratigraphicUnitInterpretation*> stratigraphicUnitSet;
145  std::vector<class HorizonInterpretation*> horizonInterpretationSet;
146 
147  // Backward relationship
148  std::vector<StratigraphicColumn *> stratigraphicColumnSet;
149  std::vector<StratigraphicOccurrenceInterpretation *> stratigraphicOccurrenceInterpretationSet;
150 
151  friend void StratigraphicColumn::pushBackStratiColumnRank(StratigraphicColumnRankInterpretation * stratiColumnRank);
152  friend void StratigraphicOccurrenceInterpretation::setStratigraphicColumnRankInterpretation(StratigraphicColumnRankInterpretation * stratiColumnRankInterp);
153  };
154 }
155 
Definition: StratigraphicUnitInterpretation.h:25
virtual std::string getXmlTag() const
Definition: StratigraphicColumnRankInterpretation.h:136
Definition: OrganizationFeature.h:25
~StratigraphicColumnRankInterpretation()
Definition: StratigraphicColumnRankInterpretation.h:58
Definition: EpcDocument.h:65
StratigraphicColumnRankInterpretation(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition: StratigraphicColumnRankInterpretation.h:37
Definition: EpcDocument.h:154
StratigraphicColumnRankInterpretation(gsoap_resqml2_0_1::_resqml2__StratigraphicColumnRankInterpretation *fromGsoap)
Definition: StratigraphicColumnRankInterpretation.h:53
Definition: HorizonInterpretation.h:27
Definition: AbstractStratigraphicOrganizationInterpretation.h:26
Definition: StratigraphicColumnRankInterpretation.h:30