Qt3DRender::QLayerFilter Class
class Qt3DRender::QLayerFilterSteuert die in einem Zweig des Rahmendiagramms gezeichneten Ebenen. Mehr...
| Header: | #include <qlayerfilter.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| In QML: | LayerFilter |
| Erbt von: | Qt3DRender::QFrameGraphNode |
| Status: | Veraltet |
Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.
Öffentliche Typen
| enum | FilterMode { AcceptAnyMatchingLayers, AcceptAllMatchingLayers, DiscardAnyMatchingLayers, DiscardAllMatchingLayers } |
Eigenschaften
- filterMode : FilterMode
Öffentliche Funktionen
| 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) |
Signale
| void | filterModeChanged(Qt3DRender::QLayerFilter::FilterMode filterMode) |
Ausführliche Beschreibung
Ein „ Qt3DRender::QLayerFilter “ kann verwendet werden, um dem Renderer mitzuteilen, welche Ebene(n) in diesem Zweig des Frame-Graphen gezeichnet werden sollen. QLayerFilter wählt anhand der „ QLayer “-Instanzen, die dem QLayerFilter hinzugefügt wurden, sowie anhand der Komponenten von „ Qt3DCore::QEntity “ aus, welche Entitäten gezeichnet werden sollen.
QLayerFilter kann so konfiguriert werden, dass Entitäten mit einem bestimmten „ QLayer “ je nach der Eigenschaft „ filterMode “ ausgewählt oder verworfen werden. Standardmäßig werden Entitäten ausgewählt, die auf eines der „ QLayer “-Objekte verweisen, auf die auch von „ QLayerFilter “ verwiesen wird (AcceptAnyMatchingLayers).
Innerhalb des FrameGraph-Baums können mehrere „ QLayerFilter “-Knoten in einem Zweig verschachtelt sein, der von der Wurzel zu einem Blatt führt. In diesem Fall wird die Filterung zunächst auf alle Entitäten der Szene angewendet, wobei die vom ersten deklarierten „ QLayerFilter “ angegebene Filtermethode verwendet wird. Anschließend wird die gefilterte Teilmenge der Entitäten erneut auf Basis der Filtermethode gefiltert, die für den zweiten deklarierten „ QLayerFilter “ festgelegt wurde. Dieser Vorgang wird so lange wiederholt, bis alle „ QLayerFilter “-Knoten des Zweigs verarbeitet wurden.
Dokumentation zu Mitgliedstypen
enum QLayerFilter::FilterMode
Legt die Regeln für die Auswahl der zu zeichnenden Elemente fest.
| Konstante | Wert | Beschreibung |
|---|---|---|
Qt3DRender::QLayerFilter::AcceptAnyMatchingLayers | 0 | Akzeptiert Entitäten, die auf ein oder mehrere Objekte vom Typ „ QLayer “ verweisen, die diesem „ QLayerFilter “ hinzugefügt wurden. Dies ist die Standardeinstellung |
Qt3DRender::QLayerFilter::AcceptAllMatchingLayers | 1 | Akzeptiert Elemente, die auf alle „ QLayer “-Objekte verweisen, die diesem hinzugefügt wurden QLayerFilter |
Qt3DRender::QLayerFilter::DiscardAnyMatchingLayers | 2 | Entitäten verwerfen, die auf ein oder mehrere „ QLayer “-Objekte verweisen, die zu diesem hinzugefügt wurden QLayerFilter |
Qt3DRender::QLayerFilter::DiscardAllMatchingLayers | 3 | Entitäten verwerfen, die auf alle zu diesem hinzugefügten „ QLayer “-Objekte verweisen QLayerFilter |
Dokumentation zur Eigenschaft
filterMode : FilterMode
Enthält den Filtermodus, der festlegt, welche Objekte für die Zeichnung ausgewählt werden sollen.
Der Standardwert ist „AcceptMatchingLayers“.
Zugriffsfunktionen:
| Qt3DRender::QLayerFilter::FilterMode | filterMode() const |
| void | setFilterMode(Qt3DRender::QLayerFilter::FilterMode filterMode) |
Benachrichtigungssignal:
| void | filterModeChanged(Qt3DRender::QLayerFilter::FilterMode filterMode) |
Dokumentation der Mitgliedsfunktionen
[explicit] QLayerFilter::QLayerFilter(Qt3DCore::QNode *parent = nullptr)
Der Konstruktor erstellt eine Instanz mit dem angegebenen ` parent`.
void QLayerFilter::addLayer(Qt3DRender::QLayer *layer)
Füge „ layer “ zur aktuellen Liste der Ebenen hinzu
QList<Qt3DRender::QLayer *> QLayerFilter::layers() const
Gibt die aktuelle Liste der Ebenen zurück
void QLayerFilter::removeLayer(Qt3DRender::QLayer *layer)
„ layer “ aus der aktuellen Liste der Ebenen entfernen
© 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.