Qt3DCore::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::QAbstractAspect::onRegistered() が呼び出されます。
シミュレーションループは、Qt3DCore::QAspectEngine にルートQt3DCore::QEntity が設定されるとすぐに開始されます。その後、各アスペクトの 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 をアスペクトエンジン上で実行します。有効なコマンドは以下の通りです:
- "list aspects"
コマンドに対する応答を返します。
void QAspectEngine::processFrame()
手動実行モードを使用する場合、この関数は各アスペクトのジョブを実行します。この関数はブロッキングであり、すべてのジョブが完了するまで戻りません。
QRenderAspect を使用している場合は、
void QAspectEngine::registerAspect(Qt3DCore::QAbstractAspect *aspect)
AspectManager に新しい `aspect ` を登録します。QAspectEngine は、そのアスペクトの所有権を取得し、アスペクトの登録が解除された際にそれを削除します。
void QAspectEngine::registerAspect(const QString &name)
AspectManager に、そのname に基づいて新しいアスペクトを登録します。現在設定されているアスペクトファクトリを使用して、実際のアスペクトインスタンスを作成します。
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 を持つアスペクトを登録解除し、削除します。
© 2026 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.