diff options
author | Ken Hughes <khughes@pacific.edu> | 2008-01-16 06:02:54 +0300 |
---|---|---|
committer | Ken Hughes <khughes@pacific.edu> | 2008-01-16 06:02:54 +0300 |
commit | f41c3340be9fbd5126a09a514f48cf88af2ec951 (patch) | |
tree | 279b5bce809211f10aafee9bbe7762b32ba074c3 /source/blender/python | |
parent | d75a940828214958a9f9070b0acc91f1670b2a68 (diff) |
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....
Diffstat (limited to 'source/blender/python')
-rw-r--r-- | source/blender/python/api2_2x/doc/Render.py | 4 | ||||
-rw-r--r-- | source/blender/python/api2_2x/sceneRender.c | 33 |
2 files changed, 35 insertions, 2 deletions
diff --git a/source/blender/python/api2_2x/doc/Render.py b/source/blender/python/api2_2x/doc/Render.py index d75e07de8e3..7ab3d7b90a9 100644 --- a/source/blender/python/api2_2x/doc/Render.py +++ b/source/blender/python/api2_2x/doc/Render.py @@ -246,10 +246,12 @@ class RenderData: @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. diff --git a/source/blender/python/api2_2x/sceneRender.c b/source/blender/python/api2_2x/sceneRender.c index a160db1ad22..66e2563f1e1 100644 --- a/source/blender/python/api2_2x/sceneRender.c +++ b/source/blender/python/api2_2x/sceneRender.c @@ -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 @@ static int RenderData_setThreads( BPy_RenderData *self, PyObject *value ) 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 @@ static PyGetSetDef BPy_RenderData_getseters[] = { "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", |