QSceneLoader Class

class Qt3DRender::QSceneLoader

Provides the facility to load an existing Scene. More...

Header: #include <QSceneLoader>
qmake: QT += 3drender
Since: Qt 5.7
Instantiated By: SceneLoader
Inherits: Qt3DCore::QComponent

This class was introduced in Qt 5.7.

Public Types

enum ComponentType { UnknownComponent, GeometryRendererComponent, TransformComponent, MaterialComponent, LightComponent, CameraLensComponent }
enum Status { None, Loading, Ready, Error }

Properties

Public Functions

QUrl source() const
Qt3DRender::QSceneLoader::Status status() const

Public Slots

void setSource(const QUrl &arg)

Signals

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

Detailed Description

Given a 3D source file, the Qt3DRender::QSceneLoader will try to parse it and build a tree of Qt3DCore::QEntity objects with proper Qt3DRender::QGeometryRenderer, Qt3DCore::QTransform and Qt3DRender::QMaterial components.

The loader will try to determine the best material to be used based on the properties of the model file. If you wish to use a custom material, you will have to traverse the tree and replace the default associated materials with yours.

As the name implies, Qt3DRender::QSceneLoader loads a complete scene subtree. If you wish to load a single piece of geometry, you should rather use the Qt3DRender::QMesh instead.

Qt3DRender::QSceneLoader internally relies on the use of plugins to support a wide variety of 3D file formats. Here is a list of formats that are supported by Qt3D.

Note: this component shouldn't be shared among several Qt3DCore::QEntity instances. Undefined behavior will result.

See also Qt3DRender::QMesh and Qt3DRender::QGeometryRenderer.

Member Type Documentation

enum QSceneLoader::ComponentType

This enum specifies a component type.

ConstantValueDescription
Qt3DRender::QSceneLoader::UnknownComponent0Unknown component type
Qt3DRender::QSceneLoader::GeometryRendererComponent1Qt3DRender::QGeometryRenderer component
Qt3DRender::QSceneLoader::TransformComponent2Qt3DCore::QTransform component
Qt3DRender::QSceneLoader::MaterialComponent3Qt3DRender::QMaterial component
Qt3DRender::QSceneLoader::LightComponent4Qt3DRender::QAbstractLight component
Qt3DRender::QSceneLoader::CameraLensComponent5Qt3DRender::QCameraLens component

enum QSceneLoader::Status

This enum identifies the state of loading

ConstantValueDescription
Qt3DRender::QSceneLoader::None0The Qt3DRender::QSceneLoader hasn't been used yet.
Qt3DRender::QSceneLoader::Loading1The Qt3DRender::QSceneLoader is currently loading the scene file.
Qt3DRender::QSceneLoader::Ready2The Qt3DRender::QSceneLoader successfully loaded the scene file.
Qt3DRender::QSceneLoader::Error3The Qt3DRender::QSceneLoader encountered an error while loading the scene file.

Property Documentation

source : QUrl

Holds the url to the source to be loaded.

Access functions:

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

Notifier signal:

void sourceChanged(const QUrl &source)

status : const Status

Holds the status of scene loading.

Access functions:

Qt3DRender::QSceneLoader::Status status() const

Notifier signal:

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

See also Qt3DRender::QSceneLoader::Status.