diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2016-03-24 16:26:17 +0000 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-03-31 07:33:47 +0000 |
commit | 64530b0fab796b7cffd2bfb787dc2d5ce06df9c5 (patch) | |
tree | 9ede332e35960aa5b754b41f0aa52dc94880da7e | |
parent | 787df647047a9d0c358d73bdebf52597fd9ed988 (diff) |
BufferFunctor handles creation
Change-Id: I1886d47c957087236223838377f476b2f154e4df
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r-- | src/render/geometry/buffer.cpp | 8 | ||||
-rw-r--r-- | src/render/geometry/buffer_p.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/render/geometry/buffer.cpp b/src/render/geometry/buffer.cpp index ec03096fc..cadf5cd02 100644 --- a/src/render/geometry/buffer.cpp +++ b/src/render/geometry/buffer.cpp @@ -160,6 +160,14 @@ Qt3DCore::QBackendNode *BufferFunctor::create(Qt3DCore::QNode *frontend) const return buffer; } +Qt3DCore::QBackendNode *BufferFunctor::create(const Qt3DCore::QNodeCreatedChangeBasePtr &change) const +{ + Buffer *buffer = m_manager->getOrCreateResource(change->subjectId()); + buffer->setManager(m_manager); + buffer->setRenderer(m_renderer); + return buffer; +} + Qt3DCore::QBackendNode *BufferFunctor::get(Qt3DCore::QNodeId id) const { return m_manager->lookupResource(id); diff --git a/src/render/geometry/buffer_p.h b/src/render/geometry/buffer_p.h index b0bf3587b..49028d164 100644 --- a/src/render/geometry/buffer_p.h +++ b/src/render/geometry/buffer_p.h @@ -99,6 +99,7 @@ class BufferFunctor : public Qt3DCore::QBackendNodeMapper public: explicit BufferFunctor(AbstractRenderer *renderer, BufferManager *manager); Qt3DCore::QBackendNode *create(Qt3DCore::QNode *frontend) const Q_DECL_OVERRIDE; + Qt3DCore::QBackendNode *create(const Qt3DCore::QNodeCreatedChangeBasePtr &change) const Q_DECL_OVERRIDE; Qt3DCore::QBackendNode *get(Qt3DCore::QNodeId id) const Q_DECL_OVERRIDE; void destroy(Qt3DCore::QNodeId id) const Q_DECL_OVERRIDE; private: |