Spec-Zone.ru › Qt 6.1

Класс QObjectPicker

класс Qt3DRender::QObjectPicker

Класс QObjectPicker создаёт компонент, который может использоваться для взаимодействия с QEntity посредством процесса, известного как выбор. Подробнее...

Заголовок: #include <QObjectPicker>
CMake: find_package(Qt6 COMPONENTS 3drender REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
С момента: Qt 5.6
Инициализируется из: ObjectPicker
Наследуется от: Qt3DCore::QComponent
  • Список всех членов, включая унаследованные

Свойства

  • containsMouse : const bool
  • dragEnabled : bool
  • hoverEnabled : bool
  • pressed : const bool
  • priority : int

Открытые функции

bool containsMouse() const
bool isDragEnabled() const
bool isHoverEnabled() const
bool isPressed() const
int priority() const

Открытые слоты

void setDragEnabled(bool dragEnabled)
void setHoverEnabled(bool hoverEnabled)
void setPriority(int priority)

Сигналы

void clicked(Qt3DRender::QPickEvent *pick)
void containsMouseChanged(bool containsMouse)
void dragEnabledChanged(bool dragEnabled)
void entered()
void exited()
void hoverEnabledChanged(bool hoverEnabled)
void moved(Qt3DRender::QPickEvent *pick)
void pressed(Qt3DRender::QPickEvent *pick)
void pressedChanged(bool pressed)
void priorityChanged(int priority)
void released(Qt3DRender::QPickEvent *pick)

Подробное описание

Для каждой комбинации области просмотра и камеры выбор выполняет вычисление луча через сцену, чтобы найти сущности, чей ограничивающий объём пересекает луч. Ограничивающий объём вычисляется с использованием значений в буфере атрибутов, указанных атрибутом boundingVolumePositionAttribute геометрии.

Сигналы pressed(), released(), clicked(), moved(), entered() и exited() генерируются при пересечении ограничивающего объёма, определённого свойством pickAttribute, с лучом.

Большинство сигналов передают экземпляр QPickEvent. Если QPickingSettings::pickMode() задано как QPickingSettings::TrianglePicking, фактический тип параметра pick будет QPickTriangleEvent.

Запросы выбора выполняются при нажатии и отпускании кнопки мыши. Если включён режим перетаскивания, запросы также выполняются при каждом движении мыши, пока нажата любая кнопка. Если включён режим наведения, запросы выполняются при каждом движении мыши, даже если ни одна кнопка не нажата.

Для обобщённых запросов вычисления луча см. Qt3DRender::QRayCaster и Qt3DRender::QScreenRayCaster.

Примечание: Экземпляры этого компонента не должны быть объявлены общими, не соблюдение этого условия, скорее всего, приведёт к неопределённому поведению.

Примечание: Значение дальнего плоскости камеры влияет на выбор и даёт некорректные результаты из-за точности с плавающей запятой, если оно больше ~100 000.

См. также Qt3DRender::QPickingSettings, Qt3DCore::QGeometry, Qt3DCore::QAttribute, Qt3DRender::QPickEvent, Qt3DRender::QPickTriangleEvent и Qt3DRender::QNoPicking.

Документация свойств

[read-only] containsMouse : const bool

Указывает, содержит ли объект пикер в данный момент указатель мыши

Функции доступа:

bool containsMouse() const

Сигнал уведомления:

void containsMouseChanged(bool containsMouse)

dragEnabled : bool

Указывает, разрешен ли перенос

Функции доступа:

bool isDragEnabled() const
void setDragEnabled(bool dragEnabled)

Сигнал уведомления:

void dragEnabledChanged(bool dragEnabled)

hoverEnabled : bool

Указывает, разрешено ли наведение

Функции доступа:

bool isHoverEnabled() const
void setHoverEnabled(bool hoverEnabled)

Сигнал уведомления:

void hoverEnabledChanged(bool hoverEnabled)

[read-only] pressed : const bool

Указывает, нажат ли в данный момент объект пикер

Функции доступа:

bool isPressed() const

Сигнал уведомления:

void pressedChanged(bool pressed)

priority : int

Приоритет, используемый при фильтрации результатов выбора по приоритету, когда QPickingSettings::pickResultMode установлен в QPickingSettings::NearestPriorityPick.

Функции доступа:

int priority() const
void setPriority(int priority)

Сигнал уведомления:

void priorityChanged(int priority)

Документация функций-членов

[signal] void QObjectPicker::clicked(Qt3DRender::QPickEvent *pick)

Этот сигнал испускается, когда ограничивающая область, определенная свойством pickAttribute, пересекается с лучом при щелчке мыши. QPickEvent pick содержит детали события.

[signal] void QObjectPicker::entered()

Этот сигнал испускается, когда ограничивающая область, определенная свойством pickAttribute, пересекается с лучом при входе указателя мыши в область.

[signal] void QObjectPicker::exited()

Этот сигнал испускается, когда ограничивающая область, определенная свойством pickAttribute, пересекается с лучом при выходе указателя мыши из области.

[signal] void QObjectPicker::moved(Qt3DRender::QPickEvent *pick)

Этот сигнал испускается, когда ограничивающая область, определенная свойством pickAttribute, пересекается с лучом при перемещении мыши с нажатой кнопкой. QPickEvent pick содержит детали события.

[signal] void QObjectPicker::pressed(Qt3DRender::QPickEvent *pick)

Этот сигнал испускается, когда ограничивающая область, определенная свойством pickAttribute, пересекается с лучом при нажатии кнопки мыши. QPickEvent pick содержит детали события.

[signal] void QObjectPicker::released(Qt3DRender::QPickEvent *pick)

Этот сигнал испускается, когда ограничивающая область, определенная свойством pickAttribute, пересекается с лучом при отпускании кнопки мыши. QPickEvent pick содержит детали события.

[slot] void QObjectPicker::setDragEnabled(bool dragEnabled)

Устанавливает свойство dragEnabled в значение dragEnabled

Примечание: Функция-сеттер для свойства dragEnabled.

См. также isDragEnabled().

[slot] void QObjectPicker::setHoverEnabled(bool hoverEnabled)

Устанавливает свойство hoverEnabled в значение hoverEnabled

Примечание: Функция-сеттер для свойства hoverEnabled.

См. также isHoverEnabled().

[slot, since 5.13] void QObjectPicker::setPriority(int priority)

Устанавливает приоритет пикера в значение priority. Это используется, когда режим результата выбора в QPickingSettings установлен в QPickingSettings::NearestPriorityPick. Результаты выбора сортируются по наивысшему приоритету и наименьшему расстоянию выбора.

Примечание: Функция-сеттер для свойства priority.

Эта функция была добавлена в Qt 5.13.

См. также priority().

bool QObjectPicker::containsMouse() const

Возвращает true, если объект пикер в данный момент содержит указатель мыши

Примечание: Функция-геттер для свойства containsMouse.

bool QObjectPicker::isDragEnabled() const

Возвращает true, если перенос разрешен

Примечание: Функция-геттер для свойства dragEnabled.

bool QObjectPicker::isHoverEnabled() const

Возвращает true, если наведение разрешено

Примечание: Функция-геттер для свойства hoverEnabled.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qt3drender-qobjectpicker.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API