QLayerFilter 类
class Qt3DRender::QLayerFilter控制在帧图分支中绘制的图层。 更多...
头文件 | #include <QLayerFilter> |
CMake | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake | QT += 3drender |
实例化 | 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 根据添加到 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 | 接受引用了添加到此QLayerFilter的所有QLayer对象的实体 |
Qt3DRender::QLayerFilter::DiscardAnyMatchingLayers | 2 | 丢弃引用了一个或多个添加到此QLayerFilter的QLayer对象的实体 |
Qt3DRender::QLayerFilter::DiscardAllMatchingLayers | 3 | 丢弃引用了添加到此QLayerFilter的所有QLayer对象的实体 |
属性文档
filterMode : FilterMode
持有指定选择绘制实体的过滤模式。
默认值是AcceptMatchingLayers。
访问函数
Qt3DRender::QLayerFilter::FilterMode | filterMode() const |
void | setFilterMode(Qt3DRender::QLayerFilter::FilterMode filterMode) |
通知信号
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
© 2024 Qt公司 Ltd。此处包含的文档贡献者的版权所有。本提供的文档是根据自由软件基金会的GNU自由文档许可协议版本1.3许可的。Qt和相应的商标是芬兰和/或其他国家的Qt公司 Ltd的商标。所有其他商标均为其所有者的财产。