Qt3DRender::QLayerFilter Class
class Qt3DRender::QLayerFilterフレームグラフの分岐に描画されるレイヤーを制御します。詳細...
| ヘッダー: | #include <qlayerfilter.h> |
| 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 に追加された、およびQt3DCore::QEntity のコンポーネントとして追加されたQLayer インスタンスに基づいて、描画するエンティティを選択します。
QLayerFilterは、filterMode プロパティに応じて、特定のQLayer を持つエンティティを選択または除外するように設定できます。デフォルトでは、QLayerFilter によっても参照されているQLayer オブジェクトのいずれかを参照しているエンティティが選択されます(AcceptAnyMatchingLayers )。
FrameGraphツリー内では、ルートからリーフに至るブランチ内に、複数のQLayerFilter ノードをネストさせることができます。 その場合、フィルタリングはまず、最初に宣言されたQLayerFilter で指定されたフィルタリング方法を使用して、シーンのすべてのエンティティに対して行われます。その後、フィルタリングされたエンティティのサブセットに対して、2番目に宣言されたQLayerFilter に設定されたフィルタリング方法に基づいて再度フィルタリングが行われます。この処理は、そのブランチのすべてのQLayerFilter ノードが処理されるまで繰り返されます。
メンバタイプのドキュメント
enum QLayerFilter::FilterMode
描画するエンティティを選択するためのルールを指定します。
| 定数 | 値 | 説明 |
|---|---|---|
Qt3DRender::QLayerFilter::AcceptAnyMatchingLayers | 0 | このQLayerFilter に追加された1つ以上のQLayer オブジェクトを参照するエンティティを受け入れます。これがデフォルトです。 |
Qt3DRender::QLayerFilter::AcceptAllMatchingLayers | 1 | この に追加されたすべてのQLayer オブジェクトを参照するエンティティを受け入れます。QLayerFilter |
Qt3DRender::QLayerFilter::DiscardAnyMatchingLayers | 2 | この に追加された1つ以上の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) |
メンバ関数のドキュメント
[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 」を削除する
© 2026 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.