QAspectEngine Class

class Qt3DCore::QAspectEngine

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

ヘッダー #include <Qt3DCore/QAspectEngine>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3DCore)
target_link_libraries(mytarget PRIVATE Qt6::3DCore)
qmake: QT += 3dcore
を継承する: 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)

詳細な説明

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

Qt3DCore::QAbstractAspect Qt3DCore::QAspectEngine::registerAspect()を呼び出すことでサブクラスを登録することができます;

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

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

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

メンバ関数のドキュメント

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

新しい QAspectEngine をparent で構築します。

[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)

新しいaspect を AspectManager に登録します。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 のアスペクトの登録を解除し、削除します。

関連する非会員

QEntityPtr

QEntity の共有ポインター。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.