Класс QAspectEngine
(Qt3DCore::QAspectEngine)Отвечает за обработку всех подклассов QAbstractAspect, зарегистрированных в сцене. Подробнее...
| Заголовок: | #include <Qt3DCore/QAspectEngine> |
| qmake: | QT += 3dcore |
| Наследует: | QObject |
Открытые функции
| QAspectEngine(QObject *parent = nullptr) | |
| ~QAspectEngine() | |
| QVector<QAbstractAspect *> | aspects() const |
| QVariant | executeCommand(const QString &command) |
| void | registerAspect(QAbstractAspect *aspect) |
| void | registerAspect(const QString &name) |
| QEntityPtr | rootEntity() const |
| void | setRootEntity(QEntityPtr root) |
| void | unregisterAspect(QAbstractAspect *aspect) |
| void | unregisterAspect(const QString &name) |
- 32 открытых функций, унаследованных от QObject
Связанные внешние члены
| typedef | QEntityPtr |
Дополнительные унаследованные члены
- 1 свойство, унаследованное от QObject
- 1 открытый слот, унаследованный от QObject
- 2 сигнала, унаследованные от QObject
- 11 статических открытых членов, унаследованных от QObject
- 9 защищенных функций, унаследованных от QObject
Подробное описание
Отвечает за обработку всех подклассов QAbstractAspect, зарегистрированных в сцене.
Цикл работы Qt3D контролируется Qt3DRender::QAspectEngine.
Подклассы Qt3DCore::QAbstractAspect могут быть зарегистрированы с помощью Qt3DCore::QAspectEngine::registerAspect(), что позаботится о регистрации аспекта и, в свою очередь, вызовет Qt3DCore::QAbstractAspect::onRegistered();
Цикл моделирования запускается сразу же после установки корневого Qt3DCore::QEntity в Qt3DCore::QAspectEngine. За этим следует вызов onEngineStartup() для каждого аспекта, чтобы они могли начать свою работу по моделированию.
Цикл моделирования останавливается, когда корневой объект устанавливается в Qt3DCore::QEntityPtr(). Это вызывает onEngineShutdown() для каждого аспекта, чтобы они могли остановить выполнение своей работы по моделированию.
Установка нового допустимого корневого объекта снова запустит цикл моделирования.
Документация функций-членов
QAspectEngine::QAspectEngine(QObject *parent = nullptr)
Конструирует новый QAspectEngine с parent.
QAspectEngine::~QAspectEngine()
Уничтожает движок.
QVector<QAbstractAspect *> QAspectEngine::aspects() const
Возвращает аспекты, принадлежащие движку аспектов.
QVariant QAspectEngine::executeCommand(const QString &command)
Выполняет заданную command в движке аспектов. Допустимые команды:
- "list aspects"
Возвращает ответ на команду.
void QAspectEngine::registerAspect(QAbstractAspect *aspect)
Регистрирует новый aspect в AspectManager. QAspectEngine принимает владение аспектом и удалит его, когда аспект будет отменён.
void QAspectEngine::registerAspect(const QString &name)
Регистрирует новый аспект в AspectManager на основе его name. Использует текущую фабрику аспектов для создания фактической инстанции аспекта.
QEntityPtr QAspectEngine::rootEntity() const
Возвращает корневой объект движка аспектов.
См. также setRootEntity().
void QAspectEngine::setRootEntity(QEntityPtr root)
Устанавливает root-объект для движка аспектов.
См. также rootEntity().
void QAspectEngine::unregisterAspect(QAbstractAspect *aspect)
Отменяет регистрацию и удаляет заданный aspect.
void QAspectEngine::unregisterAspect(const QString &name)
Отменяет регистрацию и удаляет аспект с заданным name.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qt3dcore-qaspectengine.html