Класс 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.0/qt3drender-qlayerfilter.html