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::QEntity がQt3DCore::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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。