Sur cette page

Qt3DCore::QAspectEngine Class

class Qt3DCore::QAspectEngine

Chargé de gérer toutes les sous-classes de ` QAbstractAspect ` qui ont été enregistrées dans la scène. En savoir plus...

En-tête : #include <Qt3DCore/QAspectEngine>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3DCore)
target_link_libraries(mytarget PRIVATE Qt6::3DCore)
qmake : QT += 3dcore
Hérite de : QObject
Statut : Obsolète

Cette classe est obsolète. Nous déconseillons fortement de l'utiliser dans du nouveau code.

Fonctions publiques

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)

Description détaillée

La boucle d'exécution Qt3D est contrôlée par Qt3DRender::QAspectEngine.

Qt3DCore::QAbstractAspect Les sous-classes peuvent être enregistrées en appelant Qt3DCore::QAspectEngine::registerAspect(), qui se chargera d'enregistrer l'aspect et appellera à son tour Qt3DCore::QAbstractAspect::onRegistered() ;

La boucle de simulation est lancée dès qu'une entité racine ( Qt3DCore::QEntity ) est définie sur l'entité de base ( Qt3DCore::QAspectEngine). Cette opération est suivie d'un appel à la fonction onEngineStartup() sur chaque aspect, afin qu'ils puissent démarrer leur travail de simulation.

La boucle de simulation s’arrête lorsque l’entité racine est définie sur Qt3DCore::QEntityPtr(). Cela appelle la fonction onEngineShutdown() sur chaque aspect afin qu’ils puissent cesser d’effectuer leur travail de simulation.

La définition d’une nouvelle entité racine valide relancerait la boucle de simulation.

Documentation des fonctions membres

[explicit] QAspectEngine::QAspectEngine(QObject *parent = nullptr)

Crée un nouvel objet `QAspectEngine` avec ` parent`.

[virtual noexcept] QAspectEngine::~QAspectEngine()

Cela détruit le moteur.

Qt3DCore::QAbstractAspect *QAspectEngine::aspect(const QString &name) const

Renvoie l'aspect correspondant à l'name

Remarque : l'aspectdoit avoir été enregistré par son nom

QList<Qt3DCore::QAbstractAspect *> QAspectEngine::aspects() const

Renvoie les aspects gérés par le moteur d'aspects.

QVariant QAspectEngine::executeCommand(const QString &command)

Exécute l'command spécifiée sur le moteur d'aspects. Les commandes valides sont :

  • « list aspects »

Renvoie la réponse à la commande.

void QAspectEngine::processFrame()

En mode d'exécution manuelle, cette fonction exécute les tâches pour chaque aspect. Elle est bloquante et ne renvoie aucun résultat tant que toutes les tâches ne sont pas terminées.

Si vous utilisez QRenderAspect,

void QAspectEngine::registerAspect(Qt3DCore::QAbstractAspect *aspect)

Enregistre un nouvel « aspect » auprès de l'AspectManager. L'« QAspectEngine » prend en charge la gestion de l'aspect et le supprimera lorsque celui-ci sera désenregistré.

void QAspectEngine::registerAspect(const QString &name)

Enregistre un nouvel aspect auprès de l'AspectManager en fonction de son name. Utilise l'usine d'aspects actuellement définie pour créer l'instance d'aspect proprement dite.

Qt3DCore::QEntityPtr QAspectEngine::rootEntity() const

Renvoie l'entité racine du moteur d'aspects.

Voir également setRootEntity().

void QAspectEngine::setRootEntity(Qt3DCore::QEntityPtr root)

Définit l'entité « root » pour le moteur d'aspect.

Voir aussi rootEntity().

void QAspectEngine::unregisterAspect(Qt3DCore::QAbstractAspect *aspect)

Désenregistre et supprime l'aspect.

void QAspectEngine::unregisterAspect(const QString &name)

Désenregistre et supprime l'aspect associé à l'name on indiquée.

Non-membres concernés

QEntityPtr

Un pointeur partagé pour 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.