summaryrefslogtreecommitdiffstats
path: root/src/extras/geometries/qcuboidgeometry.cpp
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2016-04-28 14:37:15 +0200
committerMarc Mutz <marc.mutz@kdab.com>2016-04-30 20:52:31 +0000
commit099a4f1aedb2ed862abcdeb396c289132e689d26 (patch)
tree43e5521483c3ee8bdca0498059a45c45811f26d2 /src/extras/geometries/qcuboidgeometry.cpp
parentd8368cd58ae59658a802fd5f44abc66be5bb0333 (diff)
geometries: use QSharedPointer::create() for QBufferDataGenerators
More efficient, because control block and tracked object are co-located in a single memory allocation. Change-Id: I9a6fe07753620eb44814b9c9e4514c391f06a8ee Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/extras/geometries/qcuboidgeometry.cpp')
-rw-r--r--src/extras/geometries/qcuboidgeometry.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/extras/geometries/qcuboidgeometry.cpp b/src/extras/geometries/qcuboidgeometry.cpp
index cc45e0785..78eab4537 100644
--- a/src/extras/geometries/qcuboidgeometry.cpp
+++ b/src/extras/geometries/qcuboidgeometry.cpp
@@ -483,9 +483,9 @@ void QCuboidGeometryPrivate::init()
m_indexAttribute->setCount(indexCount);
- m_vertexBuffer->setDataGenerator(QBufferDataGeneratorPtr(new CuboidVertexBufferFunctor(m_xExtent, m_yExtent, m_zExtent,
- m_yzFaceResolution, m_xzFaceResolution, m_xyFaceResolution)));
- m_indexBuffer->setDataGenerator(QBufferDataGeneratorPtr(new CuboidIndexBufferFunctor(m_yzFaceResolution, m_xzFaceResolution, m_xyFaceResolution)));
+ m_vertexBuffer->setDataGenerator(QSharedPointer<CuboidVertexBufferFunctor>::create(m_xExtent, m_yExtent, m_zExtent,
+ m_yzFaceResolution, m_xzFaceResolution, m_xyFaceResolution));
+ m_indexBuffer->setDataGenerator(QSharedPointer<CuboidIndexBufferFunctor>::create(m_yzFaceResolution, m_xzFaceResolution, m_xyFaceResolution));
q->addAttribute(m_positionAttribute);
q->addAttribute(m_texCoordAttribute);
@@ -606,7 +606,7 @@ void QCuboidGeometry::updateIndices()
const int indexCount = 2 * (yzIndices + xzIndices + xyIndices);
d->m_indexAttribute->setCount(indexCount);
- d->m_indexBuffer->setDataGenerator(QBufferDataGeneratorPtr(new CuboidIndexBufferFunctor(d->m_yzFaceResolution, d->m_xzFaceResolution, d->m_xyFaceResolution)));
+ d->m_indexBuffer->setDataGenerator(QSharedPointer<CuboidIndexBufferFunctor>::create(d->m_yzFaceResolution, d->m_xzFaceResolution, d->m_xyFaceResolution));
}
@@ -626,8 +626,8 @@ void QCuboidGeometry::updateVertices()
d->m_texCoordAttribute->setCount(nVerts);
d->m_tangentAttribute->setCount(nVerts);
- d->m_vertexBuffer->setDataGenerator(QBufferDataGeneratorPtr(new CuboidVertexBufferFunctor(d->m_xExtent, d->m_yExtent, d->m_zExtent,
- d->m_yzFaceResolution, d->m_xzFaceResolution, d->m_xyFaceResolution)));
+ d->m_vertexBuffer->setDataGenerator(QSharedPointer<CuboidVertexBufferFunctor>::create(d->m_xExtent, d->m_yExtent, d->m_zExtent,
+ d->m_yzFaceResolution, d->m_xzFaceResolution, d->m_xyFaceResolution));
}
void QCuboidGeometry::setXExtent(float xExtent)