summaryrefslogtreecommitdiffstats
path: root/src/runtime/q3dsuippresentation.cpp
diff options
context:
space:
mode:
authorJanne Kangas <janne.kangas@qt.io>2018-11-14 13:40:38 +0200
committerJanne Kangas <janne.kangas@qt.io>2019-02-12 05:16:54 +0000
commit4a1b50066c9d7ea7adccad152032cb33d0960847 (patch)
treecb471d723d0c85adc1875c89325efca7dfbee5a2 /src/runtime/q3dsuippresentation.cpp
parentcbc5e51aa4cc357eab650940c972b68f1b666fba (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.cpp16
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