diff options
author | Janne Kangas <janne.kangas@qt.io> | 2019-03-21 13:38:12 +0200 |
---|---|---|
committer | Janne Kangas <janne.kangas@qt.io> | 2019-04-16 09:28:11 +0000 |
commit | 54b0cb3a95edee5471d9899587040f82e0cb4819 (patch) | |
tree | 673f16b544bb6af27b190bf25a49569737bc6db0 /src/Runtime/Source/engine | |
parent | c6edb9c7d15843e8ab965d365099ace29e2d2049 (diff) |
Implement datainput getter API for OpenGL runtime
Partially implements RT2 feature parity for datainput getters. (Min/max
property is not exposed to QML side.)
Task-id: QT3DS-3258
Change-Id: I9cce3e98289c3cac8d2c774bb53eb75f445b6e17
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'src/Runtime/Source/engine')
-rw-r--r-- | src/Runtime/Source/engine/Qt3DSTegraApplication.cpp | 32 | ||||
-rw-r--r-- | src/Runtime/Source/engine/Qt3DSTegraApplication.h | 24 |
2 files changed, 50 insertions, 6 deletions
diff --git a/src/Runtime/Source/engine/Qt3DSTegraApplication.cpp b/src/Runtime/Source/engine/Qt3DSTegraApplication.cpp index 92c7f6cc..663fe836 100644 --- a/src/Runtime/Source/engine/Qt3DSTegraApplication.cpp +++ b/src/Runtime/Source/engine/Qt3DSTegraApplication.cpp @@ -202,7 +202,13 @@ public: void SetPresentationAttribute(const char *presId, const char *, const char *value) override; void GoToTime(const char *elementPath, const float time) override; void SetGlobalAnimationTime(qint64 inMilliSecs) override; - void SetDataInputValue(const QString &name, const QVariant &value); + void SetDataInputValue(const QString &name, const QVariant &value, + Q3DSDataInput::ValueRole property) override; + + QList<QString> dataInputs() const override; + float dataInputMax(const QString &name) const override; + float dataInputMin(const QString &name) const override; + void SetAttribute(const char *elementPath, const char *attributeName, const char *value) override; bool GetAttribute(const char *elementPath, const char *attributeName, void *value) override; void FireEvent(const char *element, const char *evtName) override; @@ -543,11 +549,31 @@ void CNDDView::SetGlobalAnimationTime(qint64 inMilliSecs) m_Application->SetTimeMilliSecs(inMilliSecs); } -void CNDDView::SetDataInputValue(const QString &name, const QVariant &value) +void CNDDView::SetDataInputValue( + const QString &name, const QVariant &value, + Q3DSDataInput::ValueRole property = Q3DSDataInput::ValueRole::Value) { Q3DStudio::CQmlEngine &theBridgeEngine = static_cast<Q3DStudio::CQmlEngine &>(m_RuntimeFactoryCore->GetScriptEngineQml()); - theBridgeEngine.SetDataInputValue(name, value); + theBridgeEngine.SetDataInputValue(name, value, property); +} + +QList<QString> CNDDView::dataInputs() const +{ + if (m_Application) + return m_Application->dataInputs(); + + return {}; +} + +float CNDDView::dataInputMax(const QString &name) const +{ + return m_Application->dataInputMax(name); +} + +float CNDDView::dataInputMin(const QString &name) const +{ + return m_Application->dataInputMin(name); } void CNDDView::SetAttribute(const char *elementPath, const char *attributeName, const char *value) diff --git a/src/Runtime/Source/engine/Qt3DSTegraApplication.h b/src/Runtime/Source/engine/Qt3DSTegraApplication.h index 91233355..75b6058b 100644 --- a/src/Runtime/Source/engine/Qt3DSTegraApplication.h +++ b/src/Runtime/Source/engine/Qt3DSTegraApplication.h @@ -38,6 +38,7 @@ #include "render/Qt3DSRenderBaseTypes.h" #include "EASTL/string.h" #include "foundation/Qt3DSRefCounted.h" +#include "q3dsdatainput.h" #include "Qt3DSWindowSystem.h" #include "Qt3DSTimer.h" #include "Qt3DSPresentation.h" @@ -187,7 +188,11 @@ public: virtual void SetPresentationAttribute(const char *presId, const char *, const char *value) = 0; virtual void GoToTime(const char *elementPath, const float time) = 0; virtual void SetGlobalAnimationTime(qint64 inMilliSecs) = 0; - virtual void SetDataInputValue(const QString &name, const QVariant &value) = 0; + virtual void SetDataInputValue(const QString &name, const QVariant &value, + Q3DSDataInput::ValueRole property) = 0; + virtual QList<QString> dataInputs() const = 0; + virtual float dataInputMax(const QString &name) const = 0; + virtual float dataInputMin(const QString &name) const = 0; virtual void SetAttribute(const char *elementPath, const char *attributeName, const char *value) = 0; virtual bool GetAttribute(const char *elementPath, const char *attributeName, void *value) = 0; @@ -280,9 +285,22 @@ public: { m_NDDView->SetGlobalAnimationTime(inMilliSecs); } - void SetDataInputValue(const QString &name, const QVariant &value) + void SetDataInputValue(const QString &name, const QVariant &value, + Q3DSDataInput::ValueRole property = Q3DSDataInput::ValueRole::Value) { - m_NDDView->SetDataInputValue(name, value); + m_NDDView->SetDataInputValue(name, value, property); + } + QList<QString> dataInputs() const + { + return m_NDDView->dataInputs(); + } + float datainputMax(const QString &name) const + { + return m_NDDView->dataInputMax(name); + } + float datainputMin(const QString &name) const + { + return m_NDDView->dataInputMin(name); } void SetAttribute(const char *elementPath, const char *attributeName, const char *value) { |