PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster¶
- 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派生的组件不应在多个实体之间共享。另请参阅
QRayCasterQScreenRayCasterQObjectPickerQPickingSettingsQNoPicking- class RunMode¶
此枚举指定了射线投射执行的频率
常量
描述
Qt3DRender.QAbstractRayCaster.Continuous
只要组件启用,每帧都会执行射线投射。
Qt3DRender.QAbstractRayCaster.SingleShot
射线投射完成后,组件将自动禁用。这是默认设置
- class FilterMode¶
指定用于选择实体以进行射线投射测试的规则。
常量
描述
Qt3DRender.QAbstractRayCaster.AcceptAnyMatchingLayers
接受引用一个或多个
QLayer对象的实体,这些对象已添加到这个QAbstractRayCaster中。这是默认设置Qt3DRender.QAbstractRayCaster.AcceptAllMatchingLayers
接受引用所有添加到这个
QAbstractRayCaster的QLayer对象的实体Qt3DRender.QAbstractRayCaster.DiscardAnyMatchingLayers
丢弃引用一个或多个
QLayer对象的实体,这些对象已添加到这个QAbstractRayCasterQt3DRender.QAbstractRayCaster.DiscardAllMatchingLayers
丢弃引用所有添加到这个
QAbstractRayCaster的QLayer对象的实体
注意
当使用
from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。- property filterModeᅟ: Qt3DRender.QAbstractRayCaster.FilterMode¶
保存指定用于射线投射测试的实体选择过滤模式。
默认值为AcceptMatchingLayers。
- Access functions:
- property hitsᅟ: list of Qt3DRender.QRayCasterHit¶
保存最后一次射线投射测试的结果,作为
QRayCasterHit实例的向量。请注意,即使连续的测试返回完全相同的结果(或空结果),每次测试都会发出更改通知。
- Access functions:
- property runModeᅟ: Qt3DRender.QAbstractRayCaster.RunMode¶
控制射线投射测试执行频率的运行模式。
如果设置为
SingleShot(默认值),当组件启用时,将执行一次射线投射测试,并且组件将自动禁用自身。如果设置为连续,只要组件启用,每帧都会执行射线投射测试。
- Access functions:
- __init__([parent=None])¶
- Parameters:
parent –
QNode
- addLayer(layer)¶
- Parameters:
层 –
QLayer
将
layer添加到当前图层列表中- filterMode()¶
- Return type:
FilterMode
另请参阅
setFilterMode()
属性
filterModeᅟ的获取器。- filterModeChanged(filterMode)¶
- Parameters:
filterMode –
FilterMode
属性
filterModeᅟ的通知信号。- hits()¶
- Return type:
属性
hitsᅟ的获取器。- hitsChanged(hits)¶
- Parameters:
hits – Qt3DRender.QRayCasterHit 的列表
属性
hitsᅟ的通知信号。- layers()¶
- Return type:
返回当前的图层列表
- removeLayer(layer)¶
- Parameters:
层 –
QLayer
从当前图层列表中移除
layer- runMode()¶
- Return type:
RunMode
另请参阅
setRunMode()
属性
runModeᅟ的获取器。- runModeChanged(runMode)¶
- Parameters:
runMode –
RunMode
属性
runModeᅟ的通知信号。- setFilterMode(filterMode)¶
- Parameters:
filterMode –
FilterMode
另请参阅
filterMode()
属性
filterModeᅟ的设置器。- setRunMode(runMode)¶
- Parameters:
runMode –
RunMode
另请参阅
runMode()
属性
runModeᅟ的设置器。