class QAbstractRayCaster#

3D场景中光线追踪的抽象基类。 更多

Inheritance diagram of PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster

继承: QScreenRayCasterQRayCaster

概述#

属性#

方法#

#

信号#

注意

本文档可能包含自动从C++翻译到Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来让我们知道。

详细描述#

QAbstractRayCaster是一个用于将光线播撒到3D场景的抽象基类。QAbstractRayCaster不能直接实例化,而是通过其子类。 QAbstractRayCaster指定了所有射线投射器的公共属性,如运行模式和层处理,同时将实际的射线追踪细节留给子类。

射线投射与拾取(使用 QObjectPicker )不同,因为它不需要鼠标事件来触发。

默认情况下,QAbstractRayCaster 的实例是禁用的。启用后,指定的射线将在每一帧测试与物体的交点。即使没有发现物体,hits 属性将根据射线投射的结果进行更新。

可以使用 QPickingSettings 来控制射线投射,例如测试哪些原语以及如何返回结果。

此外,可以使用 QLayer 组件来控制实体或实体子图对射线投射的反应。

注意

QAbstractRayCaster 衍生的组件不应该在多个实体之间共享。

另请参阅

QRayCaster QScreenRayCaster QObjectPicker QPickingSettings QNoPicking

class RunMode#

此枚举指定射线投射何时执行

常数

描述

Qt3DRender.QAbstractRayCaster.Continuous

只要组件启用,就会在每一帧执行射线投射。

Qt3DRender.QAbstractRayCaster.SingleShot

执行一次射线投射后,组件会禁用自己。这是默认设置

class FilterMode#

指定选择实体进行射线投射测试的规则。

常数

描述

Qt3DRender.QAbstractRayCaster.AcceptAnyMatchingLayers

接受存在于此 QAbstractRayCaster 中添加的一个或多个 QLayer 对象引用的实体。这是默认设置

Qt3DRender.QAbstractRayCaster.AcceptAllMatchingLayers

接受引用了这个 QAbstractRayCaster 中添加的所有 QLayer 对象的实体

Qt3DRender.QAbstractRayCaster.DiscardAnyMatchingLayers

拒绝引用此 QAbstractRayCaster 中添加的一个或多个 QLayer 对象引用的实体

Qt3DRender.QAbstractRayCaster.DiscardAllMatchingLayers

拒绝引用了这个 QAbstractRayCaster 中添加的所有 QLayer 对象的实体

注意

可以使用时,属性可以直接使用,当使用 from __feature__ import true_property 时,否则通过访问器函数。

属性 filterModeᅟ: Qt3DRender.QAbstractRayCaster.FilterMode#

包含指定用于射线投射测试的实体的过滤模式。

默认值为AcceptMatchingLayers。

访问函数
属性 runModeᅟ: Qt3DRender.QAbstractRayCaster.RunMode#

包含控制射线投射测试执行频率的运行模式。

如果设置为SingleShot(默认值),当组件启用时,将执行单个射线投射测试,并将自动禁用该组件。

如果设置为Continuous,在组件启用的情况下,每帧都会进行射线投射测试。

访问函数
__init__([parent=None])#
参数:

parentQNode

addLayer(layer)#
参数:

layerQLayer

layer添加到当前层列表中

filterMode()#
返回类型:

FilterMode

另请参阅

setFilterMode()

属性filterModeᅟ的获取器。

filterModeChanged(filterMode)#
参数:

filterModeFilterMode

属性filterModeᅟ的变更通知信号。

hits()#
返回类型:

列表,包含Qt3DRender.QRayCasterHit

hitsChanged(hits)#
参数:

hits – .list of Qt3DRender.QRayCasterHit

layers()#
返回类型:

.list of Qt3DRender.QLayer

返回当前层列表

removeLayer(layer)#
参数:

layerQLayer

从当前层列表中删除 layer

runMode()#
返回类型:

运行模式

另请参阅

setRunMode()

属性 runModeᅟ 的获取器。

runModeChanged(runMode)#
参数:

runModeRunMode

属性 runModeᅟ 的通知信号。

setFilterMode(filterMode)#
参数:

filterModeFilterMode

另请参阅

filterMode()

属性 filterModeᅟ 的设置器。

setRunMode(runMode)#
参数:

runModeRunMode

另请参阅

runMode()

属性 runModeᅟ 的设置器。