QLayerFilter Class

class Qt3DRender::QLayerFilter

Steuert die in einem Rahmengrafikzweig gezeichneten Ebenen. Mehr...

Kopfzeile: #include <QLayerFilter>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
In QML: LayerFilter
Vererbt: Qt3DRender::QFrameGraphNode
Status: Veraltet

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

Detaillierte Beschreibung

Eine Qt3DRender::QLayerFilter kann verwendet werden, um dem Renderer mitzuteilen, welche Schicht(en) in diesem Zweig des Framegraphen gezeichnet werden soll. QLayerFilter wählt die zu zeichnenden Entitäten auf der Grundlage der QLayer Instanz(en) aus, die dem QLayerFilter und als Komponenten auf Qt3DCore::QEntity hinzugefügt wurden.

QLayerFilter kann so konfiguriert werden, dass Entitäten mit einem bestimmten QLayer abhängig von der filterMode Eigenschaft ausgewählt oder verworfen werden. Standardmäßig werden Entitäten ausgewählt, die auf eines der QLayer -Objekte verweisen, die auch von QLayerFilter referenziert werden (AcceptAnyMatchingLayers).

Innerhalb des FrameGraph-Baums können mehrere QLayerFilter -Knoten in einem Zweig verschachtelt sein, der von der Wurzel bis zu einem Blatt reicht. In diesem Fall wird die Filterung zunächst auf alle Objekte der Szene angewendet, wobei die Filterungsmethode des ersten deklarierten QLayerFilter verwendet wird. Dann wird die gefilterte Teilmenge von Objekten erneut gefiltert, basierend auf der Filtermethode, die auf dem zweiten deklarierten QLayerFilter festgelegt wurde. Dies wird so lange wiederholt, bis alle QLayerFilter Knoten des Zweigs verbraucht sind.

Dokumentation der Mitgliedstypen

enum QLayerFilter::FilterMode

Gibt die Regeln für die Auswahl der zu zeichnenden Objekte an.

KonstanteWertBeschreibung
Qt3DRender::QLayerFilter::AcceptAnyMatchingLayers0Akzeptiert Objekte, die auf ein oder mehrere QLayer Objekte verweisen, die zu diesem QLayerFilter hinzugefügt wurden. Dies ist der Standardwert
Qt3DRender::QLayerFilter::AcceptAllMatchingLayers1Akzeptiere Entitäten, die auf alle QLayer Objekte verweisen, die zu dieser Seite hinzugefügt wurden. QLayerFilter
Qt3DRender::QLayerFilter::DiscardAnyMatchingLayers2Entitäten verwerfen, die auf ein oder mehrere QLayer Objekte verweisen, die zu dieser Seite hinzugefügt wurden QLayerFilter
Qt3DRender::QLayerFilter::DiscardAllMatchingLayers3Entitäten verwerfen, die auf alle QLayer Objekte verweisen, die zu dieser Seite hinzugefügt wurden QLayerFilter

Eigenschaft Dokumentation

filterMode : FilterMode

Enthält den Filtermodus, der angibt, welche Objekte zum Zeichnen ausgewählt werden sollen.

Der Standardwert ist AcceptMatchingLayers.

Zugriffsfunktionen:

Qt3DRender::QLayerFilter::FilterMode filterMode() const
void setFilterMode(Qt3DRender::QLayerFilter::FilterMode filterMode)

Melder-Signal:

void filterModeChanged(Qt3DRender::QLayerFilter::FilterMode filterMode)

Member Function Dokumentation

[explicit] QLayerFilter::QLayerFilter(Qt3DCore::QNode *parent = nullptr)

Der Konstruktor erzeugt eine Instanz mit dem angegebenen parent.

void QLayerFilter::addLayer(Qt3DRender::QLayer *layer)

layer zur aktuellen Liste der Ebenen hinzufügen

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

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