summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire350@gmail.com>2015-07-31 17:00:06 +0200
committerPaul Lemire <paul.lemire@kdab.com>2015-08-07 07:59:41 +0000
commit3a851f8be7b0bc0aa4f994b6226a7b8f01768fa4 (patch)
tree102658337249e1ec77c186e1409ce6849a4bfaa1
parent891ef957f9d0a2890d4917649eb48ab5d17634ab (diff)
RenderEntity: add convenience method
To retrieve RenderGeometryRenderer components Change-Id: Ic07fa30d45fef4510fbea0ec069cc7cb64d76cab Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r--src/render/backend/renderentity.cpp15
-rw-r--r--src/render/backend/renderentity_p.h9
2 files changed, 24 insertions, 0 deletions
diff --git a/src/render/backend/renderentity.cpp b/src/render/backend/renderentity.cpp
index 224d35b69..51b7902ae 100644
--- a/src/render/backend/renderentity.cpp
+++ b/src/render/backend/renderentity.cpp
@@ -323,6 +323,18 @@ RenderTransform *RenderEntity::renderComponent<RenderTransform>() const
}
template<>
+HGeometryRenderer RenderEntity::componentHandle<RenderGeometryRenderer>() const
+{
+ return m_renderer->geometryRendererManager()->lookupHandle(m_geometryRendererComponent);
+}
+
+template<>
+RenderGeometryRenderer *RenderEntity::renderComponent<RenderGeometryRenderer>() const
+{
+ return m_renderer->geometryRendererManager()->lookupResource(m_geometryRendererComponent);
+}
+
+template<>
QNodeId RenderEntity::componentUuid<RenderTransform>() const { return m_transformComponent; }
template<>
@@ -376,6 +388,9 @@ QList<RenderShaderData *> RenderEntity::renderComponents<RenderShaderData>() con
template<>
QList<QNodeId> RenderEntity::componentsUuid<RenderShaderData>() const { return m_shaderDataComponents; }
+template<>
+QNodeId RenderEntity::componentUuid<RenderGeometryRenderer>() const { return m_geometryRendererComponent; }
+
RenderEntityFunctor::RenderEntityFunctor(Renderer *renderer)
: m_renderer(renderer)
diff --git a/src/render/backend/renderentity_p.h b/src/render/backend/renderentity_p.h
index f69483a31..a6e9fd39d 100644
--- a/src/render/backend/renderentity_p.h
+++ b/src/render/backend/renderentity_p.h
@@ -188,6 +188,12 @@ template<>
RenderTransform *RenderEntity::renderComponent<RenderTransform>() const;
template<>
+HGeometryRenderer RenderEntity::componentHandle<RenderGeometryRenderer>() const;
+
+template<>
+RenderGeometryRenderer *RenderEntity::renderComponent<RenderGeometryRenderer>() const;
+
+template<>
Q_AUTOTEST_EXPORT QNodeId RenderEntity::componentUuid<RenderTransform>() const;
template<>
@@ -217,6 +223,9 @@ QList<RenderShaderData *> RenderEntity::renderComponents<RenderShaderData>() con
template<>
Q_AUTOTEST_EXPORT QList<QNodeId> RenderEntity::componentsUuid<RenderShaderData>() const;
+template<>
+QNodeId RenderEntity::componentUuid<RenderGeometryRenderer>() const;
+
class RenderEntityFunctor : public QBackendNodeFunctor
{
public: