minor mathutils code cleanup - use mathutils callbacks as unsigned chars everywhere.
This commit is contained in:
@@ -284,18 +284,21 @@ PyObject *mathutils_dynstr_to_py(struct DynStr *ds)
|
||||
/* Mathutils Callbacks */
|
||||
|
||||
/* for mathutils internal use only, eventually should re-alloc but to start with we only have a few users */
|
||||
static Mathutils_Callback *mathutils_callbacks[8] = {NULL};
|
||||
#define MATHUTILS_TOT_CB 8
|
||||
static Mathutils_Callback *mathutils_callbacks[MATHUTILS_TOT_CB] = {NULL};
|
||||
|
||||
int Mathutils_RegisterCallback(Mathutils_Callback *cb)
|
||||
unsigned char Mathutils_RegisterCallback(Mathutils_Callback *cb)
|
||||
{
|
||||
int i;
|
||||
unsigned char i;
|
||||
|
||||
/* find the first free slot */
|
||||
for (i = 0; mathutils_callbacks[i]; i++) {
|
||||
if (mathutils_callbacks[i] == cb) /* already registered? */
|
||||
return i;
|
||||
}
|
||||
|
||||
|
||||
BLI_assert(i < MATHUTILS_TOT_CB);
|
||||
|
||||
mathutils_callbacks[i] = cb;
|
||||
return i;
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ struct Mathutils_Callback {
|
||||
BaseMathSetIndexFunc set_index;
|
||||
};
|
||||
|
||||
int Mathutils_RegisterCallback(Mathutils_Callback *cb);
|
||||
unsigned char Mathutils_RegisterCallback(Mathutils_Callback *cb);
|
||||
|
||||
int _BaseMathObject_ReadCallback(BaseMathObject *self);
|
||||
int _BaseMathObject_WriteCallback(BaseMathObject *self);
|
||||
|
||||
@@ -78,7 +78,7 @@ static int matrix_col_vector_check(MatrixObject *mat, VectorObject *vec, int col
|
||||
* matrix row callbacks
|
||||
* this is so you can do matrix[i][j] = val OR matrix.row[i][j] = val */
|
||||
|
||||
int mathutils_matrix_row_cb_index = -1;
|
||||
unsigned char mathutils_matrix_row_cb_index = -1;
|
||||
|
||||
static int mathutils_matrix_row_check(BaseMathObject *bmo)
|
||||
{
|
||||
@@ -162,7 +162,7 @@ Mathutils_Callback mathutils_matrix_row_cb = {
|
||||
* matrix row callbacks
|
||||
* this is so you can do matrix.col[i][j] = val */
|
||||
|
||||
int mathutils_matrix_col_cb_index = -1;
|
||||
unsigned char mathutils_matrix_col_cb_index = -1;
|
||||
|
||||
static int mathutils_matrix_col_check(BaseMathObject *bmo)
|
||||
{
|
||||
@@ -255,7 +255,7 @@ Mathutils_Callback mathutils_matrix_col_cb = {
|
||||
* this is so you can do matrix.translation = val
|
||||
* note, this is _exactly like matrix.col except the 4th component is always omitted */
|
||||
|
||||
int mathutils_matrix_translation_cb_index = -1;
|
||||
unsigned char mathutils_matrix_translation_cb_index = -1;
|
||||
|
||||
static int mathutils_matrix_translation_check(BaseMathObject *bmo)
|
||||
{
|
||||
|
||||
@@ -73,9 +73,9 @@ PyObject *Matrix_CreatePyObject_cb(PyObject *user,
|
||||
const unsigned short num_col, const unsigned short num_row,
|
||||
int cb_type, int cb_subtype);
|
||||
|
||||
extern int mathutils_matrix_row_cb_index; /* default */
|
||||
extern int mathutils_matrix_col_cb_index;
|
||||
extern int mathutils_matrix_translation_cb_index;
|
||||
extern unsigned char mathutils_matrix_row_cb_index; /* default */
|
||||
extern unsigned char mathutils_matrix_col_cb_index;
|
||||
extern unsigned char mathutils_matrix_translation_cb_index;
|
||||
|
||||
extern struct Mathutils_Callback mathutils_matrix_row_cb; /* default */
|
||||
extern struct Mathutils_Callback mathutils_matrix_col_cb;
|
||||
|
||||
@@ -2913,15 +2913,15 @@ PyObject *Vector_CreatePyObject(float *vec, const int size, const int type, PyTy
|
||||
return (PyObject *) self;
|
||||
}
|
||||
|
||||
PyObject *Vector_CreatePyObject_cb(PyObject *cb_user, int size, int cb_type, int cb_subtype)
|
||||
PyObject *Vector_CreatePyObject_cb(PyObject *cb_user, int size, unsigned char cb_type, unsigned char cb_subtype)
|
||||
{
|
||||
float dummy[4] = {0.0, 0.0, 0.0, 0.0}; /* dummy init vector, callbacks will be used on access */
|
||||
VectorObject *self = (VectorObject *)Vector_CreatePyObject(dummy, size, Py_NEW, NULL);
|
||||
if (self) {
|
||||
Py_INCREF(cb_user);
|
||||
self->cb_user = cb_user;
|
||||
self->cb_type = (unsigned char)cb_type;
|
||||
self->cb_subtype = (unsigned char)cb_subtype;
|
||||
self->cb_user = cb_user;
|
||||
self->cb_type = cb_type;
|
||||
self->cb_subtype = cb_subtype;
|
||||
PyObject_GC_Track(self);
|
||||
}
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ typedef struct {
|
||||
|
||||
/*prototypes*/
|
||||
PyObject *Vector_CreatePyObject(float *vec, const int size, const int type, PyTypeObject *base_type);
|
||||
PyObject *Vector_CreatePyObject_cb(PyObject *user, int size, int callback_type, int subtype);
|
||||
PyObject *Vector_CreatePyObject_cb(PyObject *user, int size, unsigned char callback_type, unsigned char subtype);
|
||||
PyObject *Vector_CreatePyObject_alloc(float *vec, const int size, PyTypeObject *base_type);
|
||||
|
||||
#endif /* __MATHUTILS_VECTOR_H__ */
|
||||
|
||||
Reference in New Issue
Block a user