QAspectEngine Class

class Qt3DCore::QAspectEngine

シーンに登録されたすべてのQAbstractAspect サブクラスの処理を担当します。さらに...

Header: #include <Qt3DCore/QAspectEngine>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3DCore)
target_link_libraries(mytarget PRIVATE Qt6::3DCore)
qmake: QT += 3dcore
Inherits: QObject
Status: Deprecated

パブリック関数

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)

詳細説明

Qt3Dの実行ループはQt3DRender::QAspectEngineによって制御されます。

Qt3DCore::QAbstractAspect サブクラスはQt3DCore::QAspectEngine::registerAspect()を呼び出すことで登録することができ、Qt3DCore::QAbstractAspect::onRegistered()を呼び出すことでアスペクトの登録を行います;

シミュレーションループは、ルートQt3DCore::QEntityQt3DCore::QAspectEngine に設定されるとすぐに開始されます。これに続いて、各アスペクトで onEngineStartup() が呼び出され、シミュレーションが開始されます。

ルートエンティティがQt3DCore::QEntityPtr()に設定されると、シミュレーションループは停止します。これにより、各アスペクトでonEngineShutdown()が呼び出され、シミュレーションが停止します。

新しい有効なルートエンティティを設定すると、再びシミュレーションループが再開されます。

メンバ関数ドキュメント

[explicit] QAspectEngine::QAspectEngine(QObject *parent = nullptr)

parent を持つ新しい QAspectEngine を構築します。

[virtual noexcept] QAspectEngine::~QAspectEngine()

エンジンを破棄します。

Qt3DCore::QAbstractAspect *QAspectEngine::aspect(const QString &name) const

に一致するアセスペクトを返します。name

注釈 アスペクトが名前で登録されている必要があります。

QList<Qt3DCore::QAbstractAspect *> QAspectEngine::aspects() const

アスペクト・エンジンが所有するアスペクトを返します。

QVariant QAspectEngine::executeCommand(const QString &command)

与えられたcommand をアスペクト・エンジンで実行します。有効なコマンドは

  • "アスペクトのリスト"

コマンドに対する応答を返します。

void QAspectEngine::processFrame()

手動実行モードを使用する場合、この関数は各アスペクトのジョブを実行します。これはブロックされ、すべてのジョブが完了するまで返されません。

QRenderAspectを使用している場合、

void QAspectEngine::registerAspect(Qt3DCore::QAbstractAspect *aspect)

AspectManagerに新しいaspect を登録します。QAspectEngine はアスペクトの所有権を持ち、アスペクトの登録が解除されると削除されます。

void QAspectEngine::registerAspect(const QString &name)

name に基づいて新しいアスペクトをAspectManagerに登録します。 現在設定されているアスペクトファクトリを使用して、実際のアスペクトインスタンスを作成します。

Qt3DCore::QEntityPtr QAspectEngine::rootEntity() const

アスペクトエンジンのルートエンティティを返します。

setRootEntity()も参照して ください。

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

アスペクト・エンジンのroot エンティティを設定します。

rootEntity()も参照して ください。

void QAspectEngine::unregisterAspect(Qt3DCore::QAbstractAspect *aspect)

指定されたaspect の登録を解除し、削除します。

void QAspectEngine::unregisterAspect(const QString &name)

指定されたname を持つアスペクトの登録を解除し、削除します。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。