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 |
Public Types
enum | Status { None, Loading, Ready, Error } |
Properties
- 1 property inherited from Qt3DCore::QComponent
- 2 properties inherited from Qt3DCore::QNode
- 1 property inherited from QObject
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
- 31 public functions inherited from QObject
Public Slots
void | setSource(const QUrl &arg) |
- 1 public slot inherited from Qt3DCore::QComponent
- 2 public slots inherited from Qt3DCore::QNode
- 1 public slot inherited from QObject
Signals
void | sourceChanged(const QUrl &source) |
void | statusChanged(Status status) |
- 1 signal inherited from Qt3DCore::QComponent
- 3 signals inherited from Qt3DCore::QNode
- 2 signals inherited from QObject
Protected Functions
QSceneLoader(QSceneLoaderPrivate &dd, Qt3DCore::QNode *parent = nullptr) |
- 2 protected functions inherited from Qt3DCore::QNode
- 9 protected functions inherited from QObject
Additional Inherited Members
- 1 public variable inherited from QObject
- 10 static public members inherited from QObject
- 2 protected variables inherited from QObject
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.