summaryrefslogtreecommitdiffstats
path: root/src/render/picking/qpickevent.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/picking/qpickevent.cpp')
-rw-r--r--src/render/picking/qpickevent.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/render/picking/qpickevent.cpp b/src/render/picking/qpickevent.cpp
index e90bc24c0..420bab16f 100644
--- a/src/render/picking/qpickevent.cpp
+++ b/src/render/picking/qpickevent.cpp
@@ -47,10 +47,14 @@ public:
QPickEventPrivate()
: QObjectPrivate()
, m_accepted(true)
+ , m_distance(-1.f)
{
}
bool m_accepted;
+ QVector3D m_worldIntersection;
+ QVector3D m_localIntersection;
+ float m_distance;
};
QPickEvent::QPickEvent()
@@ -58,6 +62,15 @@ QPickEvent::QPickEvent()
{
}
+QPickEvent::QPickEvent(const QVector3D &intersection, const QVector3D &localIntersection, float distance)
+ : QObject(*new QPickEventPrivate())
+{
+ Q_D(QPickEvent);
+ d->m_distance = distance;
+ d->m_worldIntersection = intersection;
+ d->m_localIntersection = localIntersection;
+}
+
QPickEvent::~QPickEvent()
{
}
@@ -77,6 +90,24 @@ void QPickEvent::setAccepted(bool accepted)
}
}
+float QPickEvent::distance() const
+{
+ Q_D(const QPickEvent);
+ return d->m_distance;
+}
+
+const QVector3D &QPickEvent::worldIntersection() const
+{
+ Q_D(const QPickEvent);
+ return d->m_worldIntersection;
+}
+
+const QVector3D &QPickEvent::localIntersection() const
+{
+ Q_D(const QPickEvent);
+ return d->m_localIntersection;
+}
+
} // Qt3DRender
QT_END_NAMESPACE