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)
virtual ~QAspectEngine ()
QVector<Qt3DCore::QAbstractAspect *> aspects () const
QVariant executeCommand (const QString & command )
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 )

静态公共成员

const QMetaObject staticMetaObject
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 .

[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

Returns the root entity of the aspect engine.

另请参阅 setRootEntity ().

void QAspectEngine:: setRootEntity ( Qt3DCore::QEntityPtr root )

设置 root entity for the aspect engine.

另请参阅 rootEntity ().

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 .

相关非成员

typedef Qt3DCore:: QEntityPtr

共享指针为 QEntity .