Spec-Zone.ru › Qt 6.0

Тип QML AbstractRayCaster

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

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

Spec-Zone.ru

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