summaryrefslogtreecommitdiffstats
path: root/src/render/backend
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire350@gmail.com>2016-05-13 22:11:07 +0200
committerPaul Lemire <paul.lemire@kdab.com>2016-06-27 10:52:15 +0000
commit17f72a7c1982a024291c571842741e3d00784bb7 (patch)
treed1a58a2f6f26ef9df77f5d63b079aab376006e17 /src/render/backend
parent6c9fdd02150e356931e049ebb1fa6de93edb1838 (diff)
Entity: add simple method to check for components
Change-Id: I560089e499aa8e98415b00b3131a5e9923c1a551 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/backend')
-rw-r--r--src/render/backend/entity.cpp1
-rw-r--r--src/render/backend/entity_p.h13
2 files changed, 14 insertions, 0 deletions
diff --git a/src/render/backend/entity.cpp b/src/render/backend/entity.cpp
index 1eec44f7b..7091d493f 100644
--- a/src/render/backend/entity.cpp
+++ b/src/render/backend/entity.cpp
@@ -166,6 +166,7 @@ void Entity::initializeFromPeer(const QNodeCreatedChangeBasePtr &change)
m_geometryRendererComponent = QNodeId();
m_objectPickerComponent = QNodeId();
m_boundingVolumeDebugComponent = QNodeId();
+ m_computeComponent = QNodeId();
m_layerComponents.clear();
m_shaderDataComponents.clear();
m_lightComponents.clear();
diff --git a/src/render/backend/entity_p.h b/src/render/backend/entity_p.h
index 49f5f4106..cf6c0117b 100644
--- a/src/render/backend/entity_p.h
+++ b/src/render/backend/entity_p.h
@@ -153,6 +153,19 @@ public:
return QVector<Qt3DCore::QNodeId>();
}
+ template<typename T>
+ bool containsComponentsOfType()
+ {
+ return !componentUuid<T>().isNull();
+ }
+
+ template<typename T, typename Ts, typename ... Ts2>
+ bool containsComponentsOfType()
+ {
+ return containsComponentsOfType<T>() && containsComponentsOfType<Ts, Ts2...>();
+ }
+
+
private:
void initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change) Q_DECL_FINAL;