/* rotation order */ static PyObject *Euler_getOrder(EulerObject *self, void *UNUSED(closure)) { if(!BaseMath_ReadCallback(self)) /* can read order too */ return NULL; return PyUnicode_FromString(euler_order_str(self)); }
static PyObject *Euler_repr(EulerObject * self) { PyObject *ret, *tuple; if(!BaseMath_ReadCallback(self)) return NULL; tuple= Euler_ToTupleExt(self, -1); ret= PyUnicode_FromFormat("Euler(%R, '%s')", tuple, euler_order_str(self)); Py_DECREF(tuple); return ret; }
static PyObject *Euler_str(EulerObject *self) { DynStr *ds; if (BaseMath_ReadCallback(self) == -1) return NULL; ds = BLI_dynstr_new(); BLI_dynstr_appendf(ds, "<Euler (x=%.4f, y=%.4f, z=%.4f), order='%s'>", self->eul[0], self->eul[1], self->eul[2], euler_order_str(self)); return mathutils_dynstr_to_py(ds); /* frees ds */ }