summaryrefslogtreecommitdiffstats
path: root/src/render/geometry
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2016-04-30 18:17:35 +0100
committerSean Harmer <sean.harmer@kdab.com>2016-05-03 10:20:47 +0000
commit03d62618692f93dfc1aa53e7e2245177432c2604 (patch)
tree010e65930c0db7ddd2080686cc63017e42320be2 /src/render/geometry
parent23b668235c9b902a2577b3ac6e369b77974382b4 (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.cpp19
-rw-r--r--src/render/geometry/attribute_p.h1
-rw-r--r--src/render/geometry/buffer.cpp16
-rw-r--r--src/render/geometry/buffer_p.h1
-rw-r--r--src/render/geometry/geometry.cpp13
-rw-r--r--src/render/geometry/geometry_p.h1
-rw-r--r--src/render/geometry/geometryrenderer.cpp22
-rw-r--r--src/render/geometry/geometryrenderer_p.h1
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();