Fesapi 2.3.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
AbstractValuesProperty.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
10 http://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 <limits>
22#include "AbstractProperty.h"
23
24namespace RESQML2_NS
25{
28 {
29 public:
30
34 virtual ~AbstractValuesProperty() = default;
35
45 DLL_IMPORT_OR_EXPORT unsigned int getPatchCount() const final;
46
54 DLL_IMPORT_OR_EXPORT void pushBackFacet(gsoap_eml2_3::eml23__FacetKind facet, const std::string & facetValue);
55
61 DLL_IMPORT_OR_EXPORT unsigned int getFacetCount() const;
62
72 DLL_IMPORT_OR_EXPORT gsoap_eml2_3::eml23__FacetKind getFacetKind(unsigned int index) const;
73
83 DLL_IMPORT_OR_EXPORT std::string getFacetValue(unsigned int index) const;
84
85 //****************************
86 //****** INTEGER *************
87 //****************************
88
105 DLL_IMPORT_OR_EXPORT void pushBackLongHdf5Array1dOfValues(const int64_t * values, uint64_t valueCount, EML2_NS::AbstractHdfProxy* proxy, int64_t nullValue);
106
112 DLL_IMPORT_OR_EXPORT void pushBackIntHdf5Array1dOfValues(const int * values, uint64_t valueCount, EML2_NS::AbstractHdfProxy* proxy, int nullValue);
113
119 DLL_IMPORT_OR_EXPORT void pushBackShortHdf5Array1dOfValues(const short * values, uint64_t valueCount, EML2_NS::AbstractHdfProxy* proxy, short nullValue);
120
126 DLL_IMPORT_OR_EXPORT void pushBackCharHdf5Array1dOfValues(const char * values, uint64_t valueCount, EML2_NS::AbstractHdfProxy* proxy, char nullValue);
127
147 DLL_IMPORT_OR_EXPORT void pushBackLongHdf5Array2dOfValues(const int64_t * values, uint64_t valueCountInFastestDim, uint64_t valueCountInSlowestDim, EML2_NS::AbstractHdfProxy* proxy, int64_t nullValue);
148
154 DLL_IMPORT_OR_EXPORT void pushBackIntHdf5Array2dOfValues(const int * values, uint64_t valueCountInFastestDim, uint64_t valueCountInSlowestDim, EML2_NS::AbstractHdfProxy* proxy, int nullValue);
155
161 DLL_IMPORT_OR_EXPORT void pushBackShortHdf5Array2dOfValues(const short * values, uint64_t valueCountInFastestDim, uint64_t valueCountInSlowestDim, EML2_NS::AbstractHdfProxy* proxy, short nullValue);
162
168 DLL_IMPORT_OR_EXPORT void pushBackUShortHdf5Array2dOfValues(const unsigned short * values, uint64_t valueCountInFastestDim, uint64_t valueCountInSlowestDim, EML2_NS::AbstractHdfProxy* proxy, unsigned short nullValue);
169
175 DLL_IMPORT_OR_EXPORT void pushBackCharHdf5Array2dOfValues(const char * values, uint64_t valueCountInFastestDim, uint64_t valueCountInSlowestDim, EML2_NS::AbstractHdfProxy* proxy, char nullValue);
176
198 DLL_IMPORT_OR_EXPORT void pushBackLongHdf5Array3dOfValues(const int64_t * values, uint64_t valueCountInFastestDim, uint64_t valueCountInMiddleDim, uint64_t valueCountInSlowestDim, EML2_NS::AbstractHdfProxy* proxy, int64_t nullValue);
199
205 DLL_IMPORT_OR_EXPORT void pushBackIntHdf5Array3dOfValues(const int * values, uint64_t valueCountInFastestDim, uint64_t valueCountInMiddleDim, uint64_t valueCountInSlowestDim, EML2_NS::AbstractHdfProxy* proxy, int nullValue);
206
212 DLL_IMPORT_OR_EXPORT void pushBackShortHdf5Array3dOfValues(const short * values, uint64_t valueCountInFastestDim, uint64_t valueCountInMiddleDim, uint64_t valueCountInSlowestDim, EML2_NS::AbstractHdfProxy* proxy, short nullValue);
213
219 DLL_IMPORT_OR_EXPORT void pushBackUShortHdf5Array3dOfValues(const unsigned short * values, uint64_t valueCountInFastestDim, uint64_t valueCountInMiddleDim, uint64_t valueCountInSlowestDim, EML2_NS::AbstractHdfProxy* proxy, unsigned short nullValue);
220
226 DLL_IMPORT_OR_EXPORT void pushBackCharHdf5Array3dOfValues(const char * values, uint64_t valueCountInFastestDim, uint64_t valueCountInMiddleDim, uint64_t valueCountInSlowestDim, EML2_NS::AbstractHdfProxy* proxy, char nullValue);
227
246 DLL_IMPORT_OR_EXPORT virtual void pushBackLongHdf5ArrayOfValues(const int64_t * values, unsigned long long * numValues, unsigned int numDimensionsInArray, EML2_NS::AbstractHdfProxy* proxy, int64_t nullValue);
247
253 DLL_IMPORT_OR_EXPORT virtual void pushBackIntHdf5ArrayOfValues(const int * values, unsigned long long * numValues, unsigned int numDimensionsInArray, EML2_NS::AbstractHdfProxy* proxy, int nullValue);
254
260 DLL_IMPORT_OR_EXPORT virtual void pushBackShortHdf5ArrayOfValues(const short * values, unsigned long long * numValues, unsigned int numDimensionsInArray, EML2_NS::AbstractHdfProxy* proxy, short nullValue);
261
267 DLL_IMPORT_OR_EXPORT virtual void pushBackUShortHdf5ArrayOfValues(const unsigned short * values, unsigned long long * numValues, unsigned int numDimensionsInArray, EML2_NS::AbstractHdfProxy* proxy, unsigned short nullValue);
268
274 DLL_IMPORT_OR_EXPORT virtual void pushBackCharHdf5ArrayOfValues(const char * values, unsigned long long * numValues, unsigned int numDimensionsInArray, EML2_NS::AbstractHdfProxy* proxy, char nullValue);
275
295 DLL_IMPORT_OR_EXPORT virtual std::string pushBackRefToExistingIntegerDataset(EML2_NS::AbstractHdfProxy* hdfProxy, const std::string & dataset = "", int64_t nullValue = (std::numeric_limits<int64_t>::max)());
296
309 DLL_IMPORT_OR_EXPORT int64_t getLongValuesOfPatch(unsigned int patchIndex, int64_t * values) const;
310
323 DLL_IMPORT_OR_EXPORT int64_t getNullValueOfPatch(unsigned int patchIndex) const;
324
337 DLL_IMPORT_OR_EXPORT int getIntValuesOfPatch(unsigned int patchIndex, int * values) const;
338
352 DLL_IMPORT_OR_EXPORT unsigned int getUIntValuesOfPatch(unsigned int patchIndex, unsigned int * values) const;
353
366 DLL_IMPORT_OR_EXPORT short getShortValuesOfPatch(unsigned int patchIndex, short * values) const;
367
381 DLL_IMPORT_OR_EXPORT unsigned short getUShortValuesOfPatch(unsigned int patchIndex, unsigned short * values) const;
382
395 DLL_IMPORT_OR_EXPORT char getCharValuesOfPatch(unsigned int patchIndex, char * values) const;
396
410 DLL_IMPORT_OR_EXPORT unsigned char getUCharValuesOfPatch(unsigned int patchIndex, unsigned char * values) const;
411
412 //***********************************
413 //*** INTEGER For hyperslabbing *****
414 //***********************************
415
436 DLL_IMPORT_OR_EXPORT void pushBackLongHdf5ArrayOfValues(
437 unsigned long long* numValues,
438 unsigned int numArrayDimensions,
439 int64_t nullValue = (std::numeric_limits<int64_t>::max)(),
440 EML2_NS::AbstractHdfProxy* proxy = nullptr);
441
464 DLL_IMPORT_OR_EXPORT void pushBackLongHdf5Array3dOfValues(
465 uint64_t valueCountInFastestDim,
466 uint64_t valueCountInMiddleDim,
467 uint64_t valueCountInSlowestDim,
468 int64_t nullValue = (std::numeric_limits<int64_t>::max)(),
469 EML2_NS::AbstractHdfProxy* proxy = nullptr);
470
507 DLL_IMPORT_OR_EXPORT void setValuesOfLongHdf5Array3dOfValues(
508 int64_t* values,
509 uint64_t valueCountInFastestDim,
510 uint64_t valueCountInMiddleDim,
511 uint64_t valueCountInSlowestDim,
512 uint64_t offsetInFastestDim,
513 uint64_t offsetInMiddleDim,
514 uint64_t offsetInSlowestDim,
515 EML2_NS::AbstractHdfProxy* proxy = nullptr,
516 unsigned int patchIndex = (std::numeric_limits<unsigned int>::max)());
517
548 DLL_IMPORT_OR_EXPORT void setValuesOfLongHdf5ArrayOfValues(
549 int64_t* values,
550 unsigned long long const * numValues,
551 unsigned long long const * offsetValues,
552 unsigned int numArrayDimensions,
553 EML2_NS::AbstractHdfProxy* proxy = nullptr,
554 unsigned int patchIndex = (std::numeric_limits<unsigned int>::max)());
555
575 DLL_IMPORT_OR_EXPORT void getLongValuesOfPatch(
576 unsigned int patchIndex,
577 int64_t* values,
578 unsigned long long const * numValuesInEachDimension,
579 unsigned long long const * offsetInEachDimension,
580 unsigned int numArrayDimensions
581 ) const;
582
606 DLL_IMPORT_OR_EXPORT void getLongValuesOf3dPatch(
607 unsigned int patchIndex,
608 int64_t* values,
609 uint64_t valueCountInFastestDim,
610 uint64_t valueCountInMiddleDim,
611 uint64_t valueCountInSlowestDim,
612 uint64_t offsetInFastestDim,
613 uint64_t offsetInMiddleDim,
614 uint64_t offsetInSlowestDim
615 ) const;
616
638 DLL_IMPORT_OR_EXPORT int getIntValuesOfPatch(
639 unsigned int patchIndex,
640 int* values,
641 unsigned long long* numValuesInEachDimension,
642 unsigned long long* offsetInEachDimension,
643 unsigned int numArrayDimensions
644 ) const;
645
669 DLL_IMPORT_OR_EXPORT void getIntValuesOf3dPatch(
670 unsigned int patchIndex,
671 int* values,
672 unsigned int valueCountInFastestDim,
673 unsigned int valueCountInMiddleDim,
674 unsigned int valueCountInSlowestDim,
675 unsigned int offsetInFastestDim,
676 unsigned int offsetInMiddleDim,
677 unsigned int offsetInSlowestDim
678 ) const;
679
680 //***********************************
681 //****** FLOATING POINT *************
682 //***********************************
683
698 DLL_IMPORT_OR_EXPORT void pushBackDoubleHdf5Array1dOfValues(const double * values, uint64_t valueCount, EML2_NS::AbstractHdfProxy* proxy = nullptr);
699
718 DLL_IMPORT_OR_EXPORT void pushBackDoubleHdf5Array2dOfValues(const double * values, uint64_t valueCountInFastestDim, uint64_t valueCountInSlowestDim, EML2_NS::AbstractHdfProxy* proxy = nullptr);
719
740 DLL_IMPORT_OR_EXPORT void pushBackDoubleHdf5Array3dOfValues(const double * values, uint64_t valueCountInFastestDim, uint64_t valueCountInMiddleDim, uint64_t valueCountInSlowestDim, EML2_NS::AbstractHdfProxy* proxy = nullptr);
741
759 DLL_IMPORT_OR_EXPORT void pushBackDoubleHdf5ArrayOfValues(double const * values, unsigned long long const * numValues, unsigned int numArrayDimensions, EML2_NS::AbstractHdfProxy* proxy = nullptr);
760
766 DLL_IMPORT_OR_EXPORT void pushBackFloatHdf5Array1dOfValues(const float * values, uint64_t valueCount, EML2_NS::AbstractHdfProxy* proxy = nullptr);
767
773 DLL_IMPORT_OR_EXPORT void pushBackFloatHdf5Array2dOfValues(const float * values, uint64_t valueCountInFastestDim, uint64_t valueCountInSlowestDim, EML2_NS::AbstractHdfProxy* proxy = nullptr);
774
780 DLL_IMPORT_OR_EXPORT void pushBackFloatHdf5Array3dOfValues(const float * values, uint64_t valueCountInFastestDim, uint64_t valueCountInMiddleDim, uint64_t valueCountInSlowestDim, EML2_NS::AbstractHdfProxy* proxy = nullptr);
781
787 DLL_IMPORT_OR_EXPORT void pushBackFloatHdf5ArrayOfValues(float const * values, unsigned long long const * numValues, unsigned int numArrayDimensions, EML2_NS::AbstractHdfProxy* proxy = nullptr);
788
807 DLL_IMPORT_OR_EXPORT virtual std::string pushBackRefToExistingFloatingPointDataset(EML2_NS::AbstractHdfProxy* proxy, const std::string & datasetName = "");
808
819 DLL_IMPORT_OR_EXPORT void getDoubleValuesOfPatch(unsigned int patchIndex, double * values) const;
820
831 DLL_IMPORT_OR_EXPORT void getFloatValuesOfPatch(unsigned int patchIndex, float * values) const;
832
833 //******************************************
834 //*** For FLOATING POINT hyperslabbing *****
835 //******************************************
836
854 DLL_IMPORT_OR_EXPORT void pushBackFloatHdf5ArrayOfValues(
855 unsigned long long const * numValues,
856 unsigned int numArrayDimensions,
857 EML2_NS::AbstractHdfProxy* proxy = nullptr
858 );
859
879 DLL_IMPORT_OR_EXPORT void pushBackFloatHdf5Array3dOfValues(
880 uint64_t valueCountInFastestDim,
881 uint64_t valueCountInMiddleDim,
882 uint64_t valueCountInSlowestDim,
883 EML2_NS::AbstractHdfProxy* proxy = nullptr
884 );
885
922 DLL_IMPORT_OR_EXPORT void setValuesOfFloatHdf5Array3dOfValues(
923 float const * values,
924 uint64_t valueCountInFastestDim,
925 uint64_t valueCountInMiddleDim,
926 uint64_t valueCountInSlowestDim,
927 uint64_t offsetInFastestDim,
928 uint64_t offsetInMiddleDim,
929 uint64_t offsetInSlowestDim,
930 EML2_NS::AbstractHdfProxy* proxy = nullptr,
931 unsigned int patchIndex = (std::numeric_limits<unsigned int>::max)()
932 );
933
964 DLL_IMPORT_OR_EXPORT void setValuesOfFloatHdf5ArrayOfValues(
965 float const * values,
966 unsigned long long const * numValues,
967 unsigned long long const * offsetValues,
968 unsigned int numArrayDimensions,
969 EML2_NS::AbstractHdfProxy* proxy = nullptr,
970 unsigned int patchIndex = (std::numeric_limits<unsigned int>::max)()
971 );
972
991 DLL_IMPORT_OR_EXPORT void getFloatValuesOfPatch(
992 unsigned int patchIndex,
993 float* values,
994 unsigned long long const * numValuesInEachDimension,
995 unsigned long long const * offsetInEachDimension,
996 unsigned int numArrayDimensions
997 ) const;
998
1021 DLL_IMPORT_OR_EXPORT void getFloatValuesOf3dPatch(
1022 unsigned int patchIndex,
1023 float* values,
1024 uint64_t valueCountInFastestDim,
1025 uint64_t valueCountInMiddleDim,
1026 uint64_t valueCountInSlowestDim,
1027 uint64_t offsetInFastestDim,
1028 uint64_t offsetInMiddleDim,
1029 uint64_t offsetInSlowestDim
1030 ) const;
1031
1032 protected:
1033
1039 DLL_IMPORT_OR_EXPORT AbstractValuesProperty(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : AbstractProperty(partialObject) {}
1040
1046
1052 AbstractValuesProperty(gsoap_resqml2_0_1::resqml20__AbstractValuesProperty* fromGsoap) : RESQML2_NS::AbstractProperty(fromGsoap) {}
1053 AbstractValuesProperty(gsoap_eml2_3::resqml22__AbstractValuesProperty* fromGsoap) : RESQML2_NS::AbstractProperty(fromGsoap) {}
1054
1066 EML2_NS::AbstractHdfProxy* getDatasetOfPatch(unsigned int patchIndex, int64_t & nullValue, std::string & dsPath) const final;
1067
1077 COMMON_NS::DataObjectReference getHdfProxyDor(unsigned int patchIndex) const final;
1078 };
1079}
Proxy class for an abstract property.
Definition: AbstractProperty.h:36
Proxy class for an abstract values property.
Definition: AbstractValuesProperty.h:28
virtual ~AbstractValuesProperty()=default
unsigned int getPatchCount() const final