Spec-Zone.ru › Qt

Класс 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.2/qt3drender-qsceneloader.html

Spec-Zone.ru

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