diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2015-11-17 10:09:34 +0100 |
---|---|---|
committer | Andy Nichols <andy.nichols@theqtcompany.com> | 2015-11-24 15:02:50 +0000 |
commit | 3798499b764f61609d463b150054590b6b1da768 (patch) | |
tree | f7c4447237d0937f45fad8cd3e574ccdfefd251a /src/render/jobs | |
parent | a06437ae2d9096b85377a6fb9076d05c18db157f (diff) |
PickBoundingVolumeJob: use triangle volumes stored in GeometryRenderer
Change-Id: I756cdb04c72a7a41787e1fcac8ae3da659ad8555
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
Diffstat (limited to 'src/render/jobs')
-rw-r--r-- | src/render/jobs/pickboundingvolumejob.cpp | 12 |
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; |