Qt3DRender::QLayerFilter Class
class Qt3DRender::QLayerFilter控制在框架图形分支中绘制的图层。更多
Header: | #include <QLayerFilter> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
在 QML 中: | LayerFilter |
继承: | Qt3DRender::QFrameGraphNode |
状态: | 已废弃 |
公共类型
enum | 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 会根据添加到 QLayerFilter 的QLayer 实例选择要绘制的实体,并将其作为组件添加到Qt3DCore::QEntity 。
QLayerFilter 可根据filterMode 属性配置为选择或放弃具有特定QLayer 的实体。默认情况下,引用QLayer 对象之一且同时被QLayerFilter 引用的实体会被选中 (AcceptAnyMatchingLayers)。
在 FrameGraph 树中,可以在从根到叶的分支中嵌套多个QLayerFilter 节点。在这种情况下,过滤将首先使用第一个声明的QLayerFilter 所指定的过滤方法对场景中的所有实体进行操作。然后,过滤后的实体子集将根据第二个声明的QLayerFilter 上设置的过滤方法再次进行过滤。如此反复,直到消耗完分支的所有QLayerFilter 节点。
成员类型文档
enum QLayerFilter::FilterMode
指定选择要绘制的实体的规则。
常数 | 值 | 说明 |
---|---|---|
Qt3DRender::QLayerFilter::AcceptAnyMatchingLayers | 0 | 接受引用添加到此QLayerFilter 的一个或多个QLayer 对象的实体。这是默认值 |
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) |
Notifier 信号:
void | filterModeChanged(Qt3DRender::QLayerFilter::FilterMode filterMode) |
成员函数 文档
[explicit]
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
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.