Fesapi  0.13.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
SubRepresentation.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/SubRepresentation.h"
22 
23 namespace RESQML2_0_1_NS
24 {
25  class DLL_IMPORT_OR_EXPORT SubRepresentation : public RESQML2_NS::SubRepresentation
26  {
27  private:
28  /*
29  * @param soapContext The soap context where the underlying gsoap proxy will be created.
30  * @param guid The guid to set to this instance.
31  * @param title A title for the instance to init.
32  */
33  void init(soap* soapContext, const std::string & guid, const std::string & title);
34 
35  gsoap_resqml2_0_1::_resqml2__SubRepresentation* getSpecializedGsoapProxy() const;
36 
40  gsoap_resqml2_0_1::resqml2__SubRepresentationPatch* getSubRepresentationPatch(const unsigned int & index) const;
41 
46  void pushBackXmlSupportingRepresentation(RESQML2_NS::AbstractRepresentation * supportingRep);
47 
48  class DiscreteProperty* getSupportingRepresentationIndicesDiscretePropOfPatch(const unsigned int & patchIndex) const;
49 
50  public:
51 
55  SubRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject):
56  RESQML2_NS::SubRepresentation(partialObject) {}
57 
64  SubRepresentation(soap* soapContext, const std::string & guid, const std::string & title);
65 
73  const std::string & guid, const std::string & title);
74 
78  SubRepresentation(gsoap_resqml2_0_1::_resqml2__SubRepresentation* fromGsoap) : RESQML2_NS::SubRepresentation(fromGsoap) {}
79 
84 
85  std::string getHdfProxyUuid() const;
86 
90  RESQML2_NS::AbstractRepresentation::indexableElement getElementKindOfPatch(const unsigned int & patchIndex, const unsigned int & elementIndicesIndex) const;
91 
95  ULONG64 getElementCountOfPatch(const unsigned int & patchIndex) const;
96 
102  void getElementIndicesOfPatch(const unsigned int & patchIndex, const unsigned int & elementIndicesIndex, ULONG64 * elementIndices) const;
103 
108  void getSupportingRepresentationIndicesOfPatch(const unsigned int & patchIndex, short * supportingRepresentationIndices) const;
109 
113  bool areElementIndicesPairwise(const unsigned int & patchIndex) const;
114 
119  bool areElementIndicesBasedOnLattice(const unsigned int & patchIndex, const unsigned int & elementIndicesIndex = 0) const;
120 
121  LONG64 getLatticeElementIndicesStartValue(const unsigned int & patchIndex, const unsigned int & elementIndicesIndex = 0) const;
122  unsigned int getLatticeElementIndicesDimensionCount(const unsigned int & patchIndex, const unsigned int & elementIndicesIndex = 0) const;
123  LONG64 getLatticeElementIndicesOffsetValue(const unsigned int & latticeDimensionIndex, const unsigned int & patchIndex, const unsigned int & elementIndicesIndex = 0) const;
124  ULONG64 getLatticeElementIndicesOffsetCount(const unsigned int & latticeDimensionIndex, const unsigned int & patchIndex, const unsigned int & elementIndicesIndex = 0) const;
125 
133  void pushBackSubRepresentationPatch(const gsoap_resqml2_0_1::resqml2__IndexableElements & elementKind, const ULONG64 & originIndex,
134  const unsigned int & elementCountInSlowestDimension,
135  const unsigned int & elementCountInMiddleDimension,
136  const unsigned int & elementCountInFastestDimension);
137 
146  void pushBackSubRepresentationPatch(const gsoap_resqml2_0_1::resqml2__IndexableElements & elementKind, const ULONG64 & elementCount, ULONG64 * elementIndices, COMMON_NS::AbstractHdfProxy* proxy, short * supportingRepIndices = nullptr);
147 
157  void pushBackSubRepresentationPatch(const gsoap_resqml2_0_1::resqml2__IndexableElements & elementKind0, const gsoap_resqml2_0_1::resqml2__IndexableElements & elementKind1,
158  const ULONG64 & elementCount,
159  ULONG64 * elementIndices0, ULONG64 * elementIndices1,
161 
172  void pushBackRefToExistingDataset(const gsoap_resqml2_0_1::resqml2__IndexableElements & elementKind, const ULONG64 & elementCount, const std::string & elementDataset,
173  const LONG64 & nullValue, COMMON_NS::AbstractHdfProxy * proxy, const std::string & supportingRepDataset = "");
174 
175  unsigned int getPatchCount() const;
176 
180  unsigned int getSupportingRepresentationCount() const;
181 
185  gsoap_resqml2_0_1::eml20__DataObjectReference* getSupportingRepresentationDor(unsigned int index) const;
186  };
187 }
188 
SubRepresentation(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition: SubRepresentation.h:55
SubRepresentation(gsoap_resqml2_0_1::_resqml2__SubRepresentation *fromGsoap)
Definition: SubRepresentation.h:78
Definition: SubRepresentation.h:25
Definition: SubRepresentation.h:25
Definition: AbstractRepresentation.h:31
Definition: AbstractFeatureInterpretation.h:30
Definition: EpcDocument.h:65
Definition: DiscreteProperty.h:29
~SubRepresentation()
Definition: SubRepresentation.h:83
Definition: AbstractHdfProxy.h:30
Definition: EpcDocument.h:49