From 589ce4a005ce16c5a628cd51819e20623a23c891 Mon Sep 17 00:00:00 2001 From: Willian Padovani Germano Date: Thu, 21 Apr 2005 19:44:52 +0000 Subject: BPython: - based on a request by Campbell (he also provided a patch for scene.Layer) access to layers was improved a little, keeping the old method (ob.Layers is a bitmask) and adding the nicer one (ob.layers is a list of ints). Done for objects and scenes. House-cleaning: .Layer was renamed to .Layers (actually just using strncmp instead of strcmp, so both work, same done for Window.ViewLayers). - finally committing patch by Ken Hughes to let .clearScriptLinks() accept a parameter (list of strings) to clear only specified texts. - doc updates and fixes (JMS reported a problem in nmesh.transform() example code). Thanks all who contributed. --- source/blender/python/api2_2x/doc/Scene.py | 59 +++++++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 5 deletions(-) (limited to 'source/blender/python/api2_2x/doc/Scene.py') diff --git a/source/blender/python/api2_2x/doc/Scene.py b/source/blender/python/api2_2x/doc/Scene.py index 692aea93f7d..815084b72e9 100644 --- a/source/blender/python/api2_2x/doc/Scene.py +++ b/source/blender/python/api2_2x/doc/Scene.py @@ -3,7 +3,10 @@ """ The Blender.Scene submodule. -B{New}: OnSave script link event: L{Scene.getScriptLinks}. +B{New}: + - L{Scene.clearScriptLinks} accepts a parameter now. + - L{Scene.getLayers}, L{Scene.setLayers} and the L{layers} and + L{Layers} Scene attributes. Scene ===== @@ -75,7 +78,28 @@ class Scene: The Scene object ================ This object gives access to Scene data in Blender. + @type name: string @cvar name: The Scene name. + @type Layers: integer (bitmask) + @cvar Layers: The Scene layers (check also the easier to use + L{layers}). This value is a bitmask with at least + one position set for the 20 possible layers starting from the low order + bit. The easiest way to deal with these values in in hexadecimal + notation. + Example:: + scene.Layers = 0x04 # sets layer 3 ( bit pattern 0100 ) + scene.Layers |= 0x01 + print scene.Layers # will print: 5 ( meaning bit pattern 0101) + After setting the Layers value, the interface (at least the 3d View and + the Buttons window) needs to be redrawn to show the changes. + @type layers: list of integers + @cvar layers: The Scene layers (check also L{Layers}). + This attribute accepts and returns a list of integer values in the + range [1, 20]. + Example:: + scene.layers = [3] # set layer 3 + scene.layers = scene.layers.append(1) + print scene.layers # will print: [1, 3] """ def getName(): @@ -91,6 +115,25 @@ class Scene: @param name: The new name. """ + def getLayers(): + """ + Get the layers set for this Scene. + @rtype: list of integers + @return: a list where each number means the layer with that number is + set. + """ + + def setLayers(layers): + """ + Set the visible layers for this scene. + @type layers: list of integers + @param layers: a list of integers in the range [1, 20], where each available + index makes the layer with that number visible. + @note: if this Scene is the current one, the 3D View layers are also + updated, but the screen needs to be redrawn (at least 3D Views and + Buttons windows) for the changes to be seen. + """ + def copy(duplicate_objects = 1): """ Make a copy of this Scene. @@ -139,6 +182,11 @@ class Scene: Get all objects linked to this Scene. @rtype: list of Blender Objects @return: A list with all Blender Objects linked to this Scene. + @note: L{Object.Get} will return all objects currently in Blender, which + means all objects from all available scenes. In most cases (exporter + scripts, for example), it's probably better to use this + scene.GetChildren instead, since it will only access objects from this + particular scene. """ def getCurrentCamera(): @@ -179,11 +227,12 @@ class Scene: 'event' type) or None if there are no script links at all. """ - def clearScriptLinks (): + def clearScriptLinks (links = None): """ - Delete all this Scene's script links. - @rtype: bool - @return: 0 if some internal problem occurred or 1 if successful. + Delete script links from this Scene. If no list is specified, all + script links are deleted. + @type links: list of strings + @param links: None (default) or a list of Blender L{Text} names. """ def addScriptLink (text, event): -- cgit v1.2.3