Spec-Zone.ru › Qt 6.0

Класс QAbstractRayCaster

класс Qt3DRender::QAbstractRayCaster

Абстрактный базовый класс для лучевого трассирования в 3D-сценах. Подробнее...

Заголовок: #include <QAbstractRayCaster>
CMake: find_package(Qt6 COMPONENTS 3drender REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
С момента: Qt 5.11
Инициализируется: AbstractRayCaster
Наследуется от: Qt3DCore::QComponent
Наследуется:

Qt3DRender::QRayCaster и Qt3DRender::QScreenRayCaster

  • Список всех членов, включая унаследованные

Типы

Перечисление FilterMode { AcceptAnyMatchingLayers, AcceptAllMatchingLayers, DiscardAnyMatchingLayers, DiscardAllMatchingLayers }
Перечисление RunMode { Continuous, SingleShot }

Свойства

  • filterMode : FilterMode
  • hits : const Hits
  • runMode : RunMode

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

void addLayer(Qt3DRender::QLayer *layer)
Qt3DRender::QAbstractRayCaster::FilterMode filterMode() const
Qt3DRender::QAbstractRayCaster::Hits hits() const
QList<Qt3DRender::QLayer *> layers() const
void removeLayer(Qt3DRender::QLayer *layer)
Qt3DRender::QAbstractRayCaster::RunMode runMode() const

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

void setFilterMode(Qt3DRender::QAbstractRayCaster::FilterMode filterMode)
void setRunMode(Qt3DRender::QAbstractRayCaster::RunMode runMode)

Сигналы

void filterModeChanged(Qt3DRender::QAbstractRayCaster::FilterMode filterMode)
void hitsChanged(const Qt3DRender::QAbstractRayCaster::Hits &hits)
void runModeChanged(Qt3DRender::QAbstractRayCaster::RunMode runMode)

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

Qt3DRender::QAbstractRayCaster — это абстрактный базовый класс для лучевого трассирования в 3D-сцене. Qt3DRender::QAbstractRayCaster не может быть непосредственно инстанцирован, а только через свои подклассы. QAbstractRayCaster определяет общие свойства для всех лучевых трассировщиков, такие как режим работы и обработка слоев, оставляя фактические детали лучевого трассирования подклассам.

Лучевое трассирование отличается от выбора (используя Qt3DRender::QObjectPicker) тем, что не требует событий мыши для запуска.

По умолчанию экземпляры Qt3DRender::QAbstractRayCaster отключены. При включении указанный луч будет проверяться на пересечение с объектами на каждом кадре. Свойство QAbstractRayCaster::hits будет обновляться результатами лучевого трассирования, даже если объекты не найдены.

Свойство Qt3DRender::QPickingSettings может использоваться для управления лучевым трассированием, например, для определения того, какие примитивы проверяются и как возвращаются результаты.

Кроме того, компоненты Qt3DRender::QLayer могут использоваться для управления тем, как сущности или подграфы сущностей реагируют на лучевое трассирование.

Примечание: Компоненты, производные от QAbstractRayCaster, не должны быть совместно использованы между несколькими сущностями.

См. также Qt3DRender::QRayCaster, Qt3DRender::QScreenRayCaster, Qt3DRender::QObjectPicker, Qt3DRender::QPickingSettings и Qt3DRender::QNoPicking.

Документация по типу членов

Перечисление QAbstractRayCaster::FilterMode

Указывает правила выбора сущностей для проверки на лучевое трассирование.

Постоянная Значение Описание
Qt3DRender::QAbstractRayCaster::AcceptAnyMatchingLayers 0 Принимать сущности, которые ссылаются на один или несколько объектов QLayer, добавленных в этот QAbstractRayCaster. Это значение по умолчанию.
Qt3DRender::QAbstractRayCaster::AcceptAllMatchingLayers 1 Принимать сущности, которые ссылаются на все объекты QLayer, добавленные в этот QAbstractRayCaster
Qt3DRender::QAbstractRayCaster::DiscardAnyMatchingLayers 2 Отбрасывать сущности, которые ссылаются на один или несколько объектов QLayer, добавленных в этот QAbstractRayCaster
Qt3DRender::QAbstractRayCaster::DiscardAllMatchingLayers 3 Отбрасывать сущности, которые ссылаются на все объекты QLayer, добавленные в этот QAbstractRayCaster

Перечисление QAbstractRayCaster::RunMode

Это перечисление определяет, как часто выполняется лучевое трассирование.

Постоянная Значение Описание
Qt3DRender::QAbstractRayCaster::Continuous 0 Лучевое трассирование выполняется на каждом кадре, пока компонент включен.
Qt3DRender::QAbstractRayCaster::SingleShot 1 Лучевое трассирование выполняется один раз, после чего компонент отключается. Это значение по умолчанию.

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

filterMode : FilterMode

Содержит режим фильтрации, определяющий сущности, которые должны быть выбраны для тестов лучевого отбрасывания.

Значение по умолчанию — AcceptMatchingLayers.

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

Qt3DRender::QAbstractRayCaster::FilterMode filterMode() const
void setFilterMode(Qt3DRender::QAbstractRayCaster::FilterMode filterMode)

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

void filterModeChanged(Qt3DRender::QAbstractRayCaster::FilterMode filterMode)

[read-only] hits : const Hits

Содержит результаты последнего теста лучевого отбрасывания в виде вектора экземпляров Qt3DRender::QRayCasterHit.

Обратите внимание, что даже если последовательные тесты возвращают точно такие же результаты (или пустые результаты), уведомление об изменении будет выводиться при каждом тесте.

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

Qt3DRender::QAbstractRayCaster::Hits hits() const

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

void hitsChanged(const Qt3DRender::QAbstractRayCaster::Hits &hits)

runMode : RunMode

Содержит режим выполнения, управляющий частотой выполнения тестов лучевого отбрасывания.

Если установлено значение SingleShot (по умолчанию), при включении компонента будет выполнен один тест лучевого отбрасывания, и компонент автоматически отключится.

Если установлено значение Continuous, тесты лучевого отбрасывания будут выполняться при каждой отрисовке фрейма, пока компонент включён.

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

Qt3DRender::QAbstractRayCaster::RunMode runMode() const
void setRunMode(Qt3DRender::QAbstractRayCaster::RunMode runMode)

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

void runModeChanged(Qt3DRender::QAbstractRayCaster::RunMode runMode)

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

void QAbstractRayCaster::addLayer(Qt3DRender::QLayer *layer)

Добавить layer в текущий список слоёв

QList<Qt3DRender::QLayer *> QAbstractRayCaster::layers() const

Возвращает текущий список слоёв

void QAbstractRayCaster::removeLayer(Qt3DRender::QLayer *layer)

Удалить layer из текущего списка слоёв

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

Spec-Zone.ru

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