PySide6.Qt3DCore.Qt3DCore.QAspectEngine¶
- class QAspectEngine¶
负责处理所有已注册到场景中的
QAbstractAspect子类。更多…概要¶
方法¶
def
__init__()def
aspect()def
aspects()def
executeCommand()def
lookupNode()def
lookupNodes()def
processFrame()def
registerAspect()def
rootEntity()def
runMode()def
setRootEntity()def
setRunMode()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
Qt3D 运行循环由 Qt3DRender::QAspectEngine 控制。
QAbstractAspect子类可以通过调用 Qt3DCore::QAspectEngine::registerAspect() 来注册,该函数将负责注册方面,并随后调用 Qt3DCore::QAbstractAspect::onRegistered();一旦在
QAspectEngine上设置了根QEntity,模拟循环就会启动。随后,每个方面都会调用onEngineStartup(),以便它们可以开始模拟工作。当根实体设置为Qt3DCore::QEntityPtr()时,模拟循环停止。这会在每个方面调用onEngineShutdown(),以便它们可以停止执行模拟工作。
设置一个新的有效根实体将再次重新启动模拟循环。
- class RunMode¶
使用
parent构造一个新的QAspectEngine。- aspect(name)¶
- Parameters:
name – str
- Return type:
QAbstractAspect
返回与
name匹配的方面注意
要求方面已通过名称注册
- aspects()¶
- Return type:
返回由方面引擎拥有的方面。
- executeCommand(command)¶
- Parameters:
command – str
- Return type:
对象
在aspect引擎上执行给定的
command。有效的命令有:“列出方面”
返回命令的回复。
- lookupNode(id)¶
- Parameters:
id –
QNodeId- Return type:
QNode
- lookupNodes(ids)¶
- Parameters:
ids – .Qt3DCore.QNodeId 的列表
- Return type:
- processFrame()¶
如果使用手动运行模式,此函数将执行每个方面的作业。它是阻塞的,直到所有作业完成后才会返回。
如果您正在使用QRenderAspect,
- registerAspect(aspect)¶
- Parameters:
aspect –
QAbstractAspect
向AspectManager注册一个新的
aspect。QAspectEngine将拥有该aspect的所有权,并在aspect注销时删除它。- registerAspect(name)
- Parameters:
name – str
根据其
name向AspectManager注册一个新的切面。使用当前设置的切面工厂来创建实际的切面实例。- rootEntity()¶
- Return type:
QSharedPointer
返回方面引擎的根实体。
另请参阅
setRootEntity()- runMode()¶
- Return type:
RunMode
- setRootEntity(root)¶
- Parameters:
root –
QSharedPointer
设置方面引擎的
root实体。另请参阅
rootEntity()- setRunMode(mode)¶
- Parameters:
mode –
RunMode
- unregisterAspect(aspect)¶
- Parameters:
aspect –
QAbstractAspect
注销并删除给定的
aspect。- unregisterAspect(name)
- Parameters:
name – str
注销并删除具有给定
name的方面。