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