Qt3DRender::QAbstractRayCaster Class
class Qt3DRender::QAbstractRayCasterUne classe de base abstraite pour le ray casting dans les scènes 3D. En savoir plus...
| En-tête : | #include <qabstractraycaster.h> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake : | QT += 3drender |
| En QML : | AbstractRayCaster |
| Hérite de : | Qt3DCore::QComponent |
| Hérité par : | |
| Statut : | Obsolète |
Cette classe est obsolète. Nous vous déconseillons fortement de l'utiliser dans du nouveau code.
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 est une classe de base abstraite permettant de projeter des rayons dans une scène 3D. Qt3DRender::QAbstractRayCaster ne peut pas être instanciée directement, mais uniquement via ses sous-classes. QAbstractRayCaster définit les propriétés communes à tous les projecteurs de rayons, telles que le mode d’exécution et la gestion des calques, tout en laissant aux sous-classes le soin de gérer les détails concrets de la projection des rayons.
Le lancer de rayons diffère du « picking » (à l’aide de ` Qt3DRender::QObjectPicker`) en ce qu’il ne nécessite pas d’événements de souris pour être déclenché.
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 détecter les objets avec lesquels il pourrait entrer en intersection. La propriété ` QAbstractRayCaster::hits ` est mise à jour avec les résultats du ray casting, même si aucun objet n’est trouvé.
L’ Qt3DRender::QPickingSettings permet de contrôler le lancer de rayons, notamment en déterminant quelles primitives sont testées et comment les résultats sont renvoyés.
De plus, les composants de l’ 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 ray casting.
Remarque : les composants dérivés de `QAbstractRayCaster` ne doivent pas être partagés entre plusieurs entités.
Voir également Qt3DRender::QRayCaster, Qt3DRender::QScreenRayCaster, Qt3DRender::QObjectPicker, Qt3DRender::QPickingSettings et Qt3DRender::QNoPicking.
Documentation sur les types de membres
enum QAbstractRayCaster::FilterMode
Définit les règles de sélection des entités à tester dans le cadre du raycasting.
| Constante | Valeur | Description |
|---|---|---|
Qt3DRender::QAbstractRayCaster::AcceptAnyMatchingLayers | 0 | Accepte les entités qui font référence à un ou plusieurs objets « QLayer » ajoutés à ce « QAbstractRayCaster ». Il s’agit de la valeur par défaut |
Qt3DRender::QAbstractRayCaster::AcceptAllMatchingLayers | 1 | Accepte les entités qui font référence à tous les objets « QLayer » ajoutés à ce QAbstractRayCaster |
Qt3DRender::QAbstractRayCaster::DiscardAnyMatchingLayers | 2 | Rejeter les entités qui font référence à un ou plusieurs objets QLayer ajoutés à cette QAbstractRayCaster |
Qt3DRender::QAbstractRayCaster::DiscardAllMatchingLayers | 3 | Écarter les entités qui font référence à tous les objets QLayer ajoutés à cette QAbstractRayCaster |
enum QAbstractRayCaster::RunMode
Cette énumération spécifie la fréquence à laquelle le ray casting est effectué
| Constante | Valeur | Description |
|---|---|---|
Qt3DRender::QAbstractRayCaster::Continuous | 0 | Le ray casting est effectué à chaque image tant que le composant est activé. |
Qt3DRender::QAbstractRayCaster::SingleShot | 1 | Le ray casting est effectué une seule 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
Contient le mode de filtrage qui spécifie les entités à sélectionner pour les tests de ray casting.
La valeur par défaut est AcceptMatchingLayers.
Fonctions d'accès :
| Qt3DRender::QAbstractRayCaster::FilterMode | filterMode() const |
| void | setFilterMode(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
Signal de notification :
| void | filterModeChanged(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
[read-only] hits : Qt3DRender::QAbstractRayCaster::Hits
Contient les résultats du dernier test de ray casting sous la forme d'un vecteur d'instances de type 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 modification sera émise à chaque test.
Fonctions d'accès :
| Qt3DRender::QAbstractRayCaster::Hits | hits() const |
Signal de notification :
| void | hitsChanged(const Qt3DRender::QAbstractRayCaster::Hits &hits) |
runMode : Qt3DRender::QAbstractRayCaster::RunMode
Définit le mode d'exécution qui détermine la fréquence à laquelle les tests de ray casting sont effectués.
S'il est défini sur « SingleShot » (valeur par défaut), lorsque le composant est activé, un seul test de ray casting sera effectué et le composant se désactivera automatiquement.
S'il est défini sur « Continu » (Continuous), les tests de ray casting 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 de notification :
| void | runModeChanged(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
Documentation des fonctions membres
void QAbstractRayCaster::addLayer(Qt3DRender::QLayer *layer)
Ajouter « layer » à la liste actuelle des couches
QList<Qt3DRender::QLayer *> QAbstractRayCaster::layers() const
Renvoie 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.