diff options
author | Mike Krus <mike.krus@kdab.com> | 2015-12-08 12:06:12 +0000 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2016-01-25 09:03:41 +0000 |
commit | 4ad00b344bc79e34f2ba2f8355e65c7948791389 (patch) | |
tree | 277ff0f997b962ccb6034728e780cbf77f60c643 /src/render/raycasting/qcollisionqueryresult.cpp | |
parent | d798eb52ae1b22fa38d398cdae0012a34cb51922 (diff) |
Expose picking details to front end
Intersection (world and local) and distance added to pick event
Modified test so that it includes the event
Change-Id: I8631d626e5108d2e044374ee3425625f5588c38c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/raycasting/qcollisionqueryresult.cpp')
-rw-r--r-- | src/render/raycasting/qcollisionqueryresult.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/render/raycasting/qcollisionqueryresult.cpp b/src/render/raycasting/qcollisionqueryresult.cpp index cf2ea0a9a..e4dc24ebd 100644 --- a/src/render/raycasting/qcollisionqueryresult.cpp +++ b/src/render/raycasting/qcollisionqueryresult.cpp @@ -48,13 +48,13 @@ QCollisionQueryResultPrivate::QCollisionQueryResultPrivate() QCollisionQueryResultPrivate::QCollisionQueryResultPrivate(const QCollisionQueryResultPrivate ©) : QSharedData(copy) , m_handle(copy.m_handle) - , m_entitiesHit(copy.m_entitiesHit) + , m_hits(copy.m_hits) { } -void QCollisionQueryResultPrivate::addEntityHit(const Qt3DCore::QNodeId &entity) +void QCollisionQueryResultPrivate::addEntityHit(const Qt3DCore::QNodeId &entity, const QVector3D& intersection, float distance) { - m_entitiesHit.append(entity); + m_hits.append(QCollisionQueryResult::Hit(entity, intersection, distance)); } void QCollisionQueryResultPrivate::setHandle(const QQueryHandle &handle) @@ -82,10 +82,19 @@ QCollisionQueryResult &QCollisionQueryResult::operator=(const QCollisionQueryRes return *this; } +QVector<QCollisionQueryResult::Hit> QCollisionQueryResult::hits() const +{ + Q_D(const QCollisionQueryResult); + return d->m_hits; +} + QVector<Qt3DCore::QNodeId> QCollisionQueryResult::entitiesHit() const { Q_D(const QCollisionQueryResult); - return d->m_entitiesHit; + QVector<Qt3DCore::QNodeId> result; + Q_FOREACH (const Hit& hit, d->m_hits) + result << hit.m_entityId; + return result; } /*! |