Qt 5.7 | Qt 3D | C++ Classes | QSceneLoader

Qt 5.7.1 Reference Documentation

# QSceneLoader 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

- List of all members, including inherited members

## Public Types

enum | Status { None, Loading, Ready, Error }

## Properties

- source : QUrl
- status : const Status

- 1 property inherited from Qt3DCore::QComponent
- 2 properties inherited from Qt3DCore::QNode

## Public Functions

| QSceneLoader(Qt3DCore::QNode *parent = nullptr)
QUrl | source() const
Status | status() const

- 2 public functions inherited from Qt3DCore::QComponent
- 6 public functions inherited from Qt3DCore::QNode

## Public Slots

void | setSource(const QUrl &arg)

- 1 public slot inherited from Qt3DCore::QComponent
- 2 public slots inherited from Qt3DCore::QNode

## Signals

void | sourceChanged(const QUrl &source)
void | statusChanged(Status status)

- 1 signal inherited from Qt3DCore::QComponent
- 3 signals inherited from Qt3DCore::QNode

## Protected Functions

| QSceneLoader(QSceneLoaderPrivate &dd, Qt3DCore::QNode *parent = nullptr)

- 2 protected functions inherited from Qt3DCore::QNode

## Detailed Description

Provides the facility to load an existing Scene

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::Status

This enum identifies the state of loading

Constant | Value | Description
--- | --- | ---
`Qt3DRender::QSceneLoader::None` | `0` | The Qt3DRender::QSceneLoader hasn't been used yet.
`Qt3DRender::QSceneLoader::Loading` | `1` | The Qt3DRender::QSceneLoader is currently loading the scene file.
`Qt3DRender::QSceneLoader::Ready` | `2` | The Qt3DRender::QSceneLoader successfully loaded the scene file.
`Qt3DRender::QSceneLoader::Error` | `3` | The 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.

- SceneLoader.None
- SceneLoader.Loading
- SceneLoader.Ready
- SceneLoader.Error

Access functions:

Status | status() const

Notifier signal:

void | statusChanged(Status status)

See also Qt3DRender::QSceneLoader::Status.

## Member Function Documentation

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

Default constructs an instance of QSceneLoader.

### `[protected]` QSceneLoader::QSceneLoader(QSceneLoaderPrivate &dd, Qt3DCore::QNode *parent = nullptr)

Copy constructor.