some bugs with previous renderlayer api
This commit is contained in:
@@ -1776,7 +1776,7 @@ PyObject *RenderData_getRenderLayers(BPy_RenderData * self)
|
|||||||
list = PyList_New(0);
|
list = PyList_New(0);
|
||||||
|
|
||||||
for(srl= self->renderContext->layers.first; srl; srl= srl->next) {
|
for(srl= self->renderContext->layers.first; srl; srl= srl->next) {
|
||||||
layer = RenderLayer_CreatePyObject( srl );
|
layer = RenderLayer_CreatePyObject( self->scene, srl );
|
||||||
PyList_Append(list, layer);
|
PyList_Append(list, layer);
|
||||||
Py_DECREF(layer);
|
Py_DECREF(layer);
|
||||||
}
|
}
|
||||||
@@ -1821,7 +1821,7 @@ PyObject *RenderData_removeRenderLayer(BPy_RenderData * self, BPy_RenderLayer *v
|
|||||||
|
|
||||||
PyObject *RenderData_addRenderLayer(BPy_RenderData * self ) {
|
PyObject *RenderData_addRenderLayer(BPy_RenderData * self ) {
|
||||||
scene_add_render_layer(self->scene);
|
scene_add_render_layer(self->scene);
|
||||||
return RenderLayer_CreatePyObject( self->renderContext->layers.last );
|
return RenderLayer_CreatePyObject( self->scene, self->renderContext->layers.last );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3209,9 +3209,9 @@ static int RenderLayer_setLayers( BPy_RenderLayer * self, PyObject * value, void
|
|||||||
|
|
||||||
laymask = ( unsigned int )PyInt_AS_LONG( value );
|
laymask = ( unsigned int )PyInt_AS_LONG( value );
|
||||||
|
|
||||||
if( laymask <= 0 )
|
if((laymask < 0) || (!zlay && laymask == 0))
|
||||||
return EXPP_ReturnIntError( PyExc_ValueError,
|
return EXPP_ReturnIntError( PyExc_ValueError,
|
||||||
"layer value cannot be zero or below" );
|
"layer value too low" );
|
||||||
|
|
||||||
if (zlay) {
|
if (zlay) {
|
||||||
self->renderLayer->lay_zmask= laymask & ((1<<20) - 1);
|
self->renderLayer->lay_zmask= laymask & ((1<<20) - 1);
|
||||||
@@ -3569,7 +3569,7 @@ PyTypeObject RenderLayer_Type = {
|
|||||||
/* BPy_RenderData Callbacks */
|
/* BPy_RenderData Callbacks */
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
|
|
||||||
PyObject *RenderLayer_CreatePyObject( struct SceneRenderLayer * renderLayer )
|
PyObject *RenderLayer_CreatePyObject( struct Scene * scene, struct SceneRenderLayer * renderLayer )
|
||||||
{
|
{
|
||||||
BPy_RenderLayer *py_renderlayer;
|
BPy_RenderLayer *py_renderlayer;
|
||||||
|
|
||||||
@@ -3581,6 +3581,7 @@ PyObject *RenderLayer_CreatePyObject( struct SceneRenderLayer * renderLayer )
|
|||||||
return ( NULL );
|
return ( NULL );
|
||||||
}
|
}
|
||||||
py_renderlayer->renderLayer = renderLayer;
|
py_renderlayer->renderLayer = renderLayer;
|
||||||
|
py_renderlayer->scene = scene;
|
||||||
|
|
||||||
return ( ( PyObject * ) py_renderlayer );
|
return ( ( PyObject * ) py_renderlayer );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,5 +58,5 @@ typedef struct {
|
|||||||
PyObject *Render_Init( void );
|
PyObject *Render_Init( void );
|
||||||
|
|
||||||
PyObject *RenderData_CreatePyObject( struct Scene *scene );
|
PyObject *RenderData_CreatePyObject( struct Scene *scene );
|
||||||
PyObject *RenderLayer_CreatePyObject( struct SceneRenderLayer * renderLayer );
|
PyObject *RenderLayer_CreatePyObject( struct Scene *scene, struct SceneRenderLayer * renderLayer );
|
||||||
#endif /* EXPP_SCENERENDER_H */
|
#endif /* EXPP_SCENERENDER_H */
|
||||||
|
|||||||
Reference in New Issue
Block a user