Uranium
Application Framework
Loading...
Searching...
No Matches
UM.Scene.Scene.Scene Class Reference

Public Member Functions

None __init__ (self)
 
None setMetaDataEntry (self, str key, Any entry)
 
 clearMetaData (self)
 
 getMetaData (self)
 
None setIgnoreSceneChanges (self, bool ignore_scene_changes)
 
SceneNode getRoot (self)
 
None setRoot (self, SceneNode node)
 
Optional[CameragetActiveCamera (self)
 
List[CameragetAllCameras (self)
 
None setActiveCamera (self, str name)
 
Optional[SceneNodefindObject (self, int object_id)
 
Optional[CamerafindCamera (self, str name)
 
None addWatchedFile (self, str file_path)
 
None removeWatchedFile (self, str file_path)
 

Static Public Attributes

 rootChanged = Signal()
 
 sceneChanged = Signal()
 

Protected Member Functions

None _connectSignalsRoot (self)
 
None _disconnectSignalsRoot (self)
 
None _onFileChanged (self, str file_path)
 
None _reloadNodes (self, List["SceneNode"] nodes, str message, str action)
 
None _reloadJobFinished (self, SceneNode replaced_node, ReadMeshJob job)
 

Protected Attributes

 _root = SceneNode(name = "Root")
 
Optional[Camera_active_camera = None
 
bool _ignore_scene_changes = False
 
 _lock = threading.Lock()
 
 _file_watcher = QFileSystemWatcher()
 
 _onFileChanged
 
Optional[Message_reload_message = None
 
Set[Callable] _callbacks = set()
 
dict _metadata = {}
 
 _reload_callback = functools.partial(self._reloadNodes, modified_nodes)
 

Detailed Description

Container object for the scene graph

The main purpose of this class is to provide the root SceneNode.

Member Function Documentation

◆ _onFileChanged()

None UM.Scene.Scene.Scene._onFileChanged ( self,
str file_path )
protected
Triggered whenever a file is changed that we currently have loaded.

◆ _reloadJobFinished()

None UM.Scene.Scene.Scene._reloadJobFinished ( self,
SceneNode replaced_node,
ReadMeshJob job )
protected
Triggered when reloading has finished.

This then puts the resulting mesh data in the node.

◆ _reloadNodes()

None UM.Scene.Scene.Scene._reloadNodes ( self,
List["SceneNode"] nodes,
str message,
str action )
protected
Reloads a list of nodes after the user pressed the "Reload" button.

:param nodes: The list of nodes that needs to be reloaded.
:param message: The message that triggered the action to reload them.
:param action: The button that triggered the action to reload them.

◆ addWatchedFile()

None UM.Scene.Scene.Scene.addWatchedFile ( self,
str file_path )
Add a file to be watched for changes.

:param file_path: The path to the file that must be watched.

◆ findObject()

Optional[SceneNode] UM.Scene.Scene.Scene.findObject ( self,
int object_id )
Find an object by id.

:param object_id: The id of the object to search for, as returned by the python id() method.

:return: The object if found, or None if not.

◆ getActiveCamera()

Optional[Camera] UM.Scene.Scene.Scene.getActiveCamera ( self)
Get the camera that should be used for rendering.

◆ getRoot()

SceneNode UM.Scene.Scene.Scene.getRoot ( self)
Get the root node of the scene.

◆ removeWatchedFile()

None UM.Scene.Scene.Scene.removeWatchedFile ( self,
str file_path )
Remove a file so that it will no longer be watched for changes.

:param file_path: The path to the file that must no longer be watched.

◆ setActiveCamera()

None UM.Scene.Scene.Scene.setActiveCamera ( self,
str name )
Set the camera that should be used for rendering.

:param name: The name of the camera to use.

◆ setRoot()

None UM.Scene.Scene.Scene.setRoot ( self,
SceneNode node )
Change the root node of the scene

The documentation for this class was generated from the following file: