Auf dieser Seite

Qt3DCore::QAspectEngine Class

class Qt3DCore::QAspectEngine

Zustä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)

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.

Verwandte Nicht-Mitglieder

QEntityPtr

Ein Shared Pointer für 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.