Sur cette page

Qt3DRender::QLayerFilter Class

class Qt3DRender::QLayerFilter

Contrôle les couches dessinées dans une branche de graphique à cadre. Plus d'informations...

En-tête : #include <QLayerFilter>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake : QT += 3drender
En QML : LayerFilter
Hérite : Qt3DRender::QFrameGraphNode
Statut : Déclassé

Types publics

enum FilterMode { AcceptAnyMatchingLayers, AcceptAllMatchingLayers, DiscardAnyMatchingLayers, DiscardAllMatchingLayers }

Propriétés

Fonctions publiques

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)

Signaux

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

Description détaillée

Une adresse Qt3DRender::QLayerFilter peut être utilisée pour indiquer au moteur de rendu quelle(s) couche(s) dessiner dans cette branche du graphe d'images. QLayerFilter sélectionne les entités à dessiner en fonction de la ou des instances QLayer ajoutées au QLayerFilter et en tant que composants à Qt3DCore::QEntity.

QLayerFilter peut être configuré pour sélectionner ou rejeter les entités ayant une QLayer spécifique en fonction de la propriété filterMode. Par défaut, les entités faisant référence à l'un des objets QLayer qui sont également référencés par QLayerFilter sont sélectionnées (AcceptAnyMatchingLayers).

Dans l'arbre FrameGraph, plusieurs nœuds QLayerFilter peuvent être imbriqués dans une branche allant de la racine à une feuille. Dans ce cas, le filtrage portera d'abord sur toutes les entités de la scène en utilisant la méthode de filtrage spécifiée par le premier nœud déclaré QLayerFilter. Ensuite, le sous-ensemble d'entités filtrées sera à nouveau filtré sur la base de la méthode de filtrage définie pour le deuxième QLayerFilter déclaré. Cette opération est répétée jusqu'à ce que tous les nœuds QLayerFilter de la branche aient été consommés.

Documentation sur les types de membres

enum QLayerFilter::FilterMode

Spécifie les règles de sélection des entités à dessiner.

ConstanteValeurDescription
Qt3DRender::QLayerFilter::AcceptAnyMatchingLayers0Accepte les entités qui font référence à un ou plusieurs objets QLayer ajoutés à ce site QLayerFilter. Il s'agit de la valeur par défaut
Qt3DRender::QLayerFilter::AcceptAllMatchingLayers1Accepter les entités qui font référence à tous les objets QLayer ajoutés à cette page. QLayerFilter
Qt3DRender::QLayerFilter::DiscardAnyMatchingLayers2Rejeter les entités qui font référence à un ou plusieurs objets QLayer ajoutés à cette page. QLayerFilter
Qt3DRender::QLayerFilter::DiscardAllMatchingLayers3Rejeter les entités qui font référence à tous les objets QLayer ajoutés à cette page. QLayerFilter

Documentation sur les propriétés

filterMode : FilterMode

Détient le mode de filtrage spécifiant les entités à sélectionner pour le dessin.

La valeur par défaut est AcceptMatchingLayers.

Fonctions d'accès :

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

Signal Notificateur :

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

Member Function Documentation

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

Le constructeur crée une instance avec l'adresse parent spécifiée.

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

Ajouter layer à la liste actuelle des couches

QList<Qt3DRender::QLayer *> QLayerFilter::layers() const

Retourne la liste actuelle des couches

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

Supprimer layer de la liste actuelle des couches

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