diff options
author | Christian Strømme <christian.stromme@qt.io> | 2018-08-27 22:30:47 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2018-09-20 15:14:57 +0000 |
commit | 59923f7725c82ac31c1245a36bd3b1be9bec3cd7 (patch) | |
tree | 93dc674e29797ce661090898c46b72c39292dbbe /src/runtime/q3dsuippresentation.cpp | |
parent | 99ea7a57e452c82fd8e62271c5499bc392735f2b (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.cpp | 38 |
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) { |