Qt3DCore::QAspectEngine Class
class Qt3DCore::QAspectEngineZuständig für die Verarbeitung aller Unterklassen von „ QAbstractAspect “, die in der Szene registriert wurden. Mehr...
| Header: | #include <Qt3DCore/QAspectEngine> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3DCore) target_link_libraries(mytarget PRIVATE Qt6::3DCore) |
| qmake: | QT += 3dcore |
| Erbt von: | QObject |
| Status: | Veraltet |
Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.
Öffentliche Funktionen
| 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) |
Verwandte Nicht-Mitglieder
Ausführliche Beschreibung
Die Qt3D-Ausführungsschleife wird von der Qt3DRender::QAspectEngine gesteuert.
Qt3DCore::QAbstractAspect Unterklassen können durch den Aufruf von Qt3DCore::QAspectEngine::registerAspect() registriert werden, wodurch die Registrierung des Aspekts übernommen wird und im Gegenzug Qt3DCore::QAbstractAspect::onRegistered() aufgerufen wird;
Die Simulationsschleife wird gestartet, sobald ein Stamm- Qt3DCore::QEntity in der ` Qt3DCore::QAspectEngine` festgelegt wurde. Darauf folgt ein Aufruf von `onEngineStartup()` für jeden Aspekt, damit diese ihre Simulationsarbeit aufnehmen können.
Die Simulationsschleife wird gestoppt, sobald die Stammxml-ph-0000@deepl.internal auf `Qt3DCore::QEntityPtr()` gesetzt wird. Dadurch wird für jeden Aspekt `onEngineShutdown()` aufgerufen, damit diese ihre Simulationsarbeit beenden können.
Das Festlegen einer neuen gültigen Stammentität würde die Simulationsschleife erneut starten.
Dokumentation der Member-Funktionen
[explicit] QAspectEngine::QAspectEngine(QObject *parent = nullptr)
Erstellt eine neue `QAspectEngine` mit ` parent`.
[virtual noexcept] QAspectEngine::~QAspectEngine()
Zerstört den Motor.
Qt3DCore::QAbstractAspect *QAspectEngine::aspect(const QString &name) const
Gibt den Aspekt zurück, der mit dem name
Hinweis: Der Aspektmuss namentlich registriert worden sein.
QList<Qt3DCore::QAbstractAspect *> QAspectEngine::aspects() const
Gibt die Aspekte zurück, die der Aspekt-Engine gehören.
QVariant QAspectEngine::executeCommand(const QString &command)
Führt die angegebene „ command “ in der Aspekt-Engine aus. Gültige Befehle sind:
- „list aspects“
Gibt die Antwort auf den Befehl zurück.
void QAspectEngine::processFrame()
Im manuellen Ausführungsmodus führt diese Funktion die Aufträge für jeden Aspekt aus. Sie ist blockierend und kehrt erst zurück, wenn alle Aufträge abgeschlossen sind.
Wenn Sie QRenderAspect verwenden,
void QAspectEngine::registerAspect(Qt3DCore::QAbstractAspect *aspect)
Registriert einen neuen „ aspect “ beim „AspectManager“. Der „ QAspectEngine “ übernimmt die Verantwortung für den Aspekt und löscht ihn, sobald die Registrierung des Aspekts aufgehoben wird.
void QAspectEngine::registerAspect(const QString &name)
Registriert einen neuen Aspekt beim AspectManager auf der Grundlage seiner „ name “. Verwendet die aktuell festgelegte Aspekt-Factory, um die eigentliche Aspektinstanz zu erstellen.
Qt3DCore::QEntityPtr QAspectEngine::rootEntity() const
Gibt die Stammentität der Aspekt-Engine zurück.
Siehe auch „ setRootEntity()“.
void QAspectEngine::setRootEntity(Qt3DCore::QEntityPtr root)
Legt die Entität „ root “ für die Aspekt-Engine fest.
Siehe auch ` rootEntity()`.
void QAspectEngine::unregisterAspect(Qt3DCore::QAbstractAspect *aspect)
Hebt die Registrierung des angegebenen „ aspect “ auf und löscht ihn.
void QAspectEngine::unregisterAspect(const QString &name)
Hebt die Registrierung des Aspekts mit der angegebenen Kennung „ name “ auf und löscht ihn.
© 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.