Spec-Zone.ru › Qt 6.1

Тип QML AbstractRayCaster

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

Заявление об импорте: import Qt3D.Render 2.1
С момента: Qt 5.11
Создаёт: QAbstractRayCaster
  • Список всех членов, включая унаследованные

Свойства

  • filterMode : перечисление
  • hits : массив
  • runMode : перечисление

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

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

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

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

Qt3D.Render::PickingSettings может использоваться для управления расчетом лучей, например, для выбора проверяемых примитивов и способов возврата результатов.

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

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

См. также Qt3D.Render::RayCaster, Qt3D.Render::ScreenRayCaster, Qt3D.Render::ObjectPicker, Qt3D.Render::PickingSettings и Qt3D.Render::NoPicking.

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

filterMode : перечисление

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

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

Константа Описание
AcceptAnyMatchingLayers Принимать сущности, которые ссылаются на один или несколько объектов Layer, добавленных в этот AbstractRayCaster. Это значение по умолчанию.
AcceptAllMatchingLayers Принимать сущности, которые ссылаются на все объекты Layer, добавленные в этот AbstractRayCaster.
DiscardAnyMatchingLayers Отбрасывать сущности, которые ссылаются на один или несколько объектов Layer, добавленных в этот AbstractRayCaster.
DiscardAllMatchingLayers Отбрасывать сущности, которые ссылаются на все объекты Layer, добавленные в этот AbstractRayCaster.

hits : массив

Содержит результаты последнего теста расчета лучей в виде массива javascript-объектов. Поля, определённые в объектах, определены ниже.

{
    type // enum value of RayCasterHit.HitType
    entity // entity that was intersected
    distance // distance from ray origin to intersection
    localIntersection.x: // coordinate of intersection in the entity's coordinate system
    localIntersection.y
    localIntersection.z
    worldIntersection.x // coordinate of intersection in the model's coordinate system
    worldIntersection.y
    worldIntersection.z
    primitiveIndex // index of the primitive (triangle, line, point) that was intersected;
                   // (undefined if the picking mode is set to bounding volume)
    vertex1Index // index of the first point of the triangle or line that was intersected
                 // (undefined if the picking mode is set to bounding volume or points)
    vertex2Index // index of the second point of the triangle or line that was intersected
                 // (undefined if the picking mode is set to bounding volume or points)
    vertex3Index // index of the second point of the triangle that was intersected
                 // (undefined if the picking mode is set to bounding volume, points or lines)
}

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

runMode : перечисление

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

Константа Описание
Continuous Расчет лучей выполняется в каждом кадре, пока компонент включен.
SingleShot Расчет лучей выполняется один раз, затем компонент отключается. Это значение по умолчанию.

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

Spec-Zone.ru

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