AbstractRayCaster QML Type
Une classe de base abstraite pour la projection de rayons dans les scènes 3D. Plus d'informations...
| Import Statement: | import Qt3D.Render 2.11 |
| In C++: | QAbstractRayCaster |
| Status: | Deprecated |
Propriétés
- filterMode : enumeration
- hits : array
- runMode : enumeration
Description détaillée
AbstractRayCaster est une classe de base abstraite permettant de lancer des rayons dans une scène 3D. AbstractRayCaster ne peut pas être instancié directement, mais plutôt à travers 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 couches, tout en laissant les détails du ray casting aux sous-classes.
La projection de rayons diffère de la sélection (à l'aide de ObjectPicker) en ce sens qu'elle ne nécessite pas d'événements souris pour se déclencher.
Par défaut, les instances de AbstractRayCaster sont désactivées. Lorsqu'elles sont activées, le rayon spécifié est testé à chaque image pour vérifier qu'il n'y a pas d'objets en intersection. La propriété AbstractRayCaster.hits sera mise à jour avec les résultats de la projection du rayon, même si aucun objet n'est trouvé.
Qt3D.Render::PickingSettings peut être utilisé pour contrôler le lancer de rayon, comme les primitives testées et la façon dont les résultats sont renvoyés.
En outre, les composants Qt3D.Render::Layer peuvent être utilisés pour contrôler la façon dont les entités, ou les sous-graphes d'entités, réagissent au lancer de rayon.
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
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 AbstractRayCaster.AcceptMatchingLayers.
| Constante | Description |
|---|---|
AcceptAnyMatchingLayers | Accepte les entités qui font référence à un ou plusieurs objets Layer ajoutés à ce site AbstractRayCaster. Il s'agit de la valeur par défaut |
AcceptAllMatchingLayers | Accepter les entités qui font référence à tous les objets Layer ajoutés à cette page. AbstractRayCaster |
DiscardAnyMatchingLayers | Rejeter les entités qui font référence à un ou plusieurs objets Layer ajoutés à cette page. AbstractRayCaster |
DiscardAllMatchingLayers | Rejeter les entités qui font référence à tous les objets Layer ajoutés à cette page. AbstractRayCaster |
hits : array [read-only]
Contient les résultats du dernier test de lancer de rayons sous la forme d'un tableau d'objets javascript. Les champs définis sur les objets sont définis 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 changement sera émise à chaque test.
runMode : enumeration
Maintient le mode d'exécution contrôlant la fréquence des essais de coulée de rayons.
| Constante | Description |
|---|---|
Continuous | Le lancer de rayon est effectué à chaque image tant que le composant est activé. |
SingleShot | La projection de rayons est effectuée une 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.