summaryrefslogtreecommitdiffstats
path: root/src/Runtime/Source/engine
diff options
context:
space:
mode:
authorJanne Kangas <janne.kangas@qt.io>2019-03-21 13:38:12 +0200
committerJanne Kangas <janne.kangas@qt.io>2019-04-16 09:28:11 +0000
commit54b0cb3a95edee5471d9899587040f82e0cb4819 (patch)
tree673f16b544bb6af27b190bf25a49569737bc6db0 /src/Runtime/Source/engine
parentc6edb9c7d15843e8ab965d365099ace29e2d2049 (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.cpp32
-rw-r--r--src/Runtime/Source/engine/Qt3DSTegraApplication.h24
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)
{