En esta página

Qt3DRender::QAbstractRayCaster Class

class Qt3DRender::QAbstractRayCaster

Una 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:

Qt3DRender::QRayCaster y Qt3DRender::QScreenRayCaster

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.

ConstanteValorDescripción
Qt3DRender::QAbstractRayCaster::AcceptAnyMatchingLayers0Acepta entidades que hacen referencia a uno o más objetos QLayer añadidos a este QAbstractRayCaster. Este es el valor predeterminado
Qt3DRender::QAbstractRayCaster::AcceptAllMatchingLayers1Aceptar las entidades que hacen referencia a todos los objetos QLayer añadidos a este objeto QAbstractRayCaster
Qt3DRender::QAbstractRayCaster::DiscardAnyMatchingLayers2Descartar entidades que hagan referencia a uno o más objetos QLayer añadidos a este objeto QAbstractRayCaster
Qt3DRender::QAbstractRayCaster::DiscardAllMatchingLayers3Descartar 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

ConstanteValorDescripción
Qt3DRender::QAbstractRayCaster::Continuous0El fundido de rayos se realiza en cada fotograma mientras el componente esté habilitado.
Qt3DRender::QAbstractRayCaster::SingleShot1El 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.