En esta página

Qt3DCore::QAspectEngine Class

class Qt3DCore::QAspectEngine

Responsable 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)

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.

No miembros relacionados

QEntityPtr

Un puntero compartido para QEntity.

© 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.