Sur cette page

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

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.

ConstanteDescription
AcceptAnyMatchingLayersAccepte 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
AcceptAllMatchingLayersAccepter les entités qui font référence à tous les objets Layer ajoutés à cette page. AbstractRayCaster
DiscardAnyMatchingLayersRejeter les entités qui font référence à un ou plusieurs objets Layer ajoutés à cette page. AbstractRayCaster
DiscardAllMatchingLayersRejeter 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.

ConstanteDescription
ContinuousLe lancer de rayon est effectué à chaque image tant que le composant est activé.
SingleShotLa 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.