Spec-Zone.ru › Qt

Класс QAspectEngine

класс Qt3DCore::QAspectEngine

Отвечает за обработку всех подклассов QAbstractAspect, которые были зарегистрированы в сцене. Подробнее...

Заголовок: #include <Qt3DCore/QAspectEngine>
CMake: find_package(Qt6 COMPONENTS 3dcore REQUIRED) 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)

Связанные нечлены

QEntityPtr

Подробное описание

Цикл работы 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.

[virtual] QAspectEngine::~QAspectEngine()

Удаляет движок.

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

Возвращает аспект, соответствующий name

Примечание: Требуется, чтобы аспект был зарегистрирован по имени

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

Возвращает аспекты, принадлежащие движку аспектов.

QVariant QAspectEngine::executeCommand(const QString &command)

Выполняет заданную команду в движке аспектов. Допустимые команды:

  • "list aspects"

Возвращает ответ на команду.

void QAspectEngine::processFrame()

При использовании ручного режима выполнения эта функция выполняет задачи для каждого аспекта. Она блокирующая и не вернётся, пока все задачи не будут завершены.

Если вы используете QRenderAspect,

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

Регистрирует новый aspekt в AspectManager. QAspectEngine принимает на себя владение аспектом и удалит его, когда аспект будет отписан.

void QAspectEngine::registerAspect(const QString &name)

Регистрирует новый аспект в AspectManager на основе его имени. Использует текущую фабрику аспектов для создания фактического экземпляра аспекта.

Qt3DCore::QEntityPtr QAspectEngine::rootEntity() const

Возвращает корневую сущность движка аспектов.

См. также setRootEntity().

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

Устанавливает корневую сущность для движка аспектов.

См. также rootEntity().

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

Отписывает и удаляет заданный aspekt.

void QAspectEngine::unregisterAspect(const QString &name)

Отписывает и удаляет аспект с заданным именем.

Связанные нечлены

QEntityPtr

Указатель на общий тип для QEntity.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qt3dcore-qaspectengine.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API