QAspectEngine Class

( Qt3DCore::QAspectEngine )

Responsible for handling all the QAbstractAspect subclasses that have been registered with the scene. 更多...

头: #include <Qt3DCore/QAspectEngine>
qmake: QT += 3dcore
继承: QObject

公共函数

QAspectEngine (QObject * parent = nullptr)
~QAspectEngine ()
QVector<QAbstractAspect *> aspects () const
QVariant executeCommand (const QString & command )
void registerAspect (QAbstractAspect * aspect )
void registerAspect (const QString & name )
QEntityPtr rootEntity () const
void setRootEntity (QEntityPtr root )
void unregisterAspect (QAbstractAspect * aspect )
void unregisterAspect (const QString & name )
typedef QEntityPtr

额外继承成员

详细描述

Responsible for handling all the QAbstractAspect subclasses that have been registered with the scene.

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.

成员函数文档编制

QAspectEngine:: QAspectEngine ( QObject * parent = nullptr)

构造新的 QAspectEngine with parent .

QAspectEngine:: ~QAspectEngine ()

Destroys the engine.

QVector < 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 ( 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.

QEntityPtr QAspectEngine:: rootEntity () const

Returns the root entity of the aspect engine.

另请参阅 setRootEntity ().

void QAspectEngine:: setRootEntity ( QEntityPtr root )

设置 root entity for the aspect engine.

另请参阅 rootEntity ().

void QAspectEngine:: unregisterAspect ( QAbstractAspect * aspect )

Unregisters and deletes the given aspect .

void QAspectEngine:: unregisterAspect (const QString & name )

Unregisters and deletes the aspect with the given name .

相关非成员

typedef Qt3DCore:: QEntityPtr

共享指针为 QEntity .