- class QAbstractRayCaster#
3D场景中光线追踪的抽象基类。 更多…
继承:
QScreenRayCaster
,QRayCaster
概述#
属性#
方法#
def
__init__()
def
addLayer()
def
filterMode()
def
hits()
def
layers()
def
removeLayer()
def
runMode()
槽#
def
setFilterMode()
def
setRunMode()
信号#
def
hitsChanged()
def
runModeChanged()
注意
本文档可能包含自动从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])#
- 参数:
parent –
QNode
- addLayer(layer)#
- 参数:
layer –
QLayer
将
layer
添加到当前层列表中- filterMode()#
- 返回类型:
FilterMode
另请参阅
setFilterMode()
属性
filterModeᅟ
的获取器。- filterModeChanged(filterMode)#
- 参数:
filterMode –
FilterMode
属性
filterModeᅟ
的变更通知信号。- hits()#
- 返回类型:
- hitsChanged(hits)#
- 参数:
hits – .list of Qt3DRender.QRayCasterHit
- layers()#
- 返回类型:
.list of Qt3DRender.QLayer
返回当前层列表
- removeLayer(layer)#
- 参数:
layer –
QLayer
从当前层列表中删除
layer
- runMode()#
- 返回类型:
运行模式
另请参阅
setRunMode()
属性
runModeᅟ
的获取器。- runModeChanged(runMode)#
- 参数:
runMode –
RunMode
属性
runModeᅟ
的通知信号。- setFilterMode(filterMode)#
- 参数:
filterMode –
FilterMode
另请参阅
filterMode()
属性
filterModeᅟ
的设置器。- setRunMode(runMode)#
- 参数:
runMode –
RunMode
另请参阅
runMode()
属性
runModeᅟ
的设置器。