diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2016-03-22 11:56:39 +0000 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-03-24 07:27:54 +0000 |
commit | 1a261c0eaf5c54426a3d7dd5ab9627a1f32247ec (patch) | |
tree | 6b09d7f382111a2bcf5d26eec9f60c5f32b3dfa8 | |
parent | 3da0d37c646bdc98b768291323b5405c8f3c739e (diff) |
QAttribute creates creation changes
Change-Id: Ief63118100f03266e53aebd9732d5247e6461383
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r-- | src/render/geometry/qattribute.cpp | 17 | ||||
-rw-r--r-- | src/render/geometry/qattribute.h | 1 | ||||
-rw-r--r-- | src/render/geometry/qattribute_p.h | 13 |
3 files changed, 31 insertions, 0 deletions
diff --git a/src/render/geometry/qattribute.cpp b/src/render/geometry/qattribute.cpp index 3f94bff52..a0af3b259 100644 --- a/src/render/geometry/qattribute.cpp +++ b/src/render/geometry/qattribute.cpp @@ -397,6 +397,23 @@ QString QAttribute::defaultTangentAttributeName() return QStringLiteral("vertexTangent"); } +Qt3DCore::QNodeCreatedChangeBasePtr QAttribute::createNodeCreationChange() const +{ + auto creationChange = Qt3DCore::QNodeCreatedChangePtr<QAttributeData>::create(this); + auto &data = creationChange->data; + Q_D(const QAttribute); + data.bufferId = qIdForNode(d->m_buffer); + data.name = d->m_name; + data.dataType = d->m_dataType; + data.dataSize = d->m_dataSize; + data.count = d->m_count; + data.byteStride = d->m_byteStride; + data.byteOffset = d->m_byteOffset; + data.divisor = d->m_divisor; + data.attributeType = d->m_attributeType; + return creationChange; +} + } // Qt3DRender QT_END_NAMESPACE diff --git a/src/render/geometry/qattribute.h b/src/render/geometry/qattribute.h index 6fbf83f4d..99da0f1d4 100644 --- a/src/render/geometry/qattribute.h +++ b/src/render/geometry/qattribute.h @@ -136,6 +136,7 @@ protected: private: Q_DECLARE_PRIVATE(QAttribute) QT3D_CLONEABLE(QAttribute) + Qt3DCore::QNodeCreatedChangeBasePtr createNodeCreationChange() const Q_DECL_OVERRIDE; }; } // Qt3DRender diff --git a/src/render/geometry/qattribute_p.h b/src/render/geometry/qattribute_p.h index 02b03987d..8731e3195 100644 --- a/src/render/geometry/qattribute_p.h +++ b/src/render/geometry/qattribute_p.h @@ -80,6 +80,19 @@ public: QAttribute::AttributeType m_attributeType; }; +struct QAttributeData +{ + Qt3DCore::QNodeId bufferId; + QString name; + QAttribute::VertexBaseType dataType; + uint dataSize; + uint count; + uint byteStride; + uint byteOffset; + uint divisor; + QAttribute::AttributeType attributeType; +}; + } // Qt3DRender QT_END_NAMESPACE |