69 ContinuousProperty(RESQML2_NS::AbstractRepresentation * rep,
const std::string & guid,
const std::string & title,
70 unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, gsoap_resqml2_0_1::resqml20__ResqmlUom uom, EML2_NS::PropertyKind * propKind);
92 ContinuousProperty(RESQML2_NS::AbstractRepresentation * rep,
const std::string & guid,
const std::string & title,
93 unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind,
const std::string & nonStandardUom, EML2_NS::PropertyKind * propKind);
105 DLL_IMPORT_OR_EXPORT gsoap_resqml2_0_1::resqml20__ResqmlUom
getUom() const final;
113 DLL_IMPORT_OR_EXPORT
void setMinimumValue(
double value, uint64_t index = 0) const final;
115 DLL_IMPORT_OR_EXPORT
void setMaximumValue(
double value, uint64_t index = 0) const final;
121 DLL_IMPORT_OR_EXPORT COMMON_NS::NumberArrayStatistics<float> getFloatStatistics(uint64_t patchIndex)
const final {
122 return getStats<float>(patchIndex);
124 DLL_IMPORT_OR_EXPORT COMMON_NS::NumberArrayStatistics<double> getDoubleStatistics(uint64_t patchIndex)
const final {
125 return getStats<double>(patchIndex);
131 DLL_IMPORT_OR_EXPORT
static const char*
XML_NS;
150 void init(RESQML2_NS::AbstractRepresentation * rep,
const std::string & guid,
const std::string & title,
151 unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind);
153 size_t getMinimumValueSize()
const {
return 1; }
154 size_t getMaximumValueSize()
const {
return 1; }
157 COMMON_NS::NumberArrayStatistics<T> getStats(uint64_t patchIndex)
const {
158 COMMON_NS::NumberArrayStatistics<T> result;
160 const auto* valuesforPatch =
static_cast<gsoap_eml2_3::_resqml22__ContinuousProperty*
>(gsoapProxy2_3)->ValuesForPatch.at(patchIndex);
161 auto const* xmlArray =
dynamic_cast<gsoap_eml2_3::eml23__AbstractFloatingPointArray const*
>(valuesforPatch);
162 if (xmlArray ==
nullptr)
return result;
164 for (
size_t i = 0; i < xmlArray->Statistics.size(); ++i) {
165 auto const* stats = xmlArray->Statistics[i];
166 if (stats->MaximumValue) {
167 result.setMaximum(*stats->MaximumValue, i);
169 if (stats->MinimumValue) {
170 result.setMinimum(*stats->MinimumValue, i);
172 if (stats->ModePercentage) {
173 result.setModePercentage(*stats->ModePercentage, i);
175 if (stats->ValidValueCount) {
176 result.setValidValueCount(*stats->ValidValueCount, i);
178 if (stats->ValuesMedian) {
179 result.setMedian(*stats->ValuesMedian, i);
181 if (stats->ValuesMode) {
182 result.setMode(*stats->ValuesMode, i);
184 if (stats->ValuesMean) {
185 result.setMean(*stats->ValuesMean, i);
187 if (stats->ValuesStandardDeviation) {
188 result.setStandardDeviation(*stats->ValuesStandardDeviation, i);
ContinuousProperty(resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, const std::string &nonStandardUom, eml2::PropertyKind *propKind)
ContinuousProperty(resqml2::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, gsoap_resqml2_0_1::resqml20__ResqmlUom uom, eml2::PropertyKind *propKind)