[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13256] trunk/blender/source/blender/ python/api2_2x: Python API

Ken Hughes khughes at pacific.edu
Wed Jan 16 04:02:56 CET 2008


Revision: 13256
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13256
Author:   khughes
Date:     2008-01-16 04:02:54 +0100 (Wed, 16 Jan 2008)

Log Message:
-----------
Python API
----------
Added RenderData.activeLayer attribute, lets user access the active
rendering layer.  Also corrected description of RenderData.freeImages
attribute.

Note: doesn't seem like there is any support in the python API for accessing
the renderlayers settings....

Modified Paths:
--------------
    trunk/blender/source/blender/python/api2_2x/doc/Render.py
    trunk/blender/source/blender/python/api2_2x/sceneRender.c

Modified: trunk/blender/source/blender/python/api2_2x/doc/Render.py
===================================================================
--- trunk/blender/source/blender/python/api2_2x/doc/Render.py	2008-01-15 23:15:56 UTC (rev 13255)
+++ trunk/blender/source/blender/python/api2_2x/doc/Render.py	2008-01-16 03:02:54 UTC (rev 13256)
@@ -246,10 +246,12 @@
   @type extensions: boolean
   @ivar compositor: 'Do Compositor' enabled.
   @type compositor: boolean
-  @ivar freeImages: 'Do Compositor' enabled.
+  @ivar freeImages: Texture images are freed after render.
   @type freeImages: boolean
   @ivar singleLayer: Only render the active layer.
   @type singleLayer: boolean
+  @ivar activeLayer: The active render layer.  Must be in range[0,num render layers-1]
+  @type activeLayer: int
   @ivar saveBuffers: Save render buffers to disk while rendering, saves memory.
   @type saveBuffers: boolean
   @ivar compositeFree: Free nodes that are not used while composite.

Modified: trunk/blender/source/blender/python/api2_2x/sceneRender.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/sceneRender.c	2008-01-15 23:15:56 UTC (rev 13255)
+++ trunk/blender/source/blender/python/api2_2x/sceneRender.c	2008-01-16 03:02:54 UTC (rev 13256)
@@ -1,5 +1,5 @@
 /* 
- * $Id: sceneRender.c 12813 2007-12-07 09:51:02Z campbellbarton $
+ * $Id$
  *
  * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
  *
@@ -2357,6 +2357,32 @@
 	return 0;
 }
 
+PyObject *RenderData_getActiveLayer( BPy_RenderData * self )
+{
+	return PyInt_FromLong( (long) self->renderContext->actlay );
+}
+
+static int RenderData_setActiveLayer( BPy_RenderData *self, PyObject *value )
+{
+	int layer;
+	short nr;
+    SceneRenderLayer *srl;
+
+	if( !PyInt_Check( value ) )
+		return EXPP_ReturnIntError( PyExc_TypeError, "active layer must be an int" );
+
+	layer = PyInt_AsLong( value );
+    for(nr=0, srl= self->renderContext->layers.first; srl; srl= srl->next, nr++) {
+	}
+	if(layer >= nr)
+		return EXPP_ReturnIntError( PyExc_ValueError, "value larger than number of render layers" );
+
+	self->renderContext->actlay = layer;
+	EXPP_allqueue(REDRAWBUTSSCENE, 0);
+	EXPP_allqueue(REDRAWNODE, 0);
+	return 0;
+}
+
 /***************************************************************************/
 /* BPy_RenderData attribute def                                            */
 /***************************************************************************/
@@ -2600,6 +2626,11 @@
 	 "Scene link 'set' value",
 	 NULL},
 
+	{"activeLayer",
+	 (getter)RenderData_getActiveLayer, (setter)RenderData_setActiveLayer,
+	 "Active rendering layer",
+	 NULL},
+
 	{"yafrayGIMethod",
 	 (getter)RenderData_getYafrayGIMethod, (setter)RenderData_setYafrayGIMethod,
 	 "Global illumination method",





More information about the Bf-blender-cvs mailing list