QAspectEngine Class▲
-
Header: Qt3DCore/QAspectEngine
-
Since: Qt 5.7
-
qmake: QT += 3dcore
-
Inherits: QObject
Detailed Description▲
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.
Member Function Documentation▲
[explicit] QAspectEngine::QAspectEngine(QObject *parent = nullptr)▲
Constructs a new QAspectEngine with parent.
[virtual] QAspectEngine::~QAspectEngine()▲
Destroys the engine.
QVector<Qt3DCore::QAbstractAspect *> QAspectEngine::aspects() const▲
Returns the aspects owned by the aspect engine.
QVariant QAspectEngine::executeCommand(const QString &command)▲
Executes the given command on aspect engine. Valid commands are:
-
"list aspects"
Returns the reply for the command.
void QAspectEngine::registerAspect(Qt3DCore::QAbstractAspect *aspect)▲
Registers a new aspect to the AspectManager. The QAspectEngine takes ownership of the aspect and will delete it when the aspect is unregistered.
void QAspectEngine::registerAspect(const QString &name)▲
Registers a new aspect to the AspectManager based on its name Uses the currently set aspect factory to create the actual aspect instance.
Qt3DCore::QEntityPtr QAspectEngine::rootEntity() const▲
void QAspectEngine::setRootEntity(Qt3DCore::QEntityPtr root)▲
void QAspectEngine::unregisterAspect(Qt3DCore::QAbstractAspect *aspect)▲
Unregisters and deletes the given aspect.
void QAspectEngine::unregisterAspect(const QString &name)▲
Unregisters and deletes the aspect with the given name.