Auf dieser Seite

Qt3DRender::QLayerFilter Class

class Qt3DRender::QLayerFilter

Steuert 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

Ö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.

KonstanteWertBeschreibung
Qt3DRender::QLayerFilter::AcceptAnyMatchingLayers0Akzeptiert Entitäten, die auf ein oder mehrere Objekte vom Typ „ QLayer “ verweisen, die diesem „ QLayerFilter “ hinzugefügt wurden. Dies ist die Standardeinstellung
Qt3DRender::QLayerFilter::AcceptAllMatchingLayers1Akzeptiert Elemente, die auf alle „ QLayer “-Objekte verweisen, die diesem hinzugefügt wurden QLayerFilter
Qt3DRender::QLayerFilter::DiscardAnyMatchingLayers2Entitäten verwerfen, die auf ein oder mehrere „ QLayer “-Objekte verweisen, die zu diesem hinzugefügt wurden QLayerFilter
Qt3DRender::QLayerFilter::DiscardAllMatchingLayers3Entitä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.