Spec-Zone.ru › Qt 6.1

Класс 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)

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

  • "list aspects"

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

void QAspectEngine::processFrame()

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

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

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

Регистрирует новый aspect в AspectManager. 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.

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

QEntityPtr

Умный указатель для QEntity.

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

Spec-Zone.ru

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