Класс 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 { ПринятьЛюбыеСовпадающиеСлои, ПринятьВсеСовпадающиеСлои, ОтброситьЛюбыеСовпадающиеСлои, ОтброситьВсеСовпадающиеСлои } |
Свойства
- 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.2/qt3drender-qlayerfilter.html