QAbstractRayCaster#

An abstract base class for ray casting in 3d scenes. More

Inheritance diagram of PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster

Inherited by: QScreenRayCaster, QRayCaster

Synopsis#

Properties#

Functions#

Slots#

Signals#

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

Detailed Description#

QAbstractRayCaster is an abstract base class for casting rays into a 3d scene. QAbstractRayCaster can not be directly instantiated, but rather through its subclasses. QAbstractRayCaster specifies common properties for all ray casters, such as run mode and layer handling, while leaving the actual ray casting details to the subclasses.

Ray castings differs from picking (using QObjectPicker ) in that it does not require mouse events to trigger.

By default, the instances of QAbstractRayCaster are disabled. When enabled, the specified ray will be tested for intersecting objects at every frame. The hits property will be updated with the results of the ray casting, even if no objects are found.

The QPickingSettings can be used to control the ray casting, such as which primitives are tested and how the results are returned.

Furthermore, QLayer components can be used to control how entities, or entity sub-graphs, react to ray casting.

Note

Components derived from QAbstractRayCaster should not be shared amount multiple entities.

See also

QRayCaster QScreenRayCaster QObjectPicker QPickingSettings QNoPicking

class PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster([parent=None])#
Parameters:

parentPySide6.Qt3DCore.Qt3DCore.QNode

Note

Properties can be used directly when from __feature__ import true_property is used or via accessor functions otherwise.

property PᅟySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.filterMode: FilterMode#

Holds the filter mode specifying the entities to select for ray casting tests.

The default value is AcceptMatchingLayers.

Access functions:
property PᅟySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.runMode: RunMode#

Holds the run mode controlling how often ray casting tests are performed.

If set to SingleShot (the default), when the component is enabled, a single ray casting test will be performed and the component will automatically disable itself.

If set to Continuous, ray casting tests will be performed at every frame as long as the component is enabled.

Access functions:
PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.RunMode#

This enumeration specifies how often ray casting is performed

Constant

Description

Qt3DRender.QAbstractRayCaster.Continuous

Ray casting is performed at every frame as long as the component is enabled.

Qt3DRender.QAbstractRayCaster.SingleShot

Ray casting is done once then the component disables itself. This is the default

PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.FilterMode#

Specifies the rules for selecting entities to test for raycasting.

Constant

Description

Qt3DRender.QAbstractRayCaster.AcceptAnyMatchingLayers

Accept entities that reference one or more QLayer objects added to this QAbstractRayCaster . This is the default

Qt3DRender.QAbstractRayCaster.AcceptAllMatchingLayers

Accept entities that reference all the QLayer objects added to this QAbstractRayCaster

Qt3DRender.QAbstractRayCaster.DiscardAnyMatchingLayers

Discard entities that reference one or more QLayer objects added to this QAbstractRayCaster

Qt3DRender.QAbstractRayCaster.DiscardAllMatchingLayers

Discard entities that reference all QLayer objects added to this QAbstractRayCaster

PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.addLayer(layer)#
Parameters:

layerPySide6.Qt3DRender.Qt3DRender.QLayer

Add layer to the current list of layers

PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.filterMode()#
Return type:

FilterMode

See also

setFilterMode()

Getter of property filterMode .

PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.filterModeChanged(filterMode)#
Parameters:

filterModeFilterMode

Notification signal of property filterMode .

PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.hits()#
Return type:

.list of Qt3DRender.QRayCasterHit

PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.hitsChanged(hits)#
Parameters:

hits – .list of Qt3DRender.QRayCasterHit

PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.layers()#
Return type:

.list of Qt3DRender.QLayer

Returns the current list of layers

PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.removeLayer(layer)#
Parameters:

layerPySide6.Qt3DRender.Qt3DRender.QLayer

Remove layer from the current list of layers

PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.runMode()#
Return type:

RunMode

See also

setRunMode()

Getter of property runMode .

PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.runModeChanged(runMode)#
Parameters:

runModeRunMode

Notification signal of property runMode .

PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.setFilterMode(filterMode)#
Parameters:

filterModeFilterMode

See also

filterMode()

Setter of property filterMode .

PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.setRunMode(runMode)#
Parameters:

runModeRunMode

See also

runMode()

Setter of property runMode .