AbstractRayCaster QML Type
Una clase base abstracta para la proyección de rayos en escenas 3D. Más...
| Import Statement: | import Qt3D.Render 2.11 |
| In C++: | QAbstractRayCaster |
| Status: | Deprecated |
Propiedades
- filterMode : enumeration
- hits : array
- runMode : enumeration
Descripción detallada
AbstractRayCaster es una clase base abstracta para la emisión de rayos en una escena 3D. AbstractRayCaster no puede ser instanciado directamente, sino a través de sus subclases. QAbstractRayCaster especifica propiedades comunes para todos los lanzadores de rayos, como el modo de ejecución y el manejo de capas, mientras que deja los detalles reales del lanzamiento de rayos a las subclases.
El lanzamiento de rayos difiere del picking (utilizando ObjectPicker) en que no requiere eventos de ratón para activarse.
Por defecto, las instancias de AbstractRayCaster están deshabilitadas. Cuando están habilitadas, el rayo especificado se comprueba en cada fotograma en busca de objetos que se crucen con él. La propiedad AbstractRayCaster.hits se actualizará con los resultados del ray casting, incluso si no se encuentra ningún objeto.
Se puede utilizar Qt3D.Render::PickingSettings para controlar el lanzamiento de rayos, por ejemplo, qué primitivas se comprueban y cómo se devuelven los resultados.
Además, los componentes Qt3D.Render::Layer pueden usarse para controlar cómo reaccionan las entidades, o sub-grafos de entidades, al ray casting.
Nota: los componentes derivados de AbstractRayCaster no deben compartirse entre varias entidades.
Véase también Qt3D.Render::RayCaster, Qt3D.Render::ScreenRayCaster, Qt3D.Render::ObjectPicker, Qt3D.Render::PickingSettings, y Qt3D.Render::NoPicking.
Documentación de propiedades
filterMode : enumeration
Contiene el modo de filtro que especifica las entidades a seleccionar para las pruebas de fundición de rayos.
El valor por defecto es AbstractRayCaster.AcceptMatchingLayers.
| Constante | Descripción |
|---|---|
AcceptAnyMatchingLayers | Acepta entidades que hacen referencia a uno o más objetos Layer añadidos a este AbstractRayCaster. Este es el valor por defecto |
AcceptAllMatchingLayers | Aceptar entidades que hagan referencia a todos los objetos Layer añadidos a este AbstractRayCaster |
DiscardAnyMatchingLayers | Descarta las entidades que hacen referencia a uno o más objetos Layer añadidos a este objeto AbstractRayCaster |
DiscardAllMatchingLayers | Descartar entidades que hagan referencia a todos los objetos Layer añadidos a este objeto AbstractRayCaster |
hits : array [read-only]
Mantiene los resultados de la última prueba de fundición de rayos como un array de objetos javascript. Los campos definidos en los objetos se definen a continuación.
{
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)
}Tenga en cuenta que incluso si las pruebas sucesivas devuelven exactamente los mismos resultados (o resultados vacíos), se emitirá una notificación de cambio en cada prueba.
runMode : enumeration
Mantiene el modo de ejecución que controla la frecuencia con la que se realizan las pruebas de fundición de rayos.
| Constante | Descripción |
|---|---|
Continuous | El ray casting se realiza en cada fotograma mientras el componente esté habilitado. |
SingleShot | Si se realiza una vez, el componente se desactiva. Esta es la opción por defecto |
© 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.