Spec-Zone.ru › Qt 6.1

Класс QSceneLoader

класс Qt3DRender::QSceneLoader

Предоставляет возможность загрузить существующую сцену. Подробнее...

Заголовок: #include <QSceneLoader>
CMake: find_package(Qt6 COMPONENTS 3drender REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
С момента: Qt 5.7
Создается из: SceneLoader
Наследует: Qt3DCore::QComponent
  • Список всех членов, включая наследуемые

Типы публичного доступа

перечисление ComponentType { UnknownComponent, GeometryRendererComponent, TransformComponent, MaterialComponent, LightComponent, CameraLensComponent }
перечисление Status { None, Loading, Ready, Error }

Свойства

  • source : QUrl
  • status : const Status

Публичные функции

QSceneLoader(Qt3DCore::QNode *parent = nullptr)
Qt3DCore::QComponent * component(const QString &entityName, Qt3DRender::QSceneLoader::ComponentType componentType) const
Qt3DCore::QEntity * entity(const QString &entityName) const
QStringList entityNames() const
QUrl source() const
Qt3DRender::QSceneLoader::Status status() const

Публичные слоты

void setSource(const QUrl &arg)

Сигналы

void sourceChanged(const QUrl &source)
void statusChanged(Qt3DRender::QSceneLoader::Status status)

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

При заданном 3D исходном файле, Qt3DRender::QSceneLoader попытается его разобрать и построить дерево объектов Qt3DCore::QEntity с соответствующими компонентами Qt3DRender::QGeometryRenderer, Qt3DCore::QTransform и Qt3DRender::QMaterial.

Загрузчик попытается определить лучший материал для использования на основе свойств файла модели. Если вы хотите использовать пользовательский материал, вам придется пройтись по дереву и заменить стандартные связанные материалы своими.

Как следует из названия, Qt3DRender::QSceneLoader загружает полное поддерево сцены. Если вы хотите загрузить одну часть геометрии, вы должны использовать вместо этого Qt3DRender::QMesh.

Qt3DRender::QSceneLoader внутренне полагается на использование плагинов для поддержки широкого спектра 3D форматов файлов. Вот список форматов, поддерживаемых Qt3D.

Примечание: этот компонент не должен быть совместно использован среди нескольких экземпляров Qt3DCore::QEntity. Будет получено неопределённое поведение.

См. также Qt3DRender::QMesh и Qt3DRender::QGeometryRenderer.

Документация типов членов

перечисление QSceneLoader::ComponentType

Это перечисление указывает тип компонента.

Константа Значение Описание
Qt3DRender::QSceneLoader::UnknownComponent 0 Неизвестный тип компонента
Qt3DRender::QSceneLoader::GeometryRendererComponent 1 Qt3DRender::QGeometryRenderer компонент
Qt3DRender::QSceneLoader::TransformComponent 2 Qt3DCore::QTransform компонент
Qt3DRender::QSceneLoader::MaterialComponent 3 Qt3DRender::QMaterial компонент
Qt3DRender::QSceneLoader::LightComponent 4 Qt3DRender::QAbstractLight компонент
Qt3DRender::QSceneLoader::CameraLensComponent 5 Qt3DRender::QCameraLens компонент

перечисление QSceneLoader::Status

Это перечисление определяет состояние загрузки

Константа Значение Описание
Qt3DRender::QSceneLoader::None 0 Qt3DRender::QSceneLoader ещё не использовался.
Qt3DRender::QSceneLoader::Loading 1 Qt3DRender::QSceneLoader в настоящее время загружает файл сцены.
Qt3DRender::QSceneLoader::Ready 2 Qt3DRender::QSceneLoader успешно загрузил файл сцены.
Qt3DRender::QSceneLoader::Error 3 Qt3DRender::QSceneLoader столкнулся с ошибкой при загрузке файла сцены.

Документация свойств

source : QUrl

Содержит URL-адрес исходного файла для загрузки.

Функции доступа:

QUrl source() const
void setSource(const QUrl &arg)

Сигнал уведомления:

void sourceChanged(const QUrl &source)

status : const Status

Содержит состояние загрузки сцены.

  • SceneLoader.None
  • SceneLoader.Loading
  • SceneLoader.Ready
  • SceneLoader.Error

Функции доступа:

Qt3DRender::QSceneLoader::Status status() const

Сигнал уведомления:

void statusChanged(Qt3DRender::QSceneLoader::Status status)

См. также Qt3DRender::QSceneLoader::Status.

Документация функций-членов

QSceneLoader::QSceneLoader(Qt3DCore::QNode *parent = nullptr)

Конструктор создает экземпляр с указанным parent.

Qt3DCore::QComponent *QSceneLoader::component(const QString &entityName, Qt3DRender::QSceneLoader::ComponentType componentType) const

Возвращает компонент, соответствующий componentType загруженного объекта с именем объекта, соответствующим entityName. Если объект имеет несколько соответствующих компонентов, возвращается первый совпадающий компонент в списке компонентов объекта. Если совпадений нет, возвращается null-указатель.

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

[invokable] Qt3DCore::QEntity *QSceneLoader::entity(const QString &entityName) const

Возвращает загруженный объект с objectName соответствующим параметру entityName. Если несколько объектов имеют одинаковое имя, не определено, какой из них будет возвращен, но это всегда будет один и тот же.

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

[invokable] QStringList QSceneLoader::entityNames() const

Возвращает список objectNames загруженных объектов.

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

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

Spec-Zone.ru

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