Qt3DCore::QAspectEngine Class
class Qt3DCore::QAspectEngineResponsable de gestionar todas las subclases de QAbstractAspect que se han registrado en la escena. Más...
| Cabecera: | #include <Qt3DCore/QAspectEngine> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3DCore)target_link_libraries(mytarget PRIVATE Qt6::3DCore) |
| qmake: | QT += 3dcore |
| Hereda: | QObject |
| Status: | Obsoleto |
Funciones públicas
| 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) |
No miembros relacionados
Descripción Detallada
El bucle de ejecución de Qt3D está controlado por Qt3DRender::QAspectEngine.
Qt3DCore::QAbstractAspect Las subclases pueden registrarse llamando a Qt3DCore::QAspectEngine::registerAspect() que se encargará de registrar el aspecto y a su vez que llame a Qt3DCore::QAbstractAspect::onRegistered();
El bucle de simulación se inicia tan pronto como se establece una raíz Qt3DCore::QEntity en Qt3DCore::QAspectEngine. Esto es seguido por una llamada a onEngineStartup() en cada aspecto para que puedan comenzar su trabajo de simulación.
El bucle de simulación se detiene cuando la entidad raíz se establece en Qt3DCore::QEntityPtr(). Esto llama a onEngineShutdown() en cada aspecto para que puedan dejar de realizar su trabajo de simulación.
Establecer una nueva entidad raíz válida reiniciaría el bucle de simulación de nuevo.
Documentación de las funciones miembro
[explicit] QAspectEngine::QAspectEngine(QObject *parent = nullptr)
Construye un nuevo QAspectEngine con parent.
[virtual noexcept] QAspectEngine::~QAspectEngine()
Destruye el motor.
Qt3DCore::QAbstractAspect *QAspectEngine::aspect(const QString &name) const
Devuelve el aspecto que coincide con el name
Nota: Se requiere que el aspecto haya sido registrado por nombre
QList<Qt3DCore::QAbstractAspect *> QAspectEngine::aspects() const
Devuelve los aspectos propiedad del motor de aspectos.
QVariant QAspectEngine::executeCommand(const QString &command)
Ejecuta el comando command en el motor de aspecto. Los comandos válidos son:
- "listar aspectos"
Devuelve la respuesta del comando.
void QAspectEngine::processFrame()
Si se utiliza el modo de ejecución manual, esta función ejecuta los trabajos de cada aspecto. Está bloqueando y no volverá hasta que todos los trabajos se hayan completado.
Si está utilizando la función QRenderAspect,
void QAspectEngine::registerAspect(Qt3DCore::QAbstractAspect *aspect)
Registra un nuevo aspect en el AspectManager. El QAspectEngine toma posesión del aspecto y lo borrará cuando el aspecto sea desregistrado.
void QAspectEngine::registerAspect(const QString &name)
Registra un nuevo aspecto en el AspectManager basándose en su name Utiliza la fábrica de aspectos actualmente establecida para crear la instancia de aspecto real.
Qt3DCore::QEntityPtr QAspectEngine::rootEntity() const
Devuelve la entidad raíz del motor de aspectos.
Véase también setRootEntity().
void QAspectEngine::setRootEntity(Qt3DCore::QEntityPtr root)
Establece la entidad root para el motor de aspectos.
Véase también rootEntity().
void QAspectEngine::unregisterAspect(Qt3DCore::QAbstractAspect *aspect)
Anula el registro y elimina la dirección aspect.
void QAspectEngine::unregisterAspect(const QString &name)
Anula el registro y elimina el aspecto con la dirección name.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.