Qt3DRender::QAbstractRayCaster Class
class Qt3DRender::QAbstractRayCasterUne classe de base abstraite pour la projection de rayons dans les scènes 3D. Plus d'informations...
| En-tête : | #include <QAbstractRayCaster> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS 3drender)target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake : | QT += 3drender |
| En QML : | AbstractRayCaster |
| Hérite : | Qt3DCore::QComponent |
| Héritée par : | |
| Statut : | Déclassé |
Types publics
| enum | FilterMode { AcceptAnyMatchingLayers, AcceptAllMatchingLayers, DiscardAnyMatchingLayers, DiscardAllMatchingLayers } |
| enum | RunMode { Continuous, SingleShot } |
Propriétés
- filterMode : Qt3DRender::QAbstractRayCaster::FilterMode
- hits : Qt3DRender::QAbstractRayCaster::Hits
- runMode : Qt3DRender::QAbstractRayCaster::RunMode
Fonctions publiques
| void | addLayer(Qt3DRender::QLayer *layer) |
| Qt3DRender::QAbstractRayCaster::FilterMode | filterMode() const |
| Qt3DRender::QAbstractRayCaster::Hits | hits() const |
| QList<Qt3DRender::QLayer *> | layers() const |
| void | removeLayer(Qt3DRender::QLayer *layer) |
| Qt3DRender::QAbstractRayCaster::RunMode | runMode() const |
Emplacements publics
| void | setFilterMode(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
| void | setRunMode(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
Signaux
| void | filterModeChanged(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
| void | hitsChanged(const Qt3DRender::QAbstractRayCaster::Hits &hits) |
| void | runModeChanged(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
Description détaillée
Qt3DRender::QAbstractRayCaster QAbstractRayCaster est une classe de base abstraite permettant de lancer des rayons dans une scène 3D. Qt3DRender::QAbstractRayCaster ne peut pas être instancié directement, mais plutôt par l'intermédiaire de ses sous-classes. QAbstractRayCaster spécifie les propriétés communes à tous les lanceurs de rayons, telles que le mode d'exécution et la gestion des couches, tout en laissant les détails du lancer de rayons aux sous-classes.
La projection de rayons diffère de la sélection (à l'aide de Qt3DRender::QObjectPicker) en ce sens qu'elle ne nécessite pas d'événements souris pour se déclencher.
Par défaut, les instances de Qt3DRender::QAbstractRayCaster sont désactivées. Lorsqu'elles sont activées, le rayon spécifié est testé à chaque image pour vérifier s'il croise des objets. La propriété QAbstractRayCaster::hits sera mise à jour avec les résultats de la projection du rayon, même si aucun objet n'est trouvé.
La propriété Qt3DRender::QPickingSettings peut être utilisée pour contrôler le lancer de rayon, notamment les primitives testées et la manière dont les résultats sont renvoyés.
En outre, les composants Qt3DRender::QLayer peuvent être utilisés pour contrôler la manière dont les entités ou les sous-graphes d'entités réagissent au lancer de rayons.
Remarque : les composants dérivés de QAbstractRayCaster ne doivent pas être partagés entre plusieurs entités.
Voir aussi Qt3DRender::QRayCaster, Qt3DRender::QScreenRayCaster, Qt3DRender::QObjectPicker, Qt3DRender::QPickingSettings, et Qt3DRender::QNoPicking.
Documentation sur les types de membres
enum QAbstractRayCaster::FilterMode
Spécifie les règles de sélection des entités à tester pour la diffusion de rayons.
| Constante | Valeur | Description |
|---|---|---|
Qt3DRender::QAbstractRayCaster::AcceptAnyMatchingLayers | 0 | Accepte les entités qui font référence à un ou plusieurs objets QLayer ajoutés à ce site QAbstractRayCaster. Il s'agit de la valeur par défaut |
Qt3DRender::QAbstractRayCaster::AcceptAllMatchingLayers | 1 | Accepter les entités qui font référence à tous les objets QLayer ajoutés à cette page. QAbstractRayCaster |
Qt3DRender::QAbstractRayCaster::DiscardAnyMatchingLayers | 2 | Rejeter les entités qui font référence à un ou plusieurs objets QLayer ajoutés à cette page. QAbstractRayCaster |
Qt3DRender::QAbstractRayCaster::DiscardAllMatchingLayers | 3 | Rejeter les entités qui font référence à tous les objets QLayer ajoutés à cette page. QAbstractRayCaster |
enum QAbstractRayCaster::RunMode
Cette énumération spécifie la fréquence à laquelle le lancer de rayon est effectué
| Constante | Valeur | Description |
|---|---|---|
Qt3DRender::QAbstractRayCaster::Continuous | 0 | Le lancer de rayon est effectué à chaque image tant que le composant est activé. |
Qt3DRender::QAbstractRayCaster::SingleShot | 1 | Le lancer de rayon est effectué une fois, puis le composant se désactive. Il s'agit de la valeur par défaut |
Documentation de la propriété
filterMode : Qt3DRender::QAbstractRayCaster::FilterMode
Indique le mode de filtrage spécifiant les entités à sélectionner pour les tests de moulage de rayons.
La valeur par défaut est AcceptMatchingLayers.
Fonctions d'accès :
| Qt3DRender::QAbstractRayCaster::FilterMode | filterMode() const |
| void | setFilterMode(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
Signal du notificateur :
| void | filterModeChanged(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
[read-only] hits : Qt3DRender::QAbstractRayCaster::Hits
Contient les résultats du dernier test de lancer de rayon sous la forme d'un vecteur d'instances Qt3DRender::QRayCasterHit.
Notez que même si des tests successifs renvoient exactement les mêmes résultats (ou des résultats vides), une notification de changement sera émise à chaque test.
Fonctions d'accès :
| Qt3DRender::QAbstractRayCaster::Hits | hits() const |
Notifier signal :
| void | hitsChanged(const Qt3DRender::QAbstractRayCaster::Hits &hits) |
runMode : Qt3DRender::QAbstractRayCaster::RunMode
Détient le mode d'exécution contrôlant la fréquence des tests de lancer de rayons.
S'il est défini sur SingleShot (valeur par défaut), lorsque le composant est activé, un seul test de lancer de rayons est effectué et le composant se désactive automatiquement.
S'il est défini sur Continu, les tests de lancer de rayons seront effectués à chaque image tant que le composant est activé.
Fonctions d'accès :
| Qt3DRender::QAbstractRayCaster::RunMode | runMode() const |
| void | setRunMode(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
Signal Notificateur :
| void | runModeChanged(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
Member Function Documentation
void QAbstractRayCaster::addLayer(Qt3DRender::QLayer *layer)
Ajouter layer à la liste actuelle des couches
QList<Qt3DRender::QLayer *> QAbstractRayCaster::layers() const
Retourne la liste actuelle des couches
void QAbstractRayCaster::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.