Qt3DRender::QAbstractRayCaster Class
class Qt3DRender::QAbstractRayCasterUna clase base abstracta para la proyección de rayos en escenas 3D. Más...
| Cabecera: | #include <QAbstractRayCaster> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender)target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| En QML: | AbstractRayCaster |
| Hereda de: | Qt3DCore::QComponent |
| Heredado por: | |
| Estado: | Deprecated |
Tipos públicos
| enum | FilterMode { AcceptAnyMatchingLayers, AcceptAllMatchingLayers, DiscardAnyMatchingLayers, DiscardAllMatchingLayers } |
| enum | RunMode { Continuous, SingleShot } |
Propiedades
- filterMode : Qt3DRender::QAbstractRayCaster::FilterMode
- hits : Qt3DRender::QAbstractRayCaster::Hits
- runMode : Qt3DRender::QAbstractRayCaster::RunMode
Funciones públicas
| 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 |
Ranuras públicas
| void | setFilterMode(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
| void | setRunMode(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
Señales
| void | filterModeChanged(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
| void | hitsChanged(const Qt3DRender::QAbstractRayCaster::Hits &hits) |
| void | runModeChanged(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
Descripción detallada
Qt3DRender::QAbstractRayCaster es una clase base abstracta para lanzar rayos en una escena 3D. Qt3DRender::QAbstractRayCaster no puede ser instanciada 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 (usando Qt3DRender::QObjectPicker) en que no requiere eventos de ratón para activarse.
Por defecto, las instancias de Qt3DRender::QAbstractRayCaster están deshabilitadas. Cuando se activa, el rayo especificado será probado para intersectar objetos en cada fotograma. La propiedad QAbstractRayCaster::hits se actualizará con los resultados de la comprobación del rayo, incluso si no se encuentra ningún objeto.
Qt3DRender::QPickingSettings puede utilizarse para controlar el lanzamiento de rayos, por ejemplo, qué primitivas se comprueban y cómo se devuelven los resultados.
Además, los componentes de Qt3DRender::QLayer pueden utilizarse para controlar cómo reaccionan las entidades, o los subgrafos de entidades, al lanzamiento de rayos.
Nota: Los componentes derivados de QAbstractRayCaster no deben ser compartidos por múltiples entidades.
Ver también Qt3DRender::QRayCaster, Qt3DRender::QScreenRayCaster, Qt3DRender::QObjectPicker, Qt3DRender::QPickingSettings, y Qt3DRender::QNoPicking.
Documentación de tipos de miembros
enum QAbstractRayCaster::FilterMode
Especifica las reglas de selección de entidades para comprobar la difusión de rayos.
| Constante | Valor | Descripción |
|---|---|---|
Qt3DRender::QAbstractRayCaster::AcceptAnyMatchingLayers | 0 | Acepta entidades que hacen referencia a uno o más objetos QLayer añadidos a este QAbstractRayCaster. Este es el valor predeterminado |
Qt3DRender::QAbstractRayCaster::AcceptAllMatchingLayers | 1 | Aceptar las entidades que hacen referencia a todos los objetos QLayer añadidos a este objeto QAbstractRayCaster |
Qt3DRender::QAbstractRayCaster::DiscardAnyMatchingLayers | 2 | Descartar entidades que hagan referencia a uno o más objetos QLayer añadidos a este objeto QAbstractRayCaster |
Qt3DRender::QAbstractRayCaster::DiscardAllMatchingLayers | 3 | Descartar las entidades que hacen referencia a todos los objetos QLayer añadidos a éste QAbstractRayCaster |
enum QAbstractRayCaster::RunMode
Esta enumeración especifica la frecuencia con la que se realiza el fundido de rayos
| Constante | Valor | Descripción |
|---|---|---|
Qt3DRender::QAbstractRayCaster::Continuous | 0 | El fundido de rayos se realiza en cada fotograma mientras el componente esté habilitado. |
Qt3DRender::QAbstractRayCaster::SingleShot | 1 | El lanzamiento de rayos se realiza una vez y luego el componente se desactiva. Este es el valor por defecto |
Documentación de la propiedad
filterMode : Qt3DRender::QAbstractRayCaster::FilterMode
Contiene el modo de filtro que especifica las entidades a seleccionar para las pruebas de fundición de rayos.
El valor por defecto es AcceptMatchingLayers.
Funciones de acceso:
| Qt3DRender::QAbstractRayCaster::FilterMode | filterMode() const |
| void | setFilterMode(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
Señal del notificador:
| void | filterModeChanged(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
[read-only] hits : Qt3DRender::QAbstractRayCaster::Hits
Mantiene los resultados de la última prueba de fundición de rayos como un vector de instancias Qt3DRender::QRayCasterHit.
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.
Funciones de acceso:
| Qt3DRender::QAbstractRayCaster::Hits | hits() const |
Señal del notificador:
| void | hitsChanged(const Qt3DRender::QAbstractRayCaster::Hits &hits) |
runMode : Qt3DRender::QAbstractRayCaster::RunMode
Contiene el modo de ejecución que controla la frecuencia con la que se realizan las pruebas de fundición de rayos.
Si se establece en SingleShot (el valor predeterminado), cuando se activa el componente, se realizará una única prueba de fundición de rayos y el componente se desactivará automáticamente.
Si se establece en Continuo, las pruebas de fundición de rayos se realizarán en cada fotograma mientras el componente esté activado.
Funciones de acceso:
| Qt3DRender::QAbstractRayCaster::RunMode | runMode() const |
| void | setRunMode(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
Señal del notificador:
| void | runModeChanged(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
Documentación de funciones miembro
void QAbstractRayCaster::addLayer(Qt3DRender::QLayer *layer)
Añadir layer a la lista actual de capas
QList<Qt3DRender::QLayer *> QAbstractRayCaster::layers() const
Devuelve la lista actual de capas
void QAbstractRayCaster::removeLayer(Qt3DRender::QLayer *layer)
Eliminar layer de la lista actual de capas
© 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.