Класс 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.0/qt3drender-qpickingsettings.html