summaryrefslogtreecommitdiffstats
path: root/src/runtime/q3dsuippresentation.cpp
diff options
context:
space:
mode:
authorChristian Strømme <christian.stromme@qt.io>2018-08-27 22:30:47 +0200
committerLaszlo Agocs <laszlo.agocs@qt.io>2018-09-20 15:14:57 +0000
commit59923f7725c82ac31c1245a36bd3b1be9bec3cd7 (patch)
tree93dc674e29797ce661090898c46b72c39292dbbe /src/runtime/q3dsuippresentation.cpp
parent99ea7a57e452c82fd8e62271c5499bc392735f2b (diff)
Add some new types and an example using the QML APIs
Contains some basic types for getting the ball rolling, and isn't very usable outside that. Change-Id: Ib4c186e26d7bd142a9fe51bd74ea54a7bf5fd691 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/runtime/q3dsuippresentation.cpp')
-rw-r--r--src/runtime/q3dsuippresentation.cpp38
1 files changed, 36 insertions, 2 deletions
diff --git a/src/runtime/q3dsuippresentation.cpp b/src/runtime/q3dsuippresentation.cpp
index fe9ec4d..1fbc963 100644
--- a/src/runtime/q3dsuippresentation.cpp
+++ b/src/runtime/q3dsuippresentation.cpp
@@ -2570,12 +2570,16 @@ int Q3DSNode::mapChangeFlags(const Q3DSPropertyChangeList &changeList) const
if (it->nameStr() == QStringLiteral("position")
|| it->nameStr() == QStringLiteral("rotation")
|| it->nameStr() == QStringLiteral("scale")
- || it->nameStr() == QStringLiteral("pivot"))
+ || it->nameStr() == QStringLiteral("pivot")
+ || it->nameStr() == QStringLiteral("x")
+ || it->nameStr() == QStringLiteral("y")
+ || it->nameStr() == QStringLiteral("z"))
{
changeFlags |= TransformChanges;
} else if (it->nameStr() == QStringLiteral("opacity")) {
changeFlags |= OpacityChanges;
- } else if (it->nameStr() == QStringLiteral("eyeball")) {
+ } else if (it->nameStr() == QStringLiteral("eyeball")
+ || it->nameStr() == QStringLiteral("visible")) {
changeFlags |= EyeballChanges;
}
}
@@ -2642,6 +2646,36 @@ Q3DSPropertyChange Q3DSNode::setOrientation(Orientation v)
return createPropSetter(m_orientation, v, "orientation");
}
+Q3DSPropertyChange Q3DSNode::setX(float x)
+{
+ return setPosition({x, m_position.y(), m_position.z()});
+}
+
+Q3DSPropertyChange Q3DSNode::setY(float y)
+{
+ return setPosition({m_position.x(), y, m_position.z()});
+}
+
+Q3DSPropertyChange Q3DSNode::setZ(float z)
+{
+ return setPosition({m_position.x(), m_position.y(), z});
+}
+
+Q3DSPropertyChange Q3DSNode::setOpacityNormalized(float opacity)
+{
+ return setLocalOpacity(qBound(0.f, opacity * 100.f, 100.f));
+}
+
+Q3DSPropertyChange Q3DSNode::setZRotation(float z)
+{
+ return setRotation({m_rotation.x(), m_rotation.y(), z});
+}
+
+Q3DSPropertyChange Q3DSNode::setScaleFactor(float scale)
+{
+ return setScale({scale, scale, scale});
+}
+
Q3DSLayerNode::Q3DSLayerNode()
: Q3DSNode(Q3DSGraphObject::Layer)
{