- class QSceneLoader#
Provides the facility to load an existing Scene. More…
Synopsis#
Properties#
Methods#
def
__init__()
def
component()
def
entity()
def
entityNames()
def
source()
def
status()
Slots#
def
setSource()
Signals#
def
sourceChanged()
def
statusChanged()
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
Detailed Description#
Given a 3D source file, the
QSceneLoader
will try to parse it and build a tree ofQEntity
objects with properQGeometryRenderer
,QTransform
andQMaterial
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,
QSceneLoader
loads a complete scene subtree. If you wish to load a single piece of geometry, you should rather use theQMesh
instead.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
QEntity
instances. Undefined behavior will result.See also
QMesh
QGeometryRenderer
- class Status#
This enum identifies the state of loading
Constant
Description
Qt3DRender.QSceneLoader.None
The
QSceneLoader
hasn’t been used yet.Qt3DRender.QSceneLoader.Loading
The
QSceneLoader
is currently loading the scene file.Qt3DRender.QSceneLoader.Ready
The
QSceneLoader
successfully loaded the scene file.Qt3DRender.QSceneLoader.Error
The
QSceneLoader
encountered an error while loading the scene file.
- class ComponentType#
This enum specifies a component type.
Constant
Description
Qt3DRender.QSceneLoader.UnknownComponent
Unknown component type
Qt3DRender.QSceneLoader.GeometryRendererComponent
QGeometryRenderer
componentQt3DRender.QSceneLoader.TransformComponent
QTransform
componentQt3DRender.QSceneLoader.MaterialComponent
QMaterial
componentQt3DRender.QSceneLoader.LightComponent
QAbstractLight
componentQt3DRender.QSceneLoader.CameraLensComponent
QCameraLens
component
Note
Properties can be used directly when
from __feature__ import true_property
is used or via accessor functions otherwise.Holds the url to the source to be loaded.
- Access functions:
Signal
sourceChanged()
- property statusᅟ: Qt3DRender.QSceneLoader.Status#
Holds the status of scene loading.
SceneLoader .None
SceneLoader .Loading
SceneLoader .Ready
SceneLoader .Error
See also
Status
- Access functions:
Signal
statusChanged()
- __init__([parent=None])#
- Parameters:
parent –
QNode
The constructor creates an instance with the specified
parent
.- component(entityName, componentType)#
- Parameters:
entityName – str
componentType –
ComponentType
- Return type:
QComponent
Returns a component matching
componentType
of a loaded entity with an objectName matching theentityName
. 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.- entity(entityName)#
- Parameters:
entityName – str
- Return type:
QEntity
Returns a loaded entity with an
objectName
matching theentityName
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.- entityNames()#
- Return type:
list of strings
Returns a list of the
objectNames
of the loaded entities.Setter of property
sourceᅟ
.Getter of property
sourceᅟ
.Notification signal of property
sourceᅟ
.- status()#
- Return type:
Status
Getter of property
statusᅟ
.- statusChanged(status)#
- Parameters:
status –
Status
Notification signal of property
statusᅟ
.