Fesapi  2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
ContinuousProperty.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/ContinuousProperty.h"
22 #include "../eml2/AbstractHdfProxy.h"
23 
24 #include <stdexcept>
25 #include <sstream>
26 
27 namespace RESQML2_0_1_NS
28 {
36  class ContinuousProperty final : public RESQML2_NS::ContinuousProperty
37  {
38  public:
39 
45  DLL_IMPORT_OR_EXPORT ContinuousProperty(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : RESQML2_NS::ContinuousProperty(partialObject) {}
46 
72  ContinuousProperty(RESQML2_NS::AbstractRepresentation * rep, const std::string & guid, const std::string & title,
73  unsigned int dimension, gsoap_eml2_3::resqml22__IndexableElement attachmentKind, gsoap_resqml2_0_1::resqml20__ResqmlUom uom, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind);
74 
98  ContinuousProperty(RESQML2_NS::AbstractRepresentation * rep, const std::string & guid, const std::string & title,
99  unsigned int dimension, gsoap_eml2_3::resqml22__IndexableElement attachmentKind, gsoap_resqml2_0_1::resqml20__ResqmlUom uom, EML2_NS::PropertyKind * localPropKind);
100 
125  ContinuousProperty(RESQML2_NS::AbstractRepresentation * rep, const std::string & guid, const std::string & title,
126  unsigned int dimension, gsoap_eml2_3::resqml22__IndexableElement attachmentKind, const std::string & nonStandardUom, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind);
127 
149  ContinuousProperty(RESQML2_NS::AbstractRepresentation * rep, const std::string & guid, const std::string & title,
150  unsigned int dimension, gsoap_eml2_3::resqml22__IndexableElement attachmentKind, const std::string & nonStandardUom, EML2_NS::PropertyKind * localPropKind);
151 
157  ContinuousProperty(gsoap_resqml2_0_1::_resqml20__ContinuousProperty* fromGsoap): RESQML2_NS::ContinuousProperty(fromGsoap) {}
158 
160  ~ContinuousProperty() = default;
161 
170  DLL_IMPORT_OR_EXPORT gsoap_resqml2_0_1::resqml20__ResqmlUom getUom() const final;
171 
180  DLL_IMPORT_OR_EXPORT std::string getUomAsString() const final;
181 
182  DLL_IMPORT_OR_EXPORT double getMinimumValue(unsigned int index = 0) const final;
183 
184  DLL_IMPORT_OR_EXPORT double getMaximumValue(unsigned int index = 0) const final;
185 
186  DLL_IMPORT_OR_EXPORT void setMinimumValue(double value, unsigned int index = 0) const final;
187 
188  DLL_IMPORT_OR_EXPORT void setMaximumValue(double value, unsigned int index = 0) const final;
189 
198  DLL_IMPORT_OR_EXPORT gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind getEnergisticsPropertyKind() const;
199 
200  bool validatePropertyKindAssociation(EML2_NS::PropertyKind* pk) final;
201 
202  bool validatePropertyKindAssociation(gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind pk) final;
203 
207  DLL_IMPORT_OR_EXPORT static const char* XML_NS;
208 
212  DLL_IMPORT_OR_EXPORT std::string getXmlNamespace() const final { return XML_NS; }
213 
214  private:
215 
226  void init(RESQML2_NS::AbstractRepresentation * rep, const std::string & guid, const std::string & title,
227  unsigned int dimension, gsoap_eml2_3::resqml22__IndexableElement attachmentKind);
228 
229  EML2_NS::AbstractHdfProxy* getValuesHdfProxyAndDatasetPathOfPatch(unsigned int patchIndex, std::string & datasetPath) const;
230 
231  size_t getMinimumValueSize() const;
232  size_t getMaximumValueSize() const;
233  };
234 }
Definition: ContinuousProperty.h:37
ContinuousProperty(resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::resqml22__IndexableElement attachmentKind, const std::string &nonStandardUom, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind)
gsoap_resqml2_0_1::resqml20__ResqmlUom getUom() const final
ContinuousProperty(gsoap_resqml2_0_1::_resqml20__ContinuousProperty *fromGsoap)
Definition: ContinuousProperty.h:157
ContinuousProperty(resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::resqml22__IndexableElement attachmentKind, gsoap_resqml2_0_1::resqml20__ResqmlUom uom, eml2::PropertyKind *localPropKind)
ContinuousProperty(resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::resqml22__IndexableElement attachmentKind, gsoap_resqml2_0_1::resqml20__ResqmlUom uom, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind)
ContinuousProperty(resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::resqml22__IndexableElement attachmentKind, const std::string &nonStandardUom, eml2::PropertyKind *localPropKind)
ContinuousProperty(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition: ContinuousProperty.h:45
Definition: PropertyKind.h:28