diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2016-04-30 18:17:35 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-05-03 10:20:47 +0000 |
commit | 03d62618692f93dfc1aa53e7e2245177432c2604 (patch) | |
tree | 010e65930c0db7ddd2080686cc63017e42320be2 /src/render/geometry | |
parent | 23b668235c9b902a2577b3ac6e369b77974382b4 (diff) |
Remove QBackendNode::updateFromPeer()
Implemented a few missing initializeFromPeer() implementations along
with the corresponding frontend node creation change creation functions.
Adapted unit tests.
Change-Id: I571e53a7b68a5544bd0e308df0baf7e52533306e
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/geometry')
-rw-r--r-- | src/render/geometry/attribute.cpp | 19 | ||||
-rw-r--r-- | src/render/geometry/attribute_p.h | 1 | ||||
-rw-r--r-- | src/render/geometry/buffer.cpp | 16 | ||||
-rw-r--r-- | src/render/geometry/buffer_p.h | 1 | ||||
-rw-r--r-- | src/render/geometry/geometry.cpp | 13 | ||||
-rw-r--r-- | src/render/geometry/geometry_p.h | 1 | ||||
-rw-r--r-- | src/render/geometry/geometryrenderer.cpp | 22 | ||||
-rw-r--r-- | src/render/geometry/geometryrenderer_p.h | 1 |
8 files changed, 1 insertions, 73 deletions
diff --git a/src/render/geometry/attribute.cpp b/src/render/geometry/attribute.cpp index ebf4dae8d..7e63f6ecf 100644 --- a/src/render/geometry/attribute.cpp +++ b/src/render/geometry/attribute.cpp @@ -83,25 +83,6 @@ void Attribute::cleanup() m_nameId = 0; } -void Attribute::updateFromPeer(Qt3DCore::QNode *peer) -{ - QAttribute *attribute = static_cast<QAttribute *>(peer); - if (attribute) { - m_vertexDataType = attribute->vertexBaseType(); - m_vertexSize = attribute->vertexSize(); - m_count = attribute->count(); - m_byteOffset = attribute->byteOffset(); - m_byteStride = attribute->byteStride(); - m_divisor = attribute->divisor(); - m_attributeType = attribute->attributeType(); - m_name = attribute->name(); - m_nameId = StringToInt::lookupId(m_name); - if (attribute->buffer()) - m_bufferId = attribute->buffer()->id(); - m_attributeDirty = true; - } -} - void Attribute::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change) { const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QAttributeData>>(change); diff --git a/src/render/geometry/attribute_p.h b/src/render/geometry/attribute_p.h index 8115deafc..6364639dd 100644 --- a/src/render/geometry/attribute_p.h +++ b/src/render/geometry/attribute_p.h @@ -68,7 +68,6 @@ public: void cleanup(); - void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE; void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE; inline Qt3DCore::QNodeId bufferId() const { return m_bufferId; } diff --git a/src/render/geometry/buffer.cpp b/src/render/geometry/buffer.cpp index a53bec0fc..c392b5961 100644 --- a/src/render/geometry/buffer.cpp +++ b/src/render/geometry/buffer.cpp @@ -96,22 +96,6 @@ void Buffer::executeFunctor() } } -void Buffer::updateFromPeer(Qt3DCore::QNode *peer) -{ - QBuffer *buffer = static_cast<QBuffer *>(peer); - if (buffer != nullptr) { - m_type = buffer->type(); - m_usage = buffer->usage(); - m_data = buffer->data(); - m_functor = buffer->dataGenerator(); - // Add to dirty list in the manager - if (m_functor && m_manager != nullptr) - m_manager->addDirtyBuffer(peerId()); - m_bufferDirty = true; - m_syncData = buffer->isSyncData(); - } -} - void Buffer::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change) { const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QBufferData>>(change); diff --git a/src/render/geometry/buffer_p.h b/src/render/geometry/buffer_p.h index 87938aba9..d6bfe1d8f 100644 --- a/src/render/geometry/buffer_p.h +++ b/src/render/geometry/buffer_p.h @@ -70,7 +70,6 @@ public: ~Buffer(); void cleanup(); - void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE; void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE; void setManager(BufferManager *manager); diff --git a/src/render/geometry/geometry.cpp b/src/render/geometry/geometry.cpp index 4bf9fd21a..b136c380b 100644 --- a/src/render/geometry/geometry.cpp +++ b/src/render/geometry/geometry.cpp @@ -70,19 +70,6 @@ void Geometry::cleanup() m_boundingPositionAttribute = Qt3DCore::QNodeId(); } -void Geometry::updateFromPeer(Qt3DCore::QNode *peer) -{ - QGeometry *geometry = static_cast<QGeometry *>(peer); - if (geometry != nullptr) { - m_attributes.reserve(geometry->attributes().size()); - Q_FOREACH (QAttribute *attribute, geometry->attributes()) - m_attributes.push_back(attribute->id()); - m_geometryDirty = true; - if (geometry->boundingVolumePositionAttribute() != nullptr) - m_boundingPositionAttribute = geometry->boundingVolumePositionAttribute()->id(); - } -} - void Geometry::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change) { const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QGeometryData>>(change); diff --git a/src/render/geometry/geometry_p.h b/src/render/geometry/geometry_p.h index 364977c0c..41d54cb54 100644 --- a/src/render/geometry/geometry_p.h +++ b/src/render/geometry/geometry_p.h @@ -68,7 +68,6 @@ public: void cleanup(); - void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE; void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE; inline QVector<Qt3DCore::QNodeId> attributes() const { return m_attributes; } diff --git a/src/render/geometry/geometryrenderer.cpp b/src/render/geometry/geometryrenderer.cpp index 08329c0d6..5ebbd0128 100644 --- a/src/render/geometry/geometryrenderer.cpp +++ b/src/render/geometry/geometryrenderer.cpp @@ -75,6 +75,7 @@ GeometryRenderer::~GeometryRenderer() void GeometryRenderer::cleanup() { + BackendNode::setEnabled(false); m_instanceCount = 0; m_vertexCount = 0; m_indexOffset = 0; @@ -95,27 +96,6 @@ void GeometryRenderer::setManager(GeometryRendererManager *manager) m_manager = manager; } -void GeometryRenderer::updateFromPeer(Qt3DCore::QNode *peer) -{ - QGeometryRenderer *geometryRenderer = static_cast<QGeometryRenderer *>(peer); - if (geometryRenderer) { - m_instanceCount = geometryRenderer->instanceCount(); - m_vertexCount = geometryRenderer->vertexCount(); - m_indexOffset = geometryRenderer->indexOffset(); - m_firstInstance = geometryRenderer->firstInstance(); - m_restartIndexValue = geometryRenderer->restartIndexValue(); - m_verticesPerPatch = geometryRenderer->verticesPerPatch(); - m_primitiveRestartEnabled = geometryRenderer->primitiveRestartEnabled(); - m_primitiveType = geometryRenderer->primitiveType(); - if (geometryRenderer->geometry() != nullptr) - m_geometryId = geometryRenderer->geometry()->id(); - m_geometryFactory = geometryRenderer->geometryFactory(); - if (m_geometryFactory && m_manager != nullptr) - m_manager->addDirtyGeometryRenderer(peerId()); - m_dirty = true; - } -} - void GeometryRenderer::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change) { const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QGeometryRendererData>>(change); diff --git a/src/render/geometry/geometryrenderer_p.h b/src/render/geometry/geometryrenderer_p.h index 66ac172b6..640840962 100644 --- a/src/render/geometry/geometryrenderer_p.h +++ b/src/render/geometry/geometryrenderer_p.h @@ -73,7 +73,6 @@ public: void cleanup(); void setManager(GeometryRendererManager *manager); - void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE; void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE; void executeFunctor(); |