Spec-Zone.ru › Qt

Тип QML AbstractRayCaster

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

Заявление об импорте: import Qt3D.Render
С момента: 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.2/qml-qt3d-render-abstractraycaster.html

Spec-Zone.ru

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