QAspectEngine 类
类 Qt3DCore::QAspectEngine负责处理已在场景中注册的所有 QAbstractAspect 子类。 更多...
头文件 | #include <Qt3DCore/QAspectEngine> |
CMake | find_package(Qt6 REQUIRED COMPONENTS 3DCore) target_link_libraries(mytarget PRIVATE Qt6::3DCore) |
qmake | QT += 3dcore |
继承 | QObject |
公共函数
QAspectEngine(QObject *parent = nullptr) | |
virtual | ~QAspectEngine() |
Qt3DCore::QAbstractAspect * | aspect(const QString &name) const |
QList<Qt3DCore::QAbstractAspect *> | aspects() const |
QVariant | executeCommand(const QString &command) |
void | processFrame() |
void | registerAspect(Qt3DCore::QAbstractAspect *aspect) |
void | registerAspect(const QString &name) |
Qt3DCore::QEntityPtr | rootEntity() const |
void | setRootEntity(Qt3DCore::QEntityPtr root) |
void | unregisterAspect(Qt3DCore::QAbstractAspect *aspect) |
void | unregisterAspect(const QString &name) |
相关非成员
详细说明
Qt3D 运行循环由 Qt3DRender::QAspectEngine 控制。
Qt3DCore::QAbstractAspect 子类可以通过调用 Qt3DCore::QAspectEngine::registerAspect() 进行注册,它会负责注册方面,然后调用 Qt3DCore::QAbstractAspect::onRegistered();
根 Qt3DCore::QEntity 被设置在 Qt3DCore::QAspectEngine 上时立即启动模拟循环。这之后,对每个方面调用 onEngineStartup(),以便它们可以开始模拟工作。
将根实体设置为 Qt3DCore::QEntityPtr() 时停止模拟循环。这将在每个方面上调用 onEngineShutdown(),以便它们停止执行模拟工作。
设置新的有效根实体将再次重新启动模拟循环。
成员函数文档
[显式]
QAspectEngine::QAspectEngine(QObject *parent = nullptr)
使用 parent 构造一个新的 QAspectEngine。
[虚拟 noexcept]
QAspectEngine::~QAspectEngine()
销毁该引擎。
Qt3DCore::QAbstractAspect *QAspectEngine::aspect(const QString &name) const
返回匹配的 名称
注意:需要已按名称注册该方面
QList<Qt3DCore::QAbstractAspect *> QAspectEngine::aspects() const
返回由方面引擎拥有的方面。
QVariant QAspectEngine::executeCommand(const QString &command)
在方面引擎上执行给定的 命令。有效的命令有
- "list aspects"
返回命令的回复。
void QAspectEngine::processFrame()
如果使用手动运行模式,该函数将执行每个方面的作业。它是阻塞的,并且不会返回,直到所有作业都已完成。
如果您使用的是 QRenderAspect,
void QAspectEngine::registerAspect(Qt3DCore::QAbstractAspect *aspect)
将新 方面 注册到方面管理器。 QAspectEngine 负责拥有该方面,当方面取消注册时将删除它。
void QAspectEngine::registerAspect(const QString &name)
根据其 名称 将新方面注册到方面管理器。使用当前设置的方面工厂来创建实际的方面实例。
Qt3DCore::QEntityPtr QAspectEngine::rootEntity() const
返回方面引擎的根实体。
另请参阅:setRootEntity()。
void QAspectEngine::setRootEntity(Qt3DCore::QEntityPtr root)
为方面引擎设置 根 实体。
另请参阅:rootEntity()。
void QAspectEngine::unregisterAspect(Qt3DCore::QAbstractAspect *aspect)
注销并删除给定的 方面。
void QAspectEngine::unregisterAspect(const QString &name)
注销并删除具有给定 名称 的方面。
© 2024 Qt公司有限版权。其中包含的文档贡献为各自所有者的版权。本部分提供的文档受自由软件基金会发布的GNU自由文档许可证v1.3版本条款的许可。Qt及其相应标志是Qt公司在芬兰以及全球其他国家的商标。GNU自由文档许可证v1.3由自由软件基金会发布。Qt及其相应标志是芬兰的Qt公司和其他国家的商标。所有其他商标均为其各自所有者的财产。