forked from bartvdbraak/blender
Added group.layers bitfield to the python API
This commit is contained in:
parent
1a36a9080c
commit
97d306e68f
@ -253,6 +253,43 @@ static PyObject *Group_getUsers( BPy_Group * self )
|
|||||||
return PyInt_FromLong( self->group->id.us );
|
return PyInt_FromLong( self->group->id.us );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* Python BPy_Group methods: */
|
||||||
|
/*****************************************************************************/
|
||||||
|
static int Group_setLayers( BPy_Group * self, PyObject * value )
|
||||||
|
{
|
||||||
|
unsigned int laymask = 0;
|
||||||
|
|
||||||
|
GROUP_DEL_CHECK_INT(self);
|
||||||
|
|
||||||
|
if( !PyInt_CheckExact( value ) )
|
||||||
|
return EXPP_ReturnIntError( PyExc_TypeError,
|
||||||
|
"expected an integer (bitmask) as argument" );
|
||||||
|
|
||||||
|
laymask = ( unsigned int )PyInt_AS_LONG( value );
|
||||||
|
|
||||||
|
if( laymask <= 0 )
|
||||||
|
return EXPP_ReturnIntError( PyExc_ValueError,
|
||||||
|
"layer value cannot be zero or below" );
|
||||||
|
|
||||||
|
self->group->layer= laymask & ((1<<20) - 1);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject *Group_getLayers( BPy_Group * self )
|
||||||
|
{
|
||||||
|
return PyInt_FromLong( self->group->layer );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* Python attributes get/set structure: */
|
/* Python attributes get/set structure: */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
@ -265,6 +302,10 @@ static PyGetSetDef BPy_Group_getseters[] = {
|
|||||||
(getter)Group_getUsers, (setter)NULL,
|
(getter)Group_getUsers, (setter)NULL,
|
||||||
"Number of group users",
|
"Number of group users",
|
||||||
NULL},
|
NULL},
|
||||||
|
{"layers",
|
||||||
|
(getter)Group_getLayers, (setter)Group_setLayers,
|
||||||
|
"Number of group users",
|
||||||
|
NULL},
|
||||||
{"objects",
|
{"objects",
|
||||||
(getter)Group_getObjects, (setter)Group_setObjects,
|
(getter)Group_getObjects, (setter)Group_setObjects,
|
||||||
"objects in this group",
|
"objects in this group",
|
||||||
@ -728,7 +769,6 @@ static PyObject *GroupObSeq_add( BPy_GroupObSeq * self, PyObject *args )
|
|||||||
{
|
{
|
||||||
PyObject *pyobj;
|
PyObject *pyobj;
|
||||||
Object *blen_ob;
|
Object *blen_ob;
|
||||||
Base *base= NULL;
|
|
||||||
|
|
||||||
GROUP_DEL_CHECK_PY(self->bpygroup);
|
GROUP_DEL_CHECK_PY(self->bpygroup);
|
||||||
|
|
||||||
|
@ -92,6 +92,7 @@ class Group:
|
|||||||
This object gives access to Groups in Blender.
|
This object gives access to Groups in Blender.
|
||||||
@ivar name: The name of this Group object.
|
@ivar name: The name of this Group object.
|
||||||
@ivar users: Number of users this group has (read only)
|
@ivar users: Number of users this group has (read only)
|
||||||
|
@ivar layers: Layer mask for this group.
|
||||||
@ivar objects: Objects that this group uses.
|
@ivar objects: Objects that this group uses.
|
||||||
This is an iterator with list like access so use list(gp.objects) if you need to use a list. (where gp is a group object).
|
This is an iterator with list like access so use list(gp.objects) if you need to use a list. (where gp is a group object).
|
||||||
The groups objects can be set by assigning a list or iterator of objects to the groups objects.
|
The groups objects can be set by assigning a list or iterator of objects to the groups objects.
|
||||||
|
Loading…
Reference in New Issue
Block a user