diff options
author | Janne Kangas <janne.kangas@qt.io> | 2018-11-14 13:40:38 +0200 |
---|---|---|
committer | Janne Kangas <janne.kangas@qt.io> | 2019-02-12 05:16:54 +0000 |
commit | 4a1b50066c9d7ea7adccad152032cb33d0960847 (patch) | |
tree | cb471d723d0c85adc1875c89325efca7dfbee5a2 /src/runtime/q3dsuippresentation.cpp | |
parent | cbc5e51aa4cc357eab650940c972b68f1b666fba (diff) |
Implement datainput metadata
Add functionality for requesting/setting metadata specific to this
datainput to Q3DSDataInput API. Currently offered on C++ side only
as the intent for metadata is to facilitate dynamic binding of data
sources to data inputs rather than using metadata in end user-facing
visualization.
Change-Id: Iccda62247cf1dcd857073f92f40d7f955ea43817
Task-id: QT3DS-2993
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'src/runtime/q3dsuippresentation.cpp')
-rw-r--r-- | src/runtime/q3dsuippresentation.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/runtime/q3dsuippresentation.cpp b/src/runtime/q3dsuippresentation.cpp index af2b710..c7b48f8 100644 --- a/src/runtime/q3dsuippresentation.cpp +++ b/src/runtime/q3dsuippresentation.cpp @@ -4446,6 +4446,17 @@ qint64 Q3DSUipPresentation::meshesLoadTimeMsecs() const void Q3DSUipPresentation::setDataInputEntries(const Q3DSDataInputEntry::Map *entries) { d->dataInputEntries = entries; + updateMetadata(); +} + +void Q3DSUipPresentation::updateMetadata() +{ + Q3DSDataInputEntry::MetadataMap map; + for (auto it = d->dataInputEntries->cbegin(); it != d->dataInputEntries->cend(); ++it) { + if (!it->metaDataKey.isNull() && !it->metaData.isNull()) + map.insert(it->metaDataKey.toString(), it->name); + } + d->dataInputMetadata = map; } const Q3DSDataInputEntry::Map *Q3DSUipPresentation::dataInputEntries() const @@ -4453,6 +4464,11 @@ const Q3DSDataInputEntry::Map *Q3DSUipPresentation::dataInputEntries() const return d->dataInputEntries; } +const Q3DSDataInputEntry::MetadataMap *Q3DSUipPresentation::dataInputMetadatas() const +{ + return &d->dataInputMetadata; +} + bool Q3DSUipPresentation::isValidDataInput(const Q3DSDataInput *di) const { // Only check for name validity here. Q3DSUipPresentation is not concerned |