QAspectEngine

Responsible for handling all the QAbstractAspect subclasses that have been registered with the scene. More

Inheritance diagram of PySide6.Qt3DCore.Qt3DCore.QAspectEngine

Synopsis

Functions

Detailed Description

The Qt3D run loop is controlled by the Qt3DRender::QAspectEngine.

QAbstractAspect subclasses can be registered by calling Qt3DCore::QAspectEngine::registerAspect() which will take care of registering the aspect and in turn that will call Qt3DCore::QAbstractAspect::onRegistered();

The simulation loop is launched as soon as a root QEntity is set on the QAspectEngine . This is followed by a call to onEngineStartup() on each aspect so that they can start their simulation work.

The simulation loop is stopped when the root entity is set to Qt3DCore::QEntityPtr(). This calls onEngineShutdown() on each aspect so that they can stop performing their simulation work.

Setting a new valid root entity would restart the simulation loop again.

class PySide6.Qt3DCore.Qt3DCore.QAspectEngine([parent=None])
Parameters

parentPySide6.QtCore.QObject

Constructs a new QAspectEngine with parent.

PySide6.Qt3DCore.Qt3DCore.QAspectEngine.RunMode

New in version 5.14.

PySide6.Qt3DCore.Qt3DCore.QAspectEngine.aspect(name)
Parameters

name – str

Return type

PySide6.Qt3DCore.Qt3DCore.QAbstractAspect

Returns the asepect matching the name

Note

Required that the aspect was registered by name

PySide6.Qt3DCore.Qt3DCore.QAspectEngine.aspects()
Return type

Returns the aspects owned by the aspect engine.

PySide6.Qt3DCore.Qt3DCore.QAspectEngine.executeCommand(command)
Parameters

command – str

Return type

object

Executes the given command on aspect engine. Valid commands are:

  • “list aspects”

Returns the reply for the command.

PySide6.Qt3DCore.Qt3DCore.QAspectEngine.lookupNode(id)
Parameters

idPySide6.Qt3DCore.Qt3DCore.QNodeId

Return type

PySide6.Qt3DCore.Qt3DCore.QNode

PySide6.Qt3DCore.Qt3DCore.QAspectEngine.lookupNodes(ids)
Parameters

ids

Return type

PySide6.Qt3DCore.Qt3DCore.QAspectEngine.processFrame()

If using the manual run mode, this function executes the jobs for each aspect. It is blocking and won’t return until all jobs have been completed.

If you are using the QRenderAspect,

PySide6.Qt3DCore.Qt3DCore.QAspectEngine.registerAspect(aspect)
Parameters

aspectPySide6.Qt3DCore.Qt3DCore.QAbstractAspect

Registers a new aspect to the AspectManager. The QAspectEngine takes ownership of the aspect and will delete it when the aspect is unregistered.

PySide6.Qt3DCore.Qt3DCore.QAspectEngine.registerAspect(name)
Parameters

name – str

Registers a new aspect to the AspectManager based on its name Uses the currently set aspect factory to create the actual aspect instance.

PySide6.Qt3DCore.Qt3DCore.QAspectEngine.rootEntity()
Return type

QSharedPointer

Returns the root entity of the aspect engine.

See also

setRootEntity()

PySide6.Qt3DCore.Qt3DCore.QAspectEngine.runMode()
Return type

RunMode

PySide6.Qt3DCore.Qt3DCore.QAspectEngine.setRootEntity(root)
Parameters

rootQSharedPointer

Sets the root entity for the aspect engine.

See also

rootEntity()

PySide6.Qt3DCore.Qt3DCore.QAspectEngine.setRunMode(mode)
Parameters

modeRunMode

PySide6.Qt3DCore.Qt3DCore.QAspectEngine.unregisterAspect(aspect)
Parameters

aspectPySide6.Qt3DCore.Qt3DCore.QAbstractAspect

Unregisters and deletes the given aspect.

PySide6.Qt3DCore.Qt3DCore.QAspectEngine.unregisterAspect(name)
Parameters

name – str

Unregisters and deletes the aspect with the given name.