AbstractRayCaster QML Type
Une classe de base abstraite pour le ray casting dans les scènes 3D. En savoir plus...
| Import Statement: | import Qt3D.Render 2.12 |
| In C++: | QAbstractRayCaster |
| Status: | Deprecated |
Ce type est obsolète. Nous déconseillons fortement de l'utiliser dans du nouveau code.
Propriétés
- filterMode : enumeration
- hits : array
- runMode : enumeration
Description détaillée
AbstractRayCaster est une classe de base abstraite permettant de projeter des rayons dans une scène 3D. AbstractRayCaster ne peut pas être instanciée directement, mais uniquement via ses sous-classes. QAbstractRayCaster spécifie les propriétés communes à tous les ray casters, 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 du ray casting.
Le lancer de rayons diffère du « picking » (à l'aide de ` ObjectPicker`) en ce qu'il ne nécessite pas d'événements de souris pour être déclenché.
Par défaut, les instances d’AbstractRayCaster 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 entre en intersection. La propriété AbstractRayCaster.hits est mise à jour avec les résultats du lancer de rayons, même si aucun objet n’est trouvé.
La classe Qt3D.Render::PickingSettings permet de contrôler le ray casting, notamment en déterminant quelles primitives sont testées et comment les résultats sont renvoyés.
De plus, les composants Qt3D.Render::Layer permettent de 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 `AbstractRayCaster` ne doivent pas être partagés entre plusieurs entités.
Voir également Qt3D.Render::RayCaster, Qt3D.Render::ScreenRayCaster, Qt3D.Render::ObjectPicker, Qt3D.Render::PickingSettings et Qt3D.Render::NoPicking.
Documentation sur les propriétés
filterMode : enumeration
Contient le mode de filtrage définissant les entités à sélectionner pour les tests de ray casting.
La valeur par défaut est « AbstractRayCaster.AcceptMatchingLayers ».
| Constante | Description |
|---|---|
AcceptAnyMatchingLayers | Accepte les entités qui font référence à un ou plusieurs objets « Layer » ajoutés à cet « AbstractRayCaster ». Il s’agit de la valeur par défaut |
AcceptAllMatchingLayers | Accepte les entités qui font référence à tous les objets « Layer » ajoutés à ce AbstractRayCaster |
DiscardAnyMatchingLayers | Rejette les entités qui font référence à un ou plusieurs objets « Layer » ajoutés à ce AbstractRayCaster |
DiscardAllMatchingLayers | Écarter les entités qui font référence à tous les objets Layer ajoutés à cette AbstractRayCaster |
hits : array [read-only]
Contient les résultats du dernier test de ray casting sous la forme d'un tableau d'objets JavaScript. Les champs définis sur ces objets sont décrits ci-dessous.
{
type // enum value of RayCasterHit.HitType
entity // entity that was intersected
distance // distance from ray origin to intersection
localIntersection.x: // coordinate of intersection in the entity's coordinate system
localIntersection.y
localIntersection.z
worldIntersection.x // coordinate of intersection in the model's coordinate system
worldIntersection.y
worldIntersection.z
primitiveIndex // index of the primitive (triangle, line, point) that was intersected;
// (undefined if the picking mode is set to bounding volume)
vertex1Index // index of the first point of the triangle or line that was intersected
// (undefined if the picking mode is set to bounding volume or points)
vertex2Index // index of the second point of the triangle or line that was intersected
// (undefined if the picking mode is set to bounding volume or points)
vertex3Index // index of the second point of the triangle that was intersected
// (undefined if the picking mode is set to bounding volume, points or lines)
}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.
runMode : enumeration
Définit le mode d'exécution qui détermine la fréquence à laquelle les tests de ray casting sont effectués.
| Constante | Description |
|---|---|
Continuous | Le ray casting est effectué à chaque image tant que le composant est activé. |
SingleShot | Le ray casting est effectué une seule fois, puis le composant se désactive. Il s'agit de la valeur par défaut. |
© 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.