py/rna, euler objects order is now wrapped correctly...

eg:
 eul = bpy.context.object.rotation_euler
 eul.order = 'XZY' # will update the objects setting.
This commit is contained in:
2010-04-26 21:04:42 +00:00
parent 523b95898b
commit 6bb55fd93e
8 changed files with 97 additions and 67 deletions

View File

@@ -587,7 +587,11 @@ static int Euler_setAxis( EulerObject * self, PyObject * value, void * type )
/* rotation order */
static PyObject *Euler_getOrder(EulerObject *self, void *type)
{
static char order[][4] = {"XYZ", "XZY", "YXZ", "YZX", "ZXY", "ZYX"};
const char order[][4] = {"XYZ", "XZY", "YXZ", "YZX", "ZXY", "ZYX"};
if(!BaseMath_ReadCallback(self)) /* can read order too */
return NULL;
return PyUnicode_FromString(order[self->order-EULER_ORDER_XYZ]);
}
@@ -599,12 +603,8 @@ static int Euler_setOrder( EulerObject * self, PyObject * value, void * type )
if(order == -1)
return -1;
if(self->cb_user) {
PyErr_SetString(PyExc_TypeError, "euler.order: assignment is not allowed on eulers with an owner");
return -1;
}
self->order= order;
BaseMath_WriteCallback(self); /* order can be written back */
return 0;
}