Класс QPickingSettings
класс Qt3DRender::QPickingSettingsКласс QPickingSettings определяет, как обрабатывается выбор сущностей. Подробнее...
| Заголовок: | #include <QPickingSettings> |
| CMake: | find_package(Qt6 COMPONENTS 3drender REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| С момента: | Qt 5.7 |
| Инициализируется из: | PickingSettings |
| Наследует от: | Qt3DCore::QNode |
Типы публичного доступа
| Перечисление | FaceOrientationPickingMode { FrontFace, BackFace, FrontAndBackFace } |
| Перечисление | PickMethod { BoundingVolumePicking, TrianglePicking, LinePicking, PointPicking, PrimitivePicking } |
| Перечисление | PickResultMode { NearestPick, AllPicks, NearestPriorityPick } |
Свойства
- faceOrientationPickingMode : FaceOrientationPickingMode
- pickMethod : PickMethod
- pickResultMode : PickResultMode
- worldSpaceTolerance : float
Публичные функции
| Qt3DRender::QPickingSettings::FaceOrientationPickingMode | faceOrientationPickingMode() const |
| Qt3DRender::QPickingSettings::PickMethod | pickMethod() const |
| Qt3DRender::QPickingSettings::PickResultMode | pickResultMode() const |
| float | worldSpaceTolerance() const |
Публичные слоты
| void | setFaceOrientationPickingMode(Qt3DRender::QPickingSettings::FaceOrientationPickingMode faceOrientationPickingMode) |
| void | setPickMethod(Qt3DRender::QPickingSettings::PickMethod pickMethod) |
| void | setPickResultMode(Qt3DRender::QPickingSettings::PickResultMode pickResultMode) |
| void | setWorldSpaceTolerance(float worldSpaceTolerance) |
Сигналы
| void | faceOrientationPickingModeChanged(QPickingSettings::FaceOrientationPickingMode faceOrientationPickingMode) |
| void | pickMethodChanged(QPickingSettings::PickMethod pickMethod) |
| void | pickResultModeChanged(QPickingSettings::PickResultMode pickResult) |
| void | worldSpaceToleranceChanged(float worldSpaceTolerance) |
Подробное описание
Настройки выбора определяют, как обрабатывается выбор сущностей. Для получения дополнительной информации о выборе сущностей, см. документацию компонентов QObjectPicker и QRayCaster.
При использовании компонентов QObjectPicker выбор инициируется событиями мыши.
При использовании компонентов QRayCaster или QScreenRayCaster выбор можно явно инициировать из приложения.
В обоих случаях луч будет пропущен через сцену, чтобы найти геометрию, пересекающую луч.
См. также QObjectPicker, QPickEvent, QPickTriangleEvent, QRayCaster и QScreenRayCaster.
Документация по типам членов
Перечисление QPickingSettings::FaceOrientationPickingMode
Определяет, как ориентация граней влияет на выбор треугольников
| Константа | Значение | Описание |
|---|---|---|
Qt3DRender::QPickingSettings::FrontFace |
0x01 |
Будут выбраны только грани, направленные наружу (по умолчанию). |
Qt3DRender::QPickingSettings::BackFace |
0x02 |
Будут выбраны только грани, направленные вовнутрь. |
Qt3DRender::QPickingSettings::FrontAndBackFace |
0x03 |
Будут выбраны грани, направленные как наружу, так и вовнутрь. |
Перечисление QPickingSettings::PickMethod
Определяет метод выбора.
| Константа | Значение | Описание |
|---|---|---|
Qt3DRender::QPickingSettings::BoundingVolumePicking |
0x00 |
Сущность считается выбранной, если луч выбора пересекает граничную область сущности (по умолчанию). |
Qt3DRender::QPickingSettings::TrianglePicking |
0x01 |
Сущность считается выбранной, если луч выбора пересекает любой треугольник компонента сетки сущности. |
Qt3DRender::QPickingSettings::LinePicking |
0x02 |
Сущность считается выбранной, если луч выбора пересекает любой отрезок компонента сетки сущности. |
Qt3DRender::QPickingSettings::PointPicking |
0x04 |
Сущность считается выбранной, если луч выбора пересекает любую точку компонента сетки сущности. |
Qt3DRender::QPickingSettings::PrimitivePicking |
TrianglePicking | LinePicking | PointPicking |
Сущность считается выбранной, если луч выбора пересекает любую точку, отрезок или треугольник компонента сетки сущности. |
Перечисление QPickingSettings::PickResultMode
Определяет, что включается в результаты выбора.
| Константа | Значение | Описание |
|---|---|---|
Qt3DRender::QPickingSettings::NearestPick |
0 |
Выбирается только ближайшая к началу луча сущность, пересекающая луч (по умолчанию). |
Qt3DRender::QPickingSettings::AllPicks |
1 |
Выбираются все сущности, пересекающие луч. |
Qt3DRender::QPickingSettings::NearestPriorityPick |
2 |
Выбирается сущность с самым высоким значением объекта-выбирателя. Если несколько выбирателей объекта имеют одинаковый приоритет, выбирается ближайшая к лучу. |
См. также Qt3DRender::QPickEvent.
END_OF_DOCUMENT_MARKERДокументация свойств
faceOrientationPickingMode : FaceOrientationPickingMode
Указывает, как ориентация граней влияет на выбор треугольников
Функции доступа:
| Qt3DRender::QPickingSettings::FaceOrientationPickingMode | faceOrientationPickingMode() const |
| void | setFaceOrientationPickingMode(Qt3DRender::QPickingSettings::FaceOrientationPickingMode faceOrientationPickingMode) |
Сигнал уведомления:
| void | faceOrientationPickingModeChanged(QPickingSettings::FaceOrientationPickingMode faceOrientationPickingMode) |
pickMethod : PickMethod
Содержит текущий метод выбора.
По умолчанию, для повышения производительности, для расчёта луча используется выбор по ограничивающим объёмам. Однако это может привести к неожиданным результатам, если небольшой объект заключён в ограничивающую сферу большого объекта, находящегося позади него.
Выбор по треугольникам даёт точные результаты, но является вычислительно более затратным.
Функции доступа:
| Qt3DRender::QPickingSettings::PickMethod | pickMethod() const |
| void | setPickMethod(Qt3DRender::QPickingSettings::PickMethod pickMethod) |
Сигнал уведомления:
| void | pickMethodChanged(QPickingSettings::PickMethod pickMethod) |
pickResultMode : PickResultMode
Содержит текущий режим результатов выбора.
По умолчанию, результаты выбора будут генерироваться только для сущности, наиболее близкой к камере.
При установке метода выбора в AllPicks, события будут вызываться для всех сущностей с QObjectPicker вдоль луча.
При установке метода выбора в NearestPriorityPick, события будут вызываться для сущности с ближайшим наивысшим приоритетом выбора. Это можно использовать, когда определённый элемент должен всегда выбираться, даже если другие элементы находятся перед ним.
Если QObjectPicker назначен сущности с несколькими дочерними элементами, событие будет вызываться для каждой дочерней сущности, пересекающей луч.
Функции доступа:
| Qt3DRender::QPickingSettings::PickResultMode | pickResultMode() const |
| void | setPickResultMode(Qt3DRender::QPickingSettings::PickResultMode pickResultMode) |
Сигнал уведомления:
| void | pickResultModeChanged(QPickingSettings::PickResultMode pickResult) |
worldSpaceTolerance : float
Содержит порог, в координатах модели, используемый для оценки выбора линии и точки.
Функции доступа:
| float | worldSpaceTolerance() const |
| void | setWorldSpaceTolerance(float worldSpaceTolerance) |
Сигнал уведомления:
| void | worldSpaceToleranceChanged(float worldSpaceTolerance) |
Документация по членам-функциям
[slot] void QPickingSettings::setWorldSpaceTolerance(float worldSpaceTolerance)
Устанавливает порог, используемый для выбора линии и точки, на worldSpaceTolerance.
Примечание: Функция-сеттер для свойства worldSpaceTolerance.
См. также worldSpaceTolerance().
float QPickingSettings::worldSpaceTolerance() const
Возвращает значение точности выбора линии и точки worldSpaceTolerance
Примечание: Функция-геттер для свойства worldSpaceTolerance.
См. также setWorldSpaceTolerance().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qt3drender-qpickingsettings.html