diff options
Diffstat (limited to 'src/render/picking/qobjectpicker.cpp')
-rw-r--r-- | src/render/picking/qobjectpicker.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/render/picking/qobjectpicker.cpp b/src/render/picking/qobjectpicker.cpp index c3671d018..a0b6d8dcd 100644 --- a/src/render/picking/qobjectpicker.cpp +++ b/src/render/picking/qobjectpicker.cpp @@ -266,6 +266,23 @@ void QObjectPicker::setDragEnabled(bool dragEnabled) } /*! + * Sets the picker's priority to \a priority. This is used when the pick result + * mode on QPickingSettings is set to QPickingSettings::NearestPriorityPick. + * Picking results are sorted by highest priority and shortest picking + * distance. + * + * \since 5.13 + */ +void QObjectPicker::setPriority(int priority) +{ + Q_D(QObjectPicker); + if (priority != d->m_priority) { + d->m_priority = priority; + emit priorityChanged(priority); + } +} + +/*! \qmlproperty bool Qt3D.Render::ObjectPicker::dragEnabled */ /*! @@ -312,6 +329,25 @@ bool QObjectPicker::isPressed() const return d->m_pressed; } +/*! + \qmlproperty int Qt3D.Render::ObjectPicker::priority + + The priority to be used when filtering pick results by priority when + PickingSettings.pickResultMode is set to PickingSettings.PriorityPick. +*/ +/*! + \property Qt3DRender::QObjectPicker::priority + + The priority to be used when filtering pick results by priority when + QPickingSettings::pickResultMode is set to + QPickingSettings::NearestPriorityPick. +*/ +int QObjectPicker::priority() const +{ + Q_D(const QObjectPicker); + return d->m_priority; +} + /*! \internal */ void QObjectPicker::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &change) { @@ -465,6 +501,7 @@ Qt3DCore::QNodeCreatedChangeBasePtr QObjectPicker::createNodeCreationChange() co Q_D(const QObjectPicker); data.hoverEnabled = d->m_hoverEnabled; data.dragEnabled = d->m_dragEnabled; + data.priority = d->m_priority; return creationChange; } |