IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

QSceneLoader Class

Provides the facility to load an existing Scene.

This class was introduced in Qt 5.7.

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

QSceneLoader Class

  • Header: QSceneLoader

  • Since: Qt 5.7

  • CMake:

    find_package(Qt6 REQUIRED COMPONENTS 3drender)

    target_link_libraries(mytarget PRIVATE Qt6::3drender)

  • qmake: QT += 3drender

  • Inherited By:

  • Instantiated By: qml-qt3d-render-sceneloader.xml

  • Inherits: Qt3DCore::QComponent

  • Group: QSceneLoader is part of io

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.

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

See Also

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:

  • source() const

  • void setSource(const &arg)

Notifier signal:

  • void sourceChanged(const &source)

[read-only] status : const Status

Holds the status of scene loading.

Access functions:

  • status() const

Notifier signal:

  • void statusChanged( status)

See Also

Member Function Documentation

 

[explicit] QSceneLoader::QSceneLoader(Qt3DCore::QNode *parent = nullptr)

The constructor creates an instance with the specified parent.

Qt3DCore::QComponent *QSceneLoader::component(const QString &entityName, Qt3DRender::QSceneLoader::ComponentType componentType) const

Returns a component matching componentType of a loaded entity with an objectName matching the entityName. If the entity has multiple matching components, the first match in the component list of the entity is returned. If there is no match, a null pointer is returned.

Qt3DCore::QEntity *QSceneLoader::entity(const QString &entityName) const

Returns a loaded entity with an objectName matching the entityName parameter. If multiple entities have the same name, it is undefined which one of them is returned, but it will always be the same one.

QStringList QSceneLoader::entityNames() const

Returns a list of the objectNames of the loaded entities.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+