Spec-Zone.ru › Qt 6.1

Класс QLayerFilter

класс Qt3DRender::QLayerFilter

Управляет слоями, нарисованными в ветке графа кадров. Подробнее...

Заголовок: #include <QLayerFilter>
CMake: find_package(Qt6 COMPONENTS 3drender REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
С момента: Qt 5.5
Инициализируется из: LayerFilter
Наследует: Qt3DRender::QFrameGraphNode
  • Список всех членов, включая унаследованные

Типы публичного доступа

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

Свойства

  • filterMode : FilterMode

Публичные функции

QLayerFilter(Qt3DCore::QNode *parent = nullptr)
void addLayer(Qt3DRender::QLayer *layer)
Qt3DRender::QLayerFilter::FilterMode filterMode() const
QList<Qt3DRender::QLayer *> layers() const
void removeLayer(Qt3DRender::QLayer *layer)
void setFilterMode(Qt3DRender::QLayerFilter::FilterMode filterMode)

Сигналы

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

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

Класс Qt3DRender::QLayerFilter используется для указания рендереру, какие слои отрисовывать в данной ветке графа кадров. QLayerFilter выбирает, какие сущности отрисовывать, на основе экземпляра(ов) QLayer, добавленного(ых) в QLayerFilter, и как компоненты для Qt3DCore::QEntity.

QLayerFilter можно настроить для выбора или отбрасывания сущностей с определенным QLayer, в зависимости от свойства filterMode. По умолчанию, сущности, ссылающиеся на один из объектов QLayer, которые также ссылаются на QLayerFilter, выбираются (AcceptAnyMatchingLayers).

В дереве FrameGraph могут быть вложены несколько узлов QLayerFilter в ветке, от корня до листа. В этом случае фильтрация сначала выполняется для всех сущностей сцены, используя метод фильтрации, указанный первым объявленным QLayerFilter. Затем отфильтрованная подмножество сущностей отфильтровывается еще раз на основе метода фильтрации, установленного во втором объявленном QLayerFilter. Это повторяется до тех пор, пока не будут обработаны все узлы QLayerFilter ветки.

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

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

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

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

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

filterMode : FilterMode

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

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

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

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

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

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

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

QLayerFilter::QLayerFilter(Qt3DCore::QNode *parent = nullptr)

Конструктор создает экземпляр с указанным parent.

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

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

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

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

void QLayerFilter::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-qlayerfilter.html

Spec-Zone.ru

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