summaryrefslogtreecommitdiffstats
path: root/src/render/jobs/pickboundingvolumejob.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/jobs/pickboundingvolumejob.cpp')
-rw-r--r--src/render/jobs/pickboundingvolumejob.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/render/jobs/pickboundingvolumejob.cpp b/src/render/jobs/pickboundingvolumejob.cpp
index 4b20d61b4..3733cfb56 100644
--- a/src/render/jobs/pickboundingvolumejob.cpp
+++ b/src/render/jobs/pickboundingvolumejob.cpp
@@ -186,11 +186,13 @@ private:
if (m_root) {
GeometryRenderer *gRenderer = m_root->renderComponent<GeometryRenderer>();
if (gRenderer) {
- TrianglesExtractor extractor(gRenderer, m_manager);
- volumes = extractor.extract(m_root->peerUuid());
-
- Q_FOREACH (Qt3DCore::QBoundingVolume *v, volumes)
- static_cast<TriangleBoundingVolume *>(v)->transform(*m_root->worldTransform());
+ const QVector<Qt3DCore::QBoundingVolume *> localVolumes = gRenderer->triangleData();
+ volumes.reserve(localVolumes.size());
+ Q_FOREACH (const Qt3DCore::QBoundingVolume *v, localVolumes) {
+ TriangleBoundingVolume *worldVolume = new TriangleBoundingVolume();
+ *worldVolume = static_cast<const TriangleBoundingVolume *>(v)->transformed(*m_root->worldTransform());
+ volumes.push_back(worldVolume);
+ }
}
}
return volumes;