summaryrefslogtreecommitdiffstats
path: root/src/render/jobs/updatetreeenabledjob_p.h
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2019-04-03 21:20:53 +0100
committerMike Krus <mike.krus@kdab.com>2019-05-25 09:28:33 +0100
commit861a73b5328334ebf076d3dd6b2ad6c17bdc0700 (patch)
treeeecd01b77c76c4376813b59da63484bd866af813 /src/render/jobs/updatetreeenabledjob_p.h
parentd108987a6ce9087908a14396ac90c8d9bb0860cb (diff)
Iterate on child handles
Resolving list of handles as list of node pointers introduces extra heap memory allocation (via QVector) which can cause locking with high number of threads. Added Entity::traverse() methods to apply a functor to all entitied in a sub-tree. Change-Id: I239ab30ac8ac53ba83666a147015d58465d76eb2 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/jobs/updatetreeenabledjob_p.h')
-rw-r--r--src/render/jobs/updatetreeenabledjob_p.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/render/jobs/updatetreeenabledjob_p.h b/src/render/jobs/updatetreeenabledjob_p.h
index 6eac75ea6..ba28998bc 100644
--- a/src/render/jobs/updatetreeenabledjob_p.h
+++ b/src/render/jobs/updatetreeenabledjob_p.h
@@ -62,6 +62,7 @@ namespace Qt3DRender {
namespace Render {
class Entity;
+class NodeManagers;
class Q_3DRENDERSHARED_PRIVATE_EXPORT UpdateTreeEnabledJob : public Qt3DCore::QAspectJob
{
@@ -69,10 +70,12 @@ public:
UpdateTreeEnabledJob();
void setRoot(Entity *root);
+ void setManagers(NodeManagers *manager);
void run() override;
private:
Entity *m_node;
+ NodeManagers *m_manager;
};
typedef QSharedPointer<UpdateTreeEnabledJob> UpdateTreeEnabledJobPtr;