QSceneLoader Class
class Qt3DRender::QSceneLoaderProvides 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
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.
| Constant | Value | Description |
|---|---|---|
Qt3DRender::QSceneLoader::UnknownComponent | 0 | Unknown component type |
Qt3DRender::QSceneLoader::GeometryRendererComponent | 1 | Qt3DRender::QGeometryRenderer component |
Qt3DRender::QSceneLoader::TransformComponent | 2 | Qt3DCore::QTransform component |
Qt3DRender::QSceneLoader::MaterialComponent | 3 | Qt3DRender::QMaterial component |
Qt3DRender::QSceneLoader::LightComponent | 4 | Qt3DRender::QAbstractLight component |
Qt3DRender::QSceneLoader::CameraLensComponent | 5 | Qt3DRender::QCameraLens component |
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:
| Qt3DRender::QSceneLoader::Status | status() const |
Notifier signal:
| void | statusChanged(Qt3DRender::QSceneLoader::Status status) |
See also Qt3DRender::QSceneLoader::Status.