Sur cette page

Qt3DRender::QLayerFilter Class

class Qt3DRender::QLayerFilter

Permet de contrôler les calques dessinés dans une branche du graphe de trame. En savoir plus...

En-tête : #include <qlayerfilter.h>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake : QT += 3drender
En QML : LayerFilter
Hérite de : Qt3DRender::QFrameGraphNode
Statut : Obsolète

Cette classe est obsolète. Nous déconseillons fortement de l'utiliser dans du nouveau code.

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

Un filtre de couche ( Qt3DRender::QLayerFilter ) permet d’indiquer au moteur de rendu quelle(s) couche(s) dessiner dans cette branche du graphe de trame. QLayerFilter sélectionne les entités à dessiner en fonction des instances de filtre de couche ( QLayer ) ajoutées à QLayerFilter et en tant que composants de Qt3DCore::QEntity.

QLayerFilter peut être configuré pour sélectionner ou écarter des entités présentant 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 également référencés par le QLayerFilter sont sélectionnées (AcceptAnyMatchingLayers).

Au sein de l’arborescence FrameGraph, plusieurs nœuds QLayerFilter peuvent être imbriqués dans une branche allant de la racine à une feuille. Dans ce cas, le filtrage s’applique d’abord à toutes les entités de la scène à l’aide de la méthode de filtrage spécifiée par le premier ` QLayerFilter` déclaré. Ensuite, le sous-ensemble d’entités ainsi filtré est à nouveau filtré selon la méthode de filtrage définie sur le deuxième ` QLayerFilter ` déclaré. Ce processus est répété jusqu’à ce que tous les nœuds ` QLayerFilter ` de la branche aient été traités.

Documentation sur les types de membres

enum QLayerFilter::FilterMode

Définit les règles de sélection des entités à tracer.

ConstanteValeurDescription
Qt3DRender::QLayerFilter::AcceptAnyMatchingLayers0Accepte les entités qui font référence à un ou plusieurs objets « QLayer » ajoutés à ce « QLayerFilter ». Il s’agit de la valeur par défaut
Qt3DRender::QLayerFilter::AcceptAllMatchingLayers1Accepte les entités qui font référence à tous les objets QLayer ajoutés à cette QLayerFilter
Qt3DRender::QLayerFilter::DiscardAnyMatchingLayers2Rejeter les entités qui font référence à un ou plusieurs objets QLayer ajoutés à ce QLayerFilter
Qt3DRender::QLayerFilter::DiscardAllMatchingLayers3Écarter les entités qui font référence à tous les objets QLayer ajoutés à cette QLayerFilter

Documentation sur les propriétés

filterMode : FilterMode

Contient le mode de filtrage qui spécifie les entités à sélectionner pour le tracé.

La valeur par défaut est AcceptMatchingLayers.

Fonctions d'accès :

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

Signal de notification :

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

Documentation des fonctions membres

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

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

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

Ajouter « layer » à la liste actuelle des couches

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

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