Fesapi  0.13.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
AbstractFeatureInterpretation.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/GridConnectionSetRepresentation.h"
22 
23 namespace RESQML2_0_1_NS
24 {
25  class StructuralOrganizationInterpretation;
26 }
27 
28 namespace RESQML2_NS
29 {
30  class DLL_IMPORT_OR_EXPORT AbstractFeatureInterpretation : public COMMON_NS::AbstractObject
31  {
32  protected:
33 
37  AbstractFeatureInterpretation(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : COMMON_NS::AbstractObject(partialObject) {}
38 
44 
48  AbstractFeatureInterpretation(gsoap_resqml2_0_1::resqml2__AbstractFeatureInterpretation* fromGsoap) : COMMON_NS::AbstractObject(fromGsoap) {}
49 
50  void setInterpretedFeatureInXml(RESQML2_NS::AbstractFeature* feature);
51 
52  public:
53 
58 
62  gsoap_resqml2_0_1::eml20__DataObjectReference* getInterpretedFeatureDor() const;
63 
64  std::string getInterpretedFeatureUuid() const;
65 
69  void setInterpretedFeature(AbstractFeature* feature);
70 
74  AbstractFeature* getInterpretedFeature() const;
75 
80  const gsoap_resqml2_0_1::resqml2__Domain & initDomain(const gsoap_resqml2_0_1::resqml2__Domain & defaultDomain) const;
81 
85  gsoap_resqml2_0_1::resqml2__Domain getDomain() const;
86 
90  std::vector<AbstractRepresentation*> getRepresentationSet() const;
91 
95  unsigned int getRepresentationCount() const;
96 
100  AbstractRepresentation* getRepresentation(const unsigned int & index) const;
101 
105  std::vector<GridConnectionSetRepresentation *> getGridConnectionSetRepresentationSet();
106 
111  void setBottomFrontierOf(RESQML2_0_1_NS::StructuralOrganizationInterpretation* structOrg);
112  void setTopFrontierOf(RESQML2_0_1_NS::StructuralOrganizationInterpretation* structOrg);
113  void setSideFrontierOf(RESQML2_0_1_NS::StructuralOrganizationInterpretation* structOrg);
114 
115  protected:
116 
117  virtual std::vector<epc::Relationship> getAllEpcRelationships() const;
118 
119  virtual void importRelationshipSetFromEpc(COMMON_NS::EpcDocument* epcDoc);
120 
121  // XML backward relationship
122  std::vector<AbstractRepresentation *> representationSet;
123  std::vector<GridConnectionSetRepresentation *> gridConnectionSetRepresentationSet;
124 
125  std::vector<RESQML2_0_1_NS::StructuralOrganizationInterpretation *> isBottomFrontierSet;
126  std::vector<RESQML2_0_1_NS::StructuralOrganizationInterpretation *> isTopFrontierSet;
127  std::vector<RESQML2_0_1_NS::StructuralOrganizationInterpretation *> isSideFrontierSet;
128 
129  friend void AbstractRepresentation::setInterpretation(AbstractFeatureInterpretation * interp);
131  };
132 }
133 
AbstractFeatureInterpretation(gsoap_resqml2_0_1::resqml2__AbstractFeatureInterpretation *fromGsoap)
Definition: AbstractFeatureInterpretation.h:48
void pushBackInterpretation(class AbstractFeatureInterpretation *interp)
Definition: GridConnectionSetRepresentation.cpp:87
Definition: AbstractRepresentation.h:31
Definition: AbstractFeatureInterpretation.h:30
Definition: EpcDocument.h:65
virtual ~AbstractFeatureInterpretation()
Definition: AbstractFeatureInterpretation.h:57
Definition: StructuralOrganizationInterpretation.h:26
AbstractFeatureInterpretation(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition: AbstractFeatureInterpretation.h:37
Definition: EpcDocument.h:154
AbstractFeatureInterpretation()
Definition: AbstractFeatureInterpretation.h:43
Definition: AbstractObject.h:27
Definition: AbstractHdfProxy.h:28
Definition: EpcDocument.h:49
Definition: AbstractFeature.h:27