5.6. scene — Storing 3D data
The Scene class is a container for anything that should also be visible
to other objects. The “visible” part of the scene is called the world which is
what gets rendered on screen (everything that has a coordinate system is part of
the world). However, the scene can also contain objects that are not part of the
world. For example, the global timer or any other object that is used somehow
but has no direct visible representation.
You can retrieve the global scene object by calling the function
getScene().
-
cgkit.scene.getScene()
- Returns the global scene object.
If a script is invoked via a tool such as the viewer or render tool, the
variable scene is automatically initialized with the global scene object. To
inspect what objects the scene currently contains, you can just iterate over a
scene:
>>> for item in scene: print item
...
<cgkit.timer.Timer object at 0x0907FEA0>
<cgkit.worldobject.WorldObject object at 0x0907FE70>
This is what an empty scene looks like. The two scene items you see here are the
globel timer and the root object of the world. These objects are automatically
created by the scene.
-
class cgkit.scene.Scene
-
Scene.handedness
- Specifies if the scene uses a left-handed or right-handed coordinate system. The
value is a string that is either be 'l' or 'r'. The default is right
handed.
-
Scene.up
- Specifies the direction that is considered to be the “up” direction. The value
must be a vec3. The default is (0,0,1) (z axis).
-
Scene.unit
-
Scene.unit_scale
-
Scene.worldRoot()
- Return the root world object.
-
Scene.walkWorld(root=None)
- Walk the world tree and yield each object. This method can be used to iterator
over the entire world tree or a subtree thereof. The argument root specifies
the root of the tree which is to traverse (the root itself will not be
returned).
-
Scene.timer()
- Return the global Timer object.
-
Scene.clear()
- Clear the entire scene.
-
Scene.insert(item)
- Insert an item into the scene.
-
Scene.item(name)
- Return the item with the specified name.
-
Scene.worldObject(name)
- Return the world object with the specified name. You can use the character
'|' as a path separator.
-
Scene.boundingBox()
- Return the bounding box of the entire scene.
-
Scene.setJoystick(joystick)
- Set a joystick object.
-
Scene.getJoystick(id)
- Get a Joystick object. A dummy joystick object is
returned if there is no joystick with the specified id.
-
Scene.hasGlobal(name)
- Return True if a global option with name name exists.
-
Scene.getGlobal(name, default=None)
- Get the global option with the given name. default is returned if the option
does not exist. The options can be set using the Globals class or the
setGlobal() method.
-
Scene.setGlobal(name, value)
- Set the global option name to value.