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....
This commit is contained in:
Ken Hughes
2008-01-16 03:02:54 +00:00
parent d75a940828
commit f41c3340be
2 changed files with 35 additions and 2 deletions

View File

@@ -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.

View File

@@ -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",