Spec-Zone.ru › Qt 6.1

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

Spec-Zone.ru

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