diff options
21 files changed, 3 insertions, 839 deletions
diff --git a/src/core/nodes/qnode.cpp b/src/core/nodes/qnode.cpp index 9b643299c..4e2a3349f 100644 --- a/src/core/nodes/qnode.cpp +++ b/src/core/nodes/qnode.cpp @@ -71,7 +71,6 @@ QNodePrivate::QNodePrivate() , m_hasBackendNode(false) , m_enabled(true) , m_notifiedParent(false) - , m_defaultPropertyTrackMode(QNode::TrackFinalValues) , m_propertyChangesSetup(false) , m_signals(this) { @@ -507,11 +506,7 @@ void QNodePrivate::_q_ensureBackendNodeCreated() void QNodePrivate::setScene(QScene *scene) { if (m_scene != scene) { - if (m_scene != nullptr) - m_scene->removePropertyTrackDataForNode(m_id); m_scene = scene; - // set PropertyTrackData in the scene - updatePropertyTrackMode(); } } @@ -577,16 +572,6 @@ void QNodePrivate::insertTree(QNode *treeRoot, int depth) treeRoot->setParent(q_func()); } -void QNodePrivate::updatePropertyTrackMode() -{ - if (m_scene != nullptr) { - QScene::NodePropertyTrackData trackData; - trackData.defaultTrackMode = m_defaultPropertyTrackMode; - trackData.trackedPropertiesOverrides = m_trackedPropertiesOverrides; - m_scene->setPropertyTrackDataForNode(m_id, trackData); - } -} - void QNodePrivate::update() { if (m_changeArbiter) { @@ -833,20 +818,6 @@ void QNode::setEnabled(bool isEnabled) emit enabledChanged(isEnabled); } -void QNode::setDefaultPropertyTrackingMode(QNode::PropertyTrackingMode mode) -{ - Q_D(QNode); - if (d->m_defaultPropertyTrackMode == mode) - return; - - d->m_defaultPropertyTrackMode = mode; - // The backend doesn't care about such notification - const bool blocked = blockNotifications(true); - emit defaultPropertyTrackingModeChanged(mode); - blockNotifications(blocked); - d->updatePropertyTrackMode(); -} - /*! \property Qt3DCore::QNode::enabled @@ -864,48 +835,6 @@ bool QNode::isEnabled() const } /*! - \property Qt3DCore::QNode::defaultPropertyTrackingMode - - Holds the default property tracking mode which determines whether a QNode should - be listening for property updates. This only applies to properties which - haven't been overridden by a call to setPropertyTracking. - - By default it is set to QNode::TrackFinalValues -*/ -QNode::PropertyTrackingMode QNode::defaultPropertyTrackingMode() const -{ - Q_D(const QNode); - return d->m_defaultPropertyTrackMode; -} - -void QNode::setPropertyTracking(const QString &propertyName, QNode::PropertyTrackingMode trackMode) -{ - Q_D(QNode); - d->m_trackedPropertiesOverrides.insert(propertyName, trackMode); - d->updatePropertyTrackMode(); -} - -QNode::PropertyTrackingMode QNode::propertyTracking(const QString &propertyName) const -{ - Q_D(const QNode); - return d->m_trackedPropertiesOverrides.value(propertyName, d->m_defaultPropertyTrackMode); -} - -void QNode::clearPropertyTracking(const QString &propertyName) -{ - Q_D(QNode); - d->m_trackedPropertiesOverrides.remove(propertyName); - d->updatePropertyTrackMode(); -} - -void QNode::clearPropertyTrackings() -{ - Q_D(QNode); - d->m_trackedPropertiesOverrides.clear(); - d->updatePropertyTrackMode(); -} - -/*! \fn Qt3DCore::QNodeCommand::CommandId Qt3DCore::QNodeCommand::inReplyTo() const Returns the id of the original QNodeCommand message that diff --git a/src/core/nodes/qnode.h b/src/core/nodes/qnode.h index e6914919d..2fe0b0f9e 100644 --- a/src/core/nodes/qnode.h +++ b/src/core/nodes/qnode.h @@ -66,16 +66,8 @@ class Q_3DCORESHARED_EXPORT QNode : public QObject Q_OBJECT Q_PROPERTY(Qt3DCore::QNode *parent READ parentNode WRITE setParent NOTIFY parentChanged) Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged) - Q_PROPERTY(PropertyTrackingMode defaultPropertyTrackingMode READ defaultPropertyTrackingMode WRITE setDefaultPropertyTrackingMode NOTIFY defaultPropertyTrackingModeChanged REVISION 9) public: - enum PropertyTrackingMode : quint16 { - TrackFinalValues, - DontTrackValues, - TrackAllValues - }; - Q_ENUM(PropertyTrackingMode) - explicit QNode(QNode *parent = nullptr); virtual ~QNode(); @@ -88,22 +80,14 @@ public: QNodeVector childNodes() const; bool isEnabled() const; - PropertyTrackingMode defaultPropertyTrackingMode() const; - - void setPropertyTracking(const QString &propertyName, PropertyTrackingMode trackMode); - PropertyTrackingMode propertyTracking(const QString &propertyName) const; - void clearPropertyTracking(const QString &propertyName); - void clearPropertyTrackings(); public Q_SLOTS: void setParent(QNode *parent); void setEnabled(bool isEnabled); - void setDefaultPropertyTrackingMode(PropertyTrackingMode mode); Q_SIGNALS: void parentChanged(QObject *parent); void enabledChanged(bool enabled); - void defaultPropertyTrackingModeChanged(PropertyTrackingMode mode); void nodeDestroyed(); protected: diff --git a/src/core/nodes/qnode_p.h b/src/core/nodes/qnode_p.h index 269b815e3..2e84f042d 100644 --- a/src/core/nodes/qnode_p.h +++ b/src/core/nodes/qnode_p.h @@ -104,8 +104,6 @@ public: bool m_hasBackendNode; bool m_enabled; bool m_notifiedParent; - QNode::PropertyTrackingMode m_defaultPropertyTrackMode; - QHash<QString, QNode::PropertyTrackingMode> m_trackedPropertiesOverrides; static QNodePrivate *get(QNode *q); static const QNodePrivate *get(const QNode *q); diff --git a/src/core/qscene.cpp b/src/core/qscene.cpp index d2a341c15..20b818917 100644 --- a/src/core/qscene.cpp +++ b/src/core/qscene.cpp @@ -63,7 +63,6 @@ public: QAspectEngine *m_engine; QHash<QNodeId, QNode *> m_nodeLookupTable; QMultiHash<QNodeId, QNodeId> m_componentToEntities; - QHash<QNodeId, QScene::NodePropertyTrackData> m_nodePropertyTrackModeLookupTable; QChangeArbiter *m_arbiter; QScopedPointer<NodePostConstructorInit> m_postConstructorInit; mutable QReadWriteLock m_lock; @@ -182,27 +181,6 @@ bool QScene::hasEntityForComponent(QNodeId componentUuid, QNodeId entityUuid) return std::find(range.first, range.second, entityUuid) != range.second; } -QScene::NodePropertyTrackData QScene::lookupNodePropertyTrackData(QNodeId id) const -{ - Q_D(const QScene); - QReadLocker lock(&d->m_nodePropertyTrackModeLock); - return d->m_nodePropertyTrackModeLookupTable.value(id); -} - -void QScene::setPropertyTrackDataForNode(QNodeId nodeId, const QScene::NodePropertyTrackData &data) -{ - Q_D(QScene); - QWriteLocker lock(&d->m_nodePropertyTrackModeLock); - d->m_nodePropertyTrackModeLookupTable.insert(nodeId, data); -} - -void QScene::removePropertyTrackDataForNode(QNodeId nodeId) -{ - Q_D(QScene); - QWriteLocker lock(&d->m_nodePropertyTrackModeLock); - d->m_nodePropertyTrackModeLookupTable.remove(nodeId); -} - NodePostConstructorInit *QScene::postConstructorInit() const { Q_D(const QScene); diff --git a/src/core/qscene_p.h b/src/core/qscene_p.h index 78c40904c..ed014a916 100644 --- a/src/core/qscene_p.h +++ b/src/core/qscene_p.h @@ -102,16 +102,6 @@ public: void removeEntityForComponent(QNodeId componentUuid, QNodeId entityUuid); bool hasEntityForComponent(QNodeId componentUuid, QNodeId entityUuid); - // Node -> Property Update Data - struct NodePropertyTrackData - { - QNode::PropertyTrackingMode defaultTrackMode = QNode::TrackFinalValues; - QHash<QString, QNode::PropertyTrackingMode> trackedPropertiesOverrides; - }; - NodePropertyTrackData lookupNodePropertyTrackData(QNodeId id) const; - void setPropertyTrackDataForNode(QNodeId id, const NodePropertyTrackData &data); - void removePropertyTrackDataForNode(QNodeId id); - NodePostConstructorInit* postConstructorInit() const; void markDirty(DirtyNodeSet changes); diff --git a/src/quick3d/imports/animation/qt3dquick3danimationplugin.cpp b/src/quick3d/imports/animation/qt3dquick3danimationplugin.cpp index 8ca625a3e..0ece3c88a 100644 --- a/src/quick3d/imports/animation/qt3dquick3danimationplugin.cpp +++ b/src/quick3d/imports/animation/qt3dquick3danimationplugin.cpp @@ -58,7 +58,6 @@ #include <Qt3DAnimation/qmorphtarget.h> #include <Qt3DAnimation/qvertexblendanimation.h> -#include <Qt3DQuick/private/quick3dnodev9_p.h> #include <Qt3DQuickAnimation/private/qt3dquickanimation_global_p.h> #include <Qt3DQuickAnimation/private/quick3dchannelmapper_p.h> #include <Qt3DQuickAnimation/private/quick3dkeyframeanimation_p.h> @@ -75,7 +74,6 @@ void Qt3DQuick3DAnimationPlugin::registerTypes(const char *uri) Qt3DAnimation::Quick::Quick3DAnimation_initialize(); // @uri Qt3D.Animation - qmlRegisterExtendedUncreatableType<Qt3DCore::QNode, Qt3DCore::Quick::Quick3DNodeV9, 9>(uri, 2, 9, "Node", QStringLiteral("Node is a base class")); qmlRegisterUncreatableType<Qt3DAnimation::QAbstractClipAnimator>(uri, 2, 9, "AbstractClipAnimator", QStringLiteral("QAbstractClipAnimator is abstract")); qmlRegisterType<Qt3DAnimation::QClipAnimator>(uri, 2, 9, "ClipAnimator"); qmlRegisterType<Qt3DAnimation::QBlendedClipAnimator>(uri, 2, 9, "BlendedClipAnimator"); diff --git a/src/quick3d/imports/core/qt3dquick3dcoreplugin.cpp b/src/quick3d/imports/core/qt3dquick3dcoreplugin.cpp index 4fa5a5fd1..264e49052 100644 --- a/src/quick3d/imports/core/qt3dquick3dcoreplugin.cpp +++ b/src/quick3d/imports/core/qt3dquick3dcoreplugin.cpp @@ -51,7 +51,6 @@ #include <Qt3DCore/qboundingvolume.h> #include <QtCore/qvariantanimation.h> -#include <Qt3DQuick/private/quick3dnodev9_p.h> #include <Qt3DQuick/private/quick3dentity_p.h> #include <Qt3DQuick/private/quick3dentityloader_p.h> #include <Qt3DQuick/private/quick3dnodeinstantiator_p.h> @@ -96,7 +95,6 @@ void Qt3DQuick3DCorePlugin::registerTypes(const char *uri) // Ideally we want to make Node an uncreatable type // We would need qmlRegisterUncreatableExtendedType for that qmlRegisterExtendedUncreatableType<Qt3DCore::QNode, Qt3DCore::Quick::Quick3DNode>(uri, 2, 0, "Node", QStringLiteral("Node is a base class")); - qmlRegisterExtendedUncreatableType<Qt3DCore::QNode, Qt3DCore::Quick::Quick3DNodeV9, 9>(uri, 2, 9, "Node", QStringLiteral("Node is a base class")); Qt3DCore::Quick::registerExtendedType<Qt3DCore::QJoint, Qt3DCore::Quick::Quick3DJoint>("QJoint", "Qt3D.Core/Joint", uri, 2, 10, "Joint"); diff --git a/src/quick3d/quick3d/CMakeLists.txt b/src/quick3d/quick3d/CMakeLists.txt index bbcb0e2fd..18fb5f530 100644 --- a/src/quick3d/quick3d/CMakeLists.txt +++ b/src/quick3d/quick3d/CMakeLists.txt @@ -14,7 +14,6 @@ qt_add_module(3DQuick items/quick3djoint.cpp items/quick3djoint_p.h items/quick3dnode.cpp items/quick3dnode_p.h items/quick3dnodeinstantiator.cpp items/quick3dnodeinstantiator_p.h - items/quick3dnodev9.cpp items/quick3dnodev9_p.h qqmlaspectengine.cpp qqmlaspectengine.h qqmlaspectengine_p.h qquaternionanimation.cpp qquaternionanimation_p.h qt3dquick_global.cpp qt3dquick_global.h qt3dquick_global_p.h diff --git a/src/quick3d/quick3d/items/items.pri b/src/quick3d/quick3d/items/items.pri index febe5c395..28b56eaab 100644 --- a/src/quick3d/quick3d/items/items.pri +++ b/src/quick3d/quick3d/items/items.pri @@ -4,7 +4,6 @@ HEADERS += \ $$PWD/quick3dentityloader_p_p.h \ $$PWD/quick3dentityloader_p.h \ $$PWD/quick3dnode_p.h \ - $$PWD/quick3dnodev9_p.h \ $$PWD/quick3djoint_p.h \ $$PWD/quick3dbuffer_p.h \ $$PWD/quick3dgeometry_p.h @@ -14,7 +13,6 @@ SOURCES += \ $$PWD/quick3dentity.cpp \ $$PWD/quick3dentityloader.cpp \ $$PWD/quick3dnodeinstantiator.cpp \ - $$PWD/quick3dnodev9.cpp \ $$PWD/quick3djoint.cpp \ $$PWD/quick3dbuffer.cpp \ $$PWD/quick3dgeometry.cpp diff --git a/src/quick3d/quick3d/items/quick3dnodev9.cpp b/src/quick3d/quick3d/items/quick3dnodev9.cpp deleted file mode 100644 index 5162c2f6d..000000000 --- a/src/quick3d/quick3d/items/quick3dnodev9.cpp +++ /dev/null @@ -1,193 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 Klaralvdalens Datakonsult AB (KDAB). -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt3D module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "quick3dnodev9_p.h" -#include <QtQml/QJSValueIterator> - -QT_BEGIN_NAMESPACE - -namespace Qt3DCore { -namespace Quick { - -Quick3DNodeV9::Quick3DNodeV9(QObject *parent) - : QObject(parent) -{ -} - -/*! - \qmlproperty QJSValue Qt3DCore::Node::propertyTrackingOverrides - - Assuming a Qt3DCore::Node needs to override the PropertyTrackingMode on two - properties (enabled and displacement), the value should be set as shown - below. - - \badcode - propertyTrackingOverrides: { - "enabled": Entity.DontTrackValues, - "displacement": Entity.TrackFinalValues - } - \endcode - - By default, there are no override values set. - \since 2.9 -*/ - -QJSValue Quick3DNodeV9::propertyTrackingOverrides() const -{ - return m_propertyTrackingOverrides; -} - -void Quick3DNodeV9::setPropertyTrackingOverrides(const QJSValue &value) -{ - m_propertyTrackingOverrides = value; - - QNode *parentNode = this->parentNode(); - parentNode->clearPropertyTrackings(); - - if (value.isObject()) { - QJSValueIterator it(value); - while (it.hasNext()) { - it.next(); - parentNode->setPropertyTracking(it.name(), static_cast<QNode::PropertyTrackingMode>(it.value().toInt())); - } - } - emit propertyTrackingOverridesChanged(value); -} - -QQmlListProperty<QObject> Quick3DNodeV9::data() -{ - return QQmlListProperty<QObject>(this, 0, - Quick3DNodeV9::appendData, - Quick3DNodeV9::dataCount, - Quick3DNodeV9::dataAt, - Quick3DNodeV9::clearData); -} - -QQmlListProperty<QNode> Quick3DNodeV9::childNodes() -{ - return QQmlListProperty<QNode>(this, 0, - Quick3DNodeV9::appendChild, - Quick3DNodeV9::childCount, - Quick3DNodeV9::childAt, - Quick3DNodeV9::clearChildren); -} - -void Quick3DNodeV9::appendData(QQmlListProperty<QObject> *list, QObject *obj) -{ - if (!obj) - return; - - Quick3DNodeV9 *self = static_cast<Quick3DNodeV9 *>(list->object); - self->childAppended(0, obj); -} - -QObject *Quick3DNodeV9::dataAt(QQmlListProperty<QObject> *list, int index) -{ - Quick3DNodeV9 *self = static_cast<Quick3DNodeV9 *>(list->object); - return self->parentNode()->children().at(index); -} - -int Quick3DNodeV9::dataCount(QQmlListProperty<QObject> *list) -{ - Quick3DNodeV9 *self = static_cast<Quick3DNodeV9 *>(list->object); - return self->parentNode()->children().count(); -} - -void Quick3DNodeV9::clearData(QQmlListProperty<QObject> *list) -{ - Quick3DNodeV9 *self = static_cast<Quick3DNodeV9 *>(list->object); - for (QObject *const child : self->parentNode()->children()) - self->childRemoved(0, child); -} - -void Quick3DNodeV9::appendChild(QQmlListProperty<Qt3DCore::QNode> *list, Qt3DCore::QNode *obj) -{ - if (!obj) - return; - - Quick3DNodeV9 *self = static_cast<Quick3DNodeV9 *>(list->object); - Q_ASSERT(!self->parentNode()->children().contains(obj)); - - self->childAppended(0, obj); -} - -Qt3DCore::QNode *Quick3DNodeV9::childAt(QQmlListProperty<Qt3DCore::QNode> *list, int index) -{ - Quick3DNodeV9 *self = static_cast<Quick3DNodeV9 *>(list->object); - return qobject_cast<QNode *>(self->parentNode()->children().at(index)); -} - -int Quick3DNodeV9::childCount(QQmlListProperty<Qt3DCore::QNode> *list) -{ - Quick3DNodeV9 *self = static_cast<Quick3DNodeV9 *>(list->object); - return self->parentNode()->children().count(); -} - -void Quick3DNodeV9::clearChildren(QQmlListProperty<Qt3DCore::QNode> *list) -{ - Quick3DNodeV9 *self = static_cast<Quick3DNodeV9 *>(list->object); - for (QObject *const child : self->parentNode()->children()) - self->childRemoved(0, child); -} - -void Quick3DNodeV9::childAppended(int, QObject *obj) -{ - QNode *parentNode = this->parentNode(); - if (obj->parent() == parentNode) - obj->setParent(0); - // Set after otherwise addChild might not work - if (QNode *n = qobject_cast<QNode *>(obj)) - n->setParent(parentNode); - else - obj->setParent(parentNode); -} - -void Quick3DNodeV9::childRemoved(int, QObject *obj) -{ - if (QNode *n = qobject_cast<QNode *>(obj)) - n->setParent(Q_NODE_NULLPTR); - else - obj->setParent(nullptr); -} - - -} // namespace Quick -} // namespace Qt3DCore - -QT_END_NAMESPACE diff --git a/src/quick3d/quick3d/items/quick3dnodev9_p.h b/src/quick3d/quick3d/items/quick3dnodev9_p.h deleted file mode 100644 index a088e72e6..000000000 --- a/src/quick3d/quick3d/items/quick3dnodev9_p.h +++ /dev/null @@ -1,109 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 Klaralvdalens Datakonsult AB (KDAB). -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt3D module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QT3D_QUICK_QUICK3DNODEV9_P_H -#define QT3D_QUICK_QUICK3DNODEV9_P_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists for the convenience -// of other Qt classes. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include <QtQml/QJSValue> -#include <QQmlListProperty> -#include <Qt3DCore/qnode.h> -#include <Qt3DQuick/private/qt3dquick_global_p.h> - -QT_BEGIN_NAMESPACE - -namespace Qt3DCore { -namespace Quick { - -class Q_3DQUICKSHARED_PRIVATE_EXPORT Quick3DNodeV9 : public QObject -{ - Q_OBJECT - Q_PROPERTY(QJSValue propertyTrackingOverrides READ propertyTrackingOverrides WRITE setPropertyTrackingOverrides NOTIFY propertyTrackingOverridesChanged) - Q_PROPERTY(QQmlListProperty<QObject> data READ data) - Q_PROPERTY(QQmlListProperty<Qt3DCore::QNode> childNodes READ childNodes) - Q_CLASSINFO("DefaultProperty", "data") - -public: - explicit Quick3DNodeV9(QObject *parent = nullptr); - - QJSValue propertyTrackingOverrides() const; - QQmlListProperty<QObject> data(); - QQmlListProperty<Qt3DCore::QNode> childNodes(); - - inline QNode *parentNode() const { return qobject_cast<QNode*>(parent()); } - -Q_SIGNALS: - void propertyTrackingOverridesChanged(const QJSValue &value); - -private Q_SLOTS: - void setPropertyTrackingOverrides(const QJSValue &value); - void childAppended(int idx, QObject *child); - void childRemoved(int idx, QObject *child); - -private: - static void appendData(QQmlListProperty<QObject> *list, QObject *obj); - static QObject *dataAt(QQmlListProperty<QObject> *list, int index); - static int dataCount(QQmlListProperty<QObject> *list); - static void clearData(QQmlListProperty<QObject> *list); - - static void appendChild(QQmlListProperty<Qt3DCore::QNode> *list, Qt3DCore::QNode *obj); - static QNode *childAt(QQmlListProperty<Qt3DCore::QNode> *list, int index); - static int childCount(QQmlListProperty<Qt3DCore::QNode> *list); - static void clearChildren(QQmlListProperty<Qt3DCore::QNode> *list); - - QJSValue m_propertyTrackingOverrides; -}; - -} // namespace Quick -} // namespace Qt3DCore - -QT_END_NAMESPACE - - -#endif // QT3D_QUICK_QUICK3DNODEV9_P_H diff --git a/tests/auto/core/nodes/tst_nodes.cpp b/tests/auto/core/nodes/tst_nodes.cpp index 39560938a..d925cec15 100644 --- a/tests/auto/core/nodes/tst_nodes.cpp +++ b/tests/auto/core/nodes/tst_nodes.cpp @@ -53,7 +53,6 @@ public: ~tst_Nodes() {} private slots: - void initTestCase(); void defaultNodeConstruction(); void defaultComponentConstruction(); void defaultEntityConstrution(); @@ -99,8 +98,6 @@ private slots: void checkDefaultConstruction(); void checkPropertyChanges(); void checkEnabledUpdate(); - void checkPropertyTrackModeUpdate(); - void checkTrackedPropertyNamesUpdate(); void checkNodeRemovedFromDirtyListOnDestruction(); }; @@ -465,11 +462,6 @@ void verifyChildrenCreatedBeforeParents(Qt3DCore::QNode *root, TestAspect *aspec } } -void tst_Nodes::initTestCase() -{ - qRegisterMetaType<Qt3DCore::QNode::PropertyTrackingMode>("PropertyTrackingMode"); -} - void tst_Nodes::defaultNodeConstruction() { // GIVEN @@ -1551,7 +1543,6 @@ void tst_Nodes::checkDefaultConstruction() // THEN QCOMPARE(node.parentNode(), nullptr); QCOMPARE(node.isEnabled(), true); - QCOMPARE(node.defaultPropertyTrackingMode(), Qt3DCore::QNode::TrackFinalValues); } void tst_Nodes::checkPropertyChanges() @@ -1598,40 +1589,6 @@ void tst_Nodes::checkPropertyChanges() QCOMPARE(node.isEnabled(), newValue); QCOMPARE(spy.count(), 0); } - { - // WHEN - QSignalSpy spy(&node, SIGNAL(defaultPropertyTrackingModeChanged(PropertyTrackingMode))); - const Qt3DCore::QNode::PropertyTrackingMode newValue = Qt3DCore::QNode::TrackAllValues; - node.setDefaultPropertyTrackingMode(newValue); - - // THEN - QVERIFY(spy.isValid()); - QCOMPARE(node.defaultPropertyTrackingMode(), newValue); - QCOMPARE(spy.count(), 1); - - // WHEN - spy.clear(); - node.setDefaultPropertyTrackingMode(newValue); - - // THEN - QCOMPARE(node.defaultPropertyTrackingMode(), newValue); - QCOMPARE(spy.count(), 0); - } - { - // WHEN - const QString enabledPropertyName = QStringLiteral("enabled"); - node.setDefaultPropertyTrackingMode(Qt3DCore::QNode::DontTrackValues); - node.setPropertyTracking(enabledPropertyName, Qt3DCore::QNode::TrackAllValues); - - // THEN - QCOMPARE(node.propertyTracking(enabledPropertyName), Qt3DCore::QNode::TrackAllValues); - - // WHEN - node.clearPropertyTracking(enabledPropertyName); - - // THEN - QCOMPARE(node.propertyTracking(enabledPropertyName), Qt3DCore::QNode::DontTrackValues); - } } void tst_Nodes::checkEnabledUpdate() @@ -1662,60 +1619,6 @@ void tst_Nodes::checkEnabledUpdate() } -void tst_Nodes::checkPropertyTrackModeUpdate() -{ - // GIVEN - TestArbiter arbiter; - Qt3DCore::QNode node; - arbiter.setArbiterOnNode(&node); - - { - // WHEN - node.setDefaultPropertyTrackingMode(Qt3DCore::QNode::TrackAllValues); - QCoreApplication::processEvents(); - - // THEN -> this properties is non notifying - QCOMPARE(arbiter.dirtyNodes().size(), 0); - } - - { - // WHEN - node.setDefaultPropertyTrackingMode(Qt3DCore::QNode::TrackAllValues); - QCoreApplication::processEvents(); - - // THEN - QCOMPARE(arbiter.dirtyNodes().size(), 0); - } - -} - -void tst_Nodes::checkTrackedPropertyNamesUpdate() -{ - // GIVEN - TestArbiter arbiter; - Qt3DCore::QNode node; - arbiter.setArbiterOnNode(&node); - - { - // WHEN - node.setPropertyTracking(QStringLiteral("883"), Qt3DCore::QNode::TrackAllValues); - QCoreApplication::processEvents(); - - // THEN -> this properties is non notifying - QCOMPARE(arbiter.dirtyNodes().size(), 0); - } - - { - // WHEN - node.setPropertyTracking(QStringLiteral("883"), Qt3DCore::QNode::DontTrackValues); - QCoreApplication::processEvents(); - - // THEN - QCOMPARE(arbiter.dirtyNodes().size(), 0); - } - -} - void tst_Nodes::checkNodeRemovedFromDirtyListOnDestruction() { // GIVEN diff --git a/tests/auto/core/qscene/tst_qscene.cpp b/tests/auto/core/qscene/tst_qscene.cpp index 5a23dab48..7285beb1c 100644 --- a/tests/auto/core/qscene/tst_qscene.cpp +++ b/tests/auto/core/qscene/tst_qscene.cpp @@ -50,11 +50,6 @@ private slots: void addEntityForComponent(); void removeEntityForComponent(); void hasEntityForComponent(); - void setPropertyTrackData(); - void lookupNodePropertyTrackData(); - void removePropertyTrackData(); - void nodeSetAndUnsetPropertyTrackData(); - void nodeUpdatePropertyTrackData(); }; class tst_Node : public Qt3DCore::QNode @@ -349,159 +344,6 @@ void tst_QScene::hasEntityForComponent() QVERIFY(scene->hasEntityForComponent(components.at(i)->id(), entities.at(i)->id())); } -void tst_QScene::setPropertyTrackData() -{ - // GIVEN - Qt3DCore::QNodeId fakeNodeId = Qt3DCore::QNodeId::createId(); - QScopedPointer<Qt3DCore::QScene> scene(new Qt3DCore::QScene); - QHash<QString, Qt3DCore::QNode::PropertyTrackingMode> overridenTrackedProperties; - overridenTrackedProperties.insert(QStringLiteral("1340"), Qt3DCore::QNode::TrackAllValues); - - // WHEN - { - Qt3DCore::QScene::NodePropertyTrackData trackData; - trackData.trackedPropertiesOverrides = overridenTrackedProperties; - trackData.defaultTrackMode = Qt3DCore::QNode::DontTrackValues; - scene->setPropertyTrackDataForNode(fakeNodeId, trackData); - } - - // THEN - { - Qt3DCore::QScene::NodePropertyTrackData trackData = scene->lookupNodePropertyTrackData(fakeNodeId); - QCOMPARE(trackData.trackedPropertiesOverrides, overridenTrackedProperties); - QCOMPARE(trackData.defaultTrackMode, Qt3DCore::QNode::DontTrackValues); - } - - // WHEN - { - Qt3DCore::QScene::NodePropertyTrackData trackData; - trackData.trackedPropertiesOverrides.clear(); - trackData.defaultTrackMode = Qt3DCore::QNode::TrackFinalValues; - scene->setPropertyTrackDataForNode(fakeNodeId, trackData); - } - - // THEN - { - Qt3DCore::QScene::NodePropertyTrackData trackData = scene->lookupNodePropertyTrackData(fakeNodeId); - QCOMPARE(trackData.trackedPropertiesOverrides.size(), 0); - QCOMPARE(trackData.defaultTrackMode, Qt3DCore::QNode::TrackFinalValues); - } -} - -void tst_QScene::lookupNodePropertyTrackData() -{ - // GIVEN - QScopedPointer<Qt3DCore::QScene> scene(new Qt3DCore::QScene); - Qt3DCore::QNodeId fakeNodeId = Qt3DCore::QNodeId::createId(); - - // THEN -> default value for non existent id - Qt3DCore::QScene::NodePropertyTrackData trackData = scene->lookupNodePropertyTrackData(fakeNodeId); - QCOMPARE(trackData.trackedPropertiesOverrides.size(), 0); - QCOMPARE(trackData.defaultTrackMode, Qt3DCore::QNode::TrackFinalValues); - - // WHEN - trackData.trackedPropertiesOverrides.insert(QStringLiteral("383"), Qt3DCore::QNode::TrackAllValues); - trackData.defaultTrackMode = Qt3DCore::QNode::DontTrackValues; - scene->setPropertyTrackDataForNode(fakeNodeId, trackData); - - trackData = scene->lookupNodePropertyTrackData(fakeNodeId); - QCOMPARE(trackData.trackedPropertiesOverrides.size(), 1); - QCOMPARE(trackData.defaultTrackMode, Qt3DCore::QNode::DontTrackValues); -} - -void tst_QScene::removePropertyTrackData() -{ - // GIVEN - QScopedPointer<Qt3DCore::QScene> scene(new Qt3DCore::QScene); - Qt3DCore::QNodeId fakeNodeId = Qt3DCore::QNodeId::createId(); - - // WHEN - Qt3DCore::QScene::NodePropertyTrackData trackData; - trackData.trackedPropertiesOverrides.insert(QStringLiteral("1584"), Qt3DCore::QNode::TrackAllValues); - trackData.defaultTrackMode = Qt3DCore::QNode::DontTrackValues; - scene->setPropertyTrackDataForNode(fakeNodeId, trackData); - scene->removePropertyTrackDataForNode(fakeNodeId); - - // THEN -> default value for non existent id - trackData = scene->lookupNodePropertyTrackData(fakeNodeId); - QCOMPARE(trackData.trackedPropertiesOverrides.size(), 0); - QCOMPARE(trackData.defaultTrackMode, Qt3DCore::QNode::TrackFinalValues); -} - -void tst_QScene::nodeSetAndUnsetPropertyTrackData() -{ - // GIVEN - QScopedPointer<Qt3DCore::QScene> scene(new Qt3DCore::QScene); - Qt3DCore::QNode parentNode; - Qt3DCore::QNodePrivate::get(&parentNode)->setScene(scene.data()); - - Qt3DCore::QNode *childNode = new Qt3DCore::QNode(); - childNode->setPropertyTracking(QStringLiteral("883"), Qt3DCore::QNode::TrackAllValues); - childNode->setDefaultPropertyTrackingMode(Qt3DCore::QNode::DontTrackValues); - - // WHEN - childNode->setParent(&parentNode); - QCoreApplication::processEvents(); - - // THEN - QCOMPARE(Qt3DCore::QNodePrivate::get(childNode)->m_scene, scene.data()); - Qt3DCore::QScene::NodePropertyTrackData trackData = scene->lookupNodePropertyTrackData(childNode->id()); - QCOMPARE(trackData.defaultTrackMode, Qt3DCore::QNode::DontTrackValues); - QCOMPARE(trackData.trackedPropertiesOverrides.size(), 1); - QCOMPARE(trackData.trackedPropertiesOverrides[QStringLiteral("883")], Qt3DCore::QNode::TrackAllValues); - - // WHEN - const Qt3DCore::QNodeId childNodeId = childNode->id(); - delete childNode; - QCoreApplication::processEvents(); - - // THEN -> default value for non existent id - trackData = scene->lookupNodePropertyTrackData(childNodeId); - QCOMPARE(trackData.trackedPropertiesOverrides.size(), 0); - QCOMPARE(trackData.defaultTrackMode, Qt3DCore::QNode::TrackFinalValues); -} - -void tst_QScene::nodeUpdatePropertyTrackData() -{ - // GIVEN - QScopedPointer<Qt3DCore::QScene> scene(new Qt3DCore::QScene); - Qt3DCore::QNode parentNode; - Qt3DCore::QNodePrivate::get(&parentNode)->setScene(scene.data()); - - Qt3DCore::QNode *childNode = new Qt3DCore::QNode(); - const QString propertyName = QStringLiteral("883"); - childNode->setPropertyTracking(propertyName, Qt3DCore::QNode::TrackFinalValues); - childNode->setDefaultPropertyTrackingMode(Qt3DCore::QNode::DontTrackValues); - - // WHEN - childNode->setParent(&parentNode); - QCoreApplication::processEvents(); - - // THEN - QCOMPARE(Qt3DCore::QNodePrivate::get(childNode)->m_scene, scene.data()); - Qt3DCore::QScene::NodePropertyTrackData trackData = scene->lookupNodePropertyTrackData(childNode->id()); - QCOMPARE(trackData.defaultTrackMode, Qt3DCore::QNode::DontTrackValues); - QCOMPARE(trackData.trackedPropertiesOverrides.size(), 1); - QCOMPARE(trackData.trackedPropertiesOverrides[propertyName], Qt3DCore::QNode::TrackFinalValues); - - // WHEN - childNode->setDefaultPropertyTrackingMode(Qt3DCore::QNode::TrackAllValues); - - // THEN - trackData = scene->lookupNodePropertyTrackData(childNode->id()); - QCOMPARE(trackData.defaultTrackMode, Qt3DCore::QNode::TrackAllValues); - - // WHEN - const QString propertyName2 = QStringLiteral("Viper"); - childNode->setPropertyTracking(propertyName2, Qt3DCore::QNode::DontTrackValues); - - // THEN - trackData = scene->lookupNodePropertyTrackData(childNode->id()); - QCOMPARE(trackData.trackedPropertiesOverrides.size(), 2); - QCOMPARE(trackData.trackedPropertiesOverrides[propertyName], Qt3DCore::QNode::TrackFinalValues); - QCOMPARE(trackData.trackedPropertiesOverrides[propertyName2], Qt3DCore::QNode::DontTrackValues); -} - QTEST_MAIN(tst_QScene) #include "tst_qscene.moc" diff --git a/tests/auto/quick3d/CMakeLists.txt b/tests/auto/quick3d/CMakeLists.txt index 504b7b2e9..33855345a 100644 --- a/tests/auto/quick3d/CMakeLists.txt +++ b/tests/auto/quick3d/CMakeLists.txt @@ -7,5 +7,4 @@ if(QT_FEATURE_private_tests) add_subdirectory(3dinput) add_subdirectory(3dcore) add_subdirectory(quick3dbuffer) - add_subdirectory(quick3dnode) endif() diff --git a/tests/auto/quick3d/quick3d.pro b/tests/auto/quick3d/quick3d.pro index dd67a3ef4..8abe04550 100644 --- a/tests/auto/quick3d/quick3d.pro +++ b/tests/auto/quick3d/quick3d.pro @@ -7,6 +7,5 @@ qtConfig(private_tests) { 3drender \ 3dinput \ 3dcore \ - quick3dbuffer \ - quick3dnode + quick3dbuffer } diff --git a/tests/auto/quick3d/quick3dnode/CMakeLists.txt b/tests/auto/quick3d/quick3dnode/CMakeLists.txt deleted file mode 100644 index 520cec50a..000000000 --- a/tests/auto/quick3d/quick3dnode/CMakeLists.txt +++ /dev/null @@ -1,40 +0,0 @@ -# Generated from quick3dnode.pro. - -##################################################################### -## tst_quick3dnode Test: -##################################################################### - -qt_add_test(tst_quick3dnode - SOURCES - ../../render/qmlscenereader/qmlscenereader.cpp ../../render/qmlscenereader/qmlscenereader.h - tst_quick3dnode.cpp - INCLUDE_DIRECTORIES - ../../render/qmlscenereader - PUBLIC_LIBRARIES - Qt::3DCore - Qt::3DCorePrivate - Qt::3DQuick - Qt::3DQuickPrivate - Qt::3DQuickRenderPrivate - Qt::3DRender - Qt::3DRenderPrivate - Qt::CorePrivate - Qt::Gui - Qt::Qml -) - -# Resources: -set(quick3dnode_resource_files - "quick3dnodev9.qml" -) - -qt_add_resource(tst_quick3dnode "quick3dnode" - PREFIX - "/" - FILES - ${quick3dnode_resource_files} -) - - -#### Keys ignored in scope 1:.:.:quick3dnode.pro:<TRUE>: -# TEMPLATE = "app" diff --git a/tests/auto/quick3d/quick3dnode/quick3dnode.pro b/tests/auto/quick3d/quick3dnode/quick3dnode.pro deleted file mode 100644 index 5b3038c42..000000000 --- a/tests/auto/quick3d/quick3dnode/quick3dnode.pro +++ /dev/null @@ -1,13 +0,0 @@ -TEMPLATE = app - -TARGET = tst_quick3dnode - -QT += 3dcore 3dcore-private 3drender 3drender-private 3dquick 3dquick-private 3dquickrender-private testlib - -CONFIG += testcase - -include(../../render/qmlscenereader/qmlscenereader.pri) - -SOURCES += tst_quick3dnode.cpp - -RESOURCES += quick3dnode.qrc diff --git a/tests/auto/quick3d/quick3dnode/quick3dnode.qrc b/tests/auto/quick3d/quick3dnode/quick3dnode.qrc deleted file mode 100644 index afdbbbb66..000000000 --- a/tests/auto/quick3d/quick3dnode/quick3dnode.qrc +++ /dev/null @@ -1,5 +0,0 @@ -<RCC> - <qresource prefix="/"> - <file>quick3dnodev9.qml</file> - </qresource> -</RCC> diff --git a/tests/auto/quick3d/quick3dnode/quick3dnodev9.qml b/tests/auto/quick3d/quick3dnode/quick3dnodev9.qml deleted file mode 100644 index 5429faf4e..000000000 --- a/tests/auto/quick3d/quick3dnode/quick3dnodev9.qml +++ /dev/null @@ -1,36 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 Paul Lemire <paul.lemire350@gmail.com> -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt3D module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import Qt3D.Core 2.9 - -Entity { - propertyTrackingOverrides: { - "enabled": Entity.DontTrackValues, - "displacement": Entity.TrackFinalValues - } -} diff --git a/tests/auto/quick3d/quick3dnode/tst_quick3dnode.cpp b/tests/auto/quick3d/quick3dnode/tst_quick3dnode.cpp deleted file mode 100644 index 38bf46a7a..000000000 --- a/tests/auto/quick3d/quick3dnode/tst_quick3dnode.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 Klaralvdalens Datakonsult AB (KDAB). -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt3D module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QtTest/QTest> -#include <Qt3DQuick/private/quick3dnode_p.h> -#include <QObject> -#include <qmlscenereader.h> - -class tst_Quick3DNode : public QObject -{ - Q_OBJECT - -private Q_SLOTS: - - void checkPropertyTrackingOverrides_V9() - { - // GIVEN - QmlSceneReader sceneReader(QUrl("qrc:/quick3dnodev9.qml")); - - // THEN - QVERIFY(sceneReader.root() != nullptr); - Qt3DCore::QNode *node = static_cast<Qt3DCore::QNode *>(sceneReader.root()); - QCOMPARE(node->propertyTracking(QLatin1String("enabled")), Qt3DCore::QNode::DontTrackValues); - QCOMPARE(node->propertyTracking(QLatin1String("displacement")), Qt3DCore::QNode::TrackFinalValues); - } -}; - -QTEST_MAIN(tst_Quick3DNode) - -#include "tst_quick3dnode.moc" diff --git a/tests/auto/render/updateshaderdatatransformjob/tst_updateshaderdatatransformjob.cpp b/tests/auto/render/updateshaderdatatransformjob/tst_updateshaderdatatransformjob.cpp index 025138f3c..e59543154 100644 --- a/tests/auto/render/updateshaderdatatransformjob/tst_updateshaderdatatransformjob.cpp +++ b/tests/auto/render/updateshaderdatatransformjob/tst_updateshaderdatatransformjob.cpp @@ -206,7 +206,7 @@ private Q_SLOTS: const QHash<QString, Qt3DRender::Render::ShaderData::PropertyValue> &props = backendShaderData->properties(); // THEN - QCOMPARE(props.size(), 3); + QCOMPARE(props.size(), 2); QVERIFY(props.contains(QStringLiteral("eyePosition"))); QVERIFY(props.contains(QStringLiteral("eyePositionTransformed"))); @@ -249,7 +249,7 @@ private Q_SLOTS: const QHash<QString, Qt3DRender::Render::ShaderData::PropertyValue> &props = backendShaderData->properties(); // THEN - QCOMPARE(props.size(), 3); + QCOMPARE(props.size(), 2); QVERIFY(props.contains(QStringLiteral("position"))); QVERIFY(props.contains(QStringLiteral("positionTransformed"))); |