diff options
author | Mahmoud Badri <mahmoud.badri@qt.io> | 2019-05-09 11:05:52 +0300 |
---|---|---|
committer | Mahmoud Badri <mahmoud.badri@qt.io> | 2019-05-09 12:28:53 +0000 |
commit | 61c2aba1dbda677e6379750bc1a42c60e6db10cd (patch) | |
tree | 80e7f0e19fe461c8356d200d386403e6b08a5ed2 /src/runtime | |
parent | d2fcbf12bbec125a49b276d0f9be8ce24abf2525 (diff) |
Add vector4 support for datainputs
Task-number: QT3DS-3394
Change-Id: Ib7662ec150f5f3a7b1b233e8493bb09e9d45a727
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Jari Karppinen <jari.karppinen@qt.io>
Reviewed-by: Janne Kangas <janne.kangas@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Diffstat (limited to 'src/runtime')
-rw-r--r-- | src/runtime/profileui/q3dsprofileui.cpp | 14 | ||||
-rw-r--r-- | src/runtime/q3dsdatainputentry_p.h | 1 | ||||
-rw-r--r-- | src/runtime/q3dspresentationcommon_p.h | 2 | ||||
-rw-r--r-- | src/runtime/q3dsscenemanager.cpp | 3 | ||||
-rw-r--r-- | src/runtime/q3dsuiaparser.cpp | 2 |
5 files changed, 21 insertions, 1 deletions
diff --git a/src/runtime/profileui/q3dsprofileui.cpp b/src/runtime/profileui/q3dsprofileui.cpp index 85f5ac5..7bdffdc 100644 --- a/src/runtime/profileui/q3dsprofileui.cpp +++ b/src/runtime/profileui/q3dsprofileui.cpp @@ -83,6 +83,7 @@ private: void showNumberInput(const QString &diName); void showVec2Input(const QString &diName); void showVec3Input(const QString &diName); + void showVec4Input(const QString &diName); void showStringInput(const QString &diName); void addPresentationSelector(); Q3DSProfiler *selectedProfiler() const; @@ -117,6 +118,7 @@ private: QHash<QString, float> m_dataInputFloatBuf; QHash<QString, QVector2D> m_dataInputVec2Buf; QHash<QString, QVector3D> m_dataInputVec3Buf; + QHash<QString, QVector4D> m_dataInputVec4Buf; Q3DSConsole *m_console = nullptr; bool m_layerCaching = true; }; @@ -1044,6 +1046,9 @@ void Q3DSProfileView::addAlterSceneStuff() case Q3DSDataInputEntry::TypeVec3: showVec3Input(diName); break; + case Q3DSDataInputEntry::TypeVec4: + showVec4Input(diName); + break; case Q3DSDataInputEntry::TypeVariant: { // show dropdown for selecting datatype inputted to Variant datainput @@ -1114,6 +1119,15 @@ void Q3DSProfileView::showVec3Input(const QString &diName) selectedProfiler()->sendDataInputValueChange(diName, buf); } +void Q3DSProfileView::showVec4Input(const QString &diName) +{ + QVector4D &buf(m_dataInputVec4Buf[diName]); + ImGui::InputFloat4(qPrintable(diName), reinterpret_cast<float *>(&buf)); + ImGui::SameLine(); + if (ImGui::Button("Apply")) + selectedProfiler()->sendDataInputValueChange(diName, buf); +} + void Q3DSProfileView::showStringInput(const QString &diName) { QByteArray *buf; diff --git a/src/runtime/q3dsdatainputentry_p.h b/src/runtime/q3dsdatainputentry_p.h index af096a5..8f70c7f 100644 --- a/src/runtime/q3dsdatainputentry_p.h +++ b/src/runtime/q3dsdatainputentry_p.h @@ -64,6 +64,7 @@ struct Q3DSV_PRIVATE_EXPORT Q3DSDataInputEntry TypeRangedNumber, TypeVec2, TypeVec3, + TypeVec4, TypeVariant, TypeBoolean }; diff --git a/src/runtime/q3dspresentationcommon_p.h b/src/runtime/q3dspresentationcommon_p.h index 15c77e5..c8ddda1 100644 --- a/src/runtime/q3dspresentationcommon_p.h +++ b/src/runtime/q3dspresentationcommon_p.h @@ -62,7 +62,7 @@ enum PropertyType { // value format Vector, // Float3 Scale, // Float3 Rotation, // Float3 - Color, // Float3 + Color, // Float4 Boolean, // Bool Slide, // String Font, // String diff --git a/src/runtime/q3dsscenemanager.cpp b/src/runtime/q3dsscenemanager.cpp index 928f2f8..051dd94 100644 --- a/src/runtime/q3dsscenemanager.cpp +++ b/src/runtime/q3dsscenemanager.cpp @@ -9545,6 +9545,9 @@ void Q3DSSceneManager::setDataInputValue(const QString &dataInputName, const QVa case Q3DSDataInputEntry::TypeVec3: type = Q3DS::Vector; break; + case Q3DSDataInputEntry::TypeVec4: + type = Q3DS::Vector; + break; case Q3DSDataInputEntry::TypeBoolean: type = Q3DS::Boolean; break; diff --git a/src/runtime/q3dsuiaparser.cpp b/src/runtime/q3dsuiaparser.cpp index 556d1ae..1a15abf 100644 --- a/src/runtime/q3dsuiaparser.cpp +++ b/src/runtime/q3dsuiaparser.cpp @@ -151,6 +151,8 @@ void Q3DSUiaParser::parsePresentations() e.type = Q3DSDataInputEntry::TypeVec2; } else if (type == QLatin1String("Vector3")) { e.type = Q3DSDataInputEntry::TypeVec3; + } else if (type == QLatin1String("Vector4")) { + e.type = Q3DSDataInputEntry::TypeVec4; } else if (type == QLatin1String("Variant")) { e.type = Q3DSDataInputEntry::TypeVariant; } else if (type == QLatin1String("Boolean")) { |