Responsible for handling all the QAbstractAspect subclasses that have been registered with the scene. More...
Header: | #include <Qt3DCore/QAspectEngine> |
CMake: | find_package(Qt6 COMPONENTS 3dcore REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3dcore) |
qmake: | QT += 3dcore |
Inherits: | QObject |
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) |
QEntityPtr |
The Qt3D run loop is controlled by the Qt3DRender::QAspectEngine.
Qt3DCore::QAbstractAspect subclasses can be registered by calling Qt3DCore::QAspectEngine::registerAspect() which will take care of registering the aspect and in turn that will call Qt3DCore::QAbstractAspect::onRegistered();
The simulation loop is launched as soon as a root Qt3DCore::QEntity is set on the Qt3DCore::QAspectEngine. This is followed by a call to onEngineStartup() on each aspect so that they can start their simulation work.
The simulation loop is stopped when the root entity is set to Qt3DCore::QEntityPtr(). This calls onEngineShutdown() on each aspect so that they can stop performing their simulation work.
Setting a new valid root entity would restart the simulation loop again.
Constructs a new QAspectEngine with parent.
[virtual]
QAspectEngine::~QAspectEngine()
Destroys the engine.
Returns the asepect matching the name
Note: Required that the aspect was registered by name
Returns the aspects owned by the aspect engine.
Executes the given command on aspect engine. Valid commands are:
Returns the reply for the command.
If using the manual run mode, this function executes the jobs for each aspect. It is blocking and won't return until all jobs have been completed.
If you are using the QRenderAspect,
Registers a new aspect to the AspectManager. The QAspectEngine takes ownership of the aspect and will delete it when the aspect is unregistered.
Registers a new aspect to the AspectManager based on its name Uses the currently set aspect factory to create the actual aspect instance.
Returns the root entity of the aspect engine.
See also setRootEntity().
Sets the root entity for the aspect engine.
See also rootEntity().
Unregisters and deletes the given aspect.
Unregisters and deletes the aspect with the given name.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qt3dcore-qaspectengine.html