Класс 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