QLayerFilter Class
class Qt3DRender::QLayerFilterSteuert 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
- 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) |
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.
Konstante | Wert | Beschreibung |
---|---|---|
Qt3DRender::QLayerFilter::AcceptAnyMatchingLayers | 0 | Akzeptiert Objekte, die auf ein oder mehrere QLayer Objekte verweisen, die zu diesem QLayerFilter hinzugefügt wurden. Dies ist der Standardwert |
Qt3DRender::QLayerFilter::AcceptAllMatchingLayers | 1 | Akzeptiere Entitäten, die auf alle QLayer Objekte verweisen, die zu dieser Seite hinzugefügt wurden. QLayerFilter |
Qt3DRender::QLayerFilter::DiscardAnyMatchingLayers | 2 | Entitäten verwerfen, die auf ein oder mehrere QLayer Objekte verweisen, die zu dieser Seite hinzugefügt wurden QLayerFilter |
Qt3DRender::QLayerFilter::DiscardAllMatchingLayers | 3 | Entitä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.