[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35267] trunk/blender/source: change return values from mathutils callbacks to match pythons ( -1 is error), so error macro's can be used in both.

Campbell Barton ideasman42 at gmail.com
Mon Feb 28 19:42:41 CET 2011


Revision: 35267
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35267
Author:   campbellbarton
Date:     2011-02-28 18:42:41 +0000 (Mon, 28 Feb 2011)
Log Message:
-----------
change return values from mathutils callbacks to match pythons (-1 is error), so error macro's can be used in both.

Modified Paths:
--------------
    trunk/blender/source/blender/python/generic/mathutils.c
    trunk/blender/source/blender/python/generic/mathutils.h
    trunk/blender/source/blender/python/generic/mathutils_Color.c
    trunk/blender/source/blender/python/generic/mathutils_Euler.c
    trunk/blender/source/blender/python/generic/mathutils_Matrix.c
    trunk/blender/source/blender/python/generic/mathutils_Quaternion.c
    trunk/blender/source/blender/python/generic/mathutils_Vector.c
    trunk/blender/source/blender/python/generic/mathutils_geometry.c
    trunk/blender/source/blender/python/intern/bpy_rna.c
    trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp
    trunk/blender/source/gameengine/Ketsji/KX_ObjectActuator.cpp
    trunk/blender/source/gameengine/Ketsji/KX_PyMath.h

Modified: trunk/blender/source/blender/python/generic/mathutils.c
===================================================================
--- trunk/blender/source/blender/python/generic/mathutils.c	2011-02-28 15:42:15 UTC (rev 35266)
+++ trunk/blender/source/blender/python/generic/mathutils.c	2011-02-28 18:42:41 UTC (rev 35267)
@@ -152,7 +152,7 @@
 		(QuaternionObject_Check(value) && (size= 4)) ||
 		(ColorObject_Check(value) && (size= 3))
 	) {
-		if(!BaseMath_ReadCallback((BaseMathObject *)value)) {
+		if(BaseMath_ReadCallback((BaseMathObject *)value) == -1) {
 			return -1;
 		}
 
@@ -175,7 +175,7 @@
 int mathutils_any_to_rotmat(float rmat[3][3], PyObject *value, const char *error_prefix)
 {
 	if(EulerObject_Check(value)) {
-		if(!BaseMath_ReadCallback((BaseMathObject *)value)) {
+		if(BaseMath_ReadCallback((BaseMathObject *)value) == -1) {
 			return -1;
 		}
 		else {
@@ -184,7 +184,7 @@
 		}
 	}
 	else if (QuaternionObject_Check(value)) {
-		if(!BaseMath_ReadCallback((BaseMathObject *)value)) {
+		if(BaseMath_ReadCallback((BaseMathObject *)value) == -1) {
 			return -1;
 		}
 		else {
@@ -195,7 +195,7 @@
 		}
 	}
 	else if (MatrixObject_Check(value)) {
-		if(!BaseMath_ReadCallback((BaseMathObject *)value)) {
+		if(BaseMath_ReadCallback((BaseMathObject *)value) == -1) {
 			return -1;
 		}
 		else if(((MatrixObject *)value)->col_size < 3 || ((MatrixObject *)value)->row_size < 3) {
@@ -274,45 +274,45 @@
 int _BaseMathObject_ReadCallback(BaseMathObject *self)
 {
 	Mathutils_Callback *cb= mathutils_callbacks[self->cb_type];
-	if(cb->get(self, self->cb_subtype))
-		return 1;
+	if(cb->get(self, self->cb_subtype) != -1)
+		return 0;
 
 	if(!PyErr_Occurred())
 		PyErr_Format(PyExc_RuntimeError, "%s user has become invalid", Py_TYPE(self)->tp_name);
-	return 0;
+	return -1;
 }
 
 int _BaseMathObject_WriteCallback(BaseMathObject *self)
 {
 	Mathutils_Callback *cb= mathutils_callbacks[self->cb_type];
-	if(cb->set(self, self->cb_subtype))
-		return 1;
+	if(cb->set(self, self->cb_subtype) != -1)
+		return 0;
 
 	if(!PyErr_Occurred())
 		PyErr_Format(PyExc_RuntimeError, "%s user has become invalid", Py_TYPE(self)->tp_name);
-	return 0;
+	return -1;
 }
 
 int _BaseMathObject_ReadIndexCallback(BaseMathObject *self, int index)
 {
 	Mathutils_Callback *cb= mathutils_callbacks[self->cb_type];
-	if(cb->get_index(self, self->cb_subtype, index))
-		return 1;
+	if(cb->get_index(self, self->cb_subtype, index) != -1)
+		return 0;
 
 	if(!PyErr_Occurred())
 		PyErr_Format(PyExc_RuntimeError, "%s user has become invalid", Py_TYPE(self)->tp_name);
-	return 0;
+	return -1;
 }
 
 int _BaseMathObject_WriteIndexCallback(BaseMathObject *self, int index)
 {
 	Mathutils_Callback *cb= mathutils_callbacks[self->cb_type];
-	if(cb->set_index(self, self->cb_subtype, index))
-		return 1;
+	if(cb->set_index(self, self->cb_subtype, index) != -1)
+		return 0;
 
 	if(!PyErr_Occurred())
 		PyErr_Format(PyExc_RuntimeError, "%s user has become invalid", Py_TYPE(self)->tp_name);
-	return 0;
+	return -1;
 }
 
 /* BaseMathObject generic functions for all mathutils types */

Modified: trunk/blender/source/blender/python/generic/mathutils.h
===================================================================
--- trunk/blender/source/blender/python/generic/mathutils.h	2011-02-28 15:42:15 UTC (rev 35266)
+++ trunk/blender/source/blender/python/generic/mathutils.h	2011-02-28 18:42:41 UTC (rev 35267)
@@ -99,10 +99,10 @@
 int _BaseMathObject_WriteIndexCallback(BaseMathObject *self, int index);
 
 /* since this is called so often avoid where possible */
-#define BaseMath_ReadCallback(_self) (((_self)->cb_user ?	_BaseMathObject_ReadCallback((BaseMathObject *)_self):1))
-#define BaseMath_WriteCallback(_self) (((_self)->cb_user ?_BaseMathObject_WriteCallback((BaseMathObject *)_self):1))
-#define BaseMath_ReadIndexCallback(_self, _index) (((_self)->cb_user ?	_BaseMathObject_ReadIndexCallback((BaseMathObject *)_self, _index):1))
-#define BaseMath_WriteIndexCallback(_self, _index) (((_self)->cb_user ?	_BaseMathObject_WriteIndexCallback((BaseMathObject *)_self, _index):1))
+#define BaseMath_ReadCallback(_self) (((_self)->cb_user ?	_BaseMathObject_ReadCallback((BaseMathObject *)_self):0))
+#define BaseMath_WriteCallback(_self) (((_self)->cb_user ?_BaseMathObject_WriteCallback((BaseMathObject *)_self):0))
+#define BaseMath_ReadIndexCallback(_self, _index) (((_self)->cb_user ?	_BaseMathObject_ReadIndexCallback((BaseMathObject *)_self, _index):0))
+#define BaseMath_WriteIndexCallback(_self, _index) (((_self)->cb_user ?	_BaseMathObject_WriteIndexCallback((BaseMathObject *)_self, _index):0))
 
 /* utility func */
 int mathutils_array_parse(float *array, int array_min, int array_max, PyObject *value, const char *error_prefix);

Modified: trunk/blender/source/blender/python/generic/mathutils_Color.c
===================================================================
--- trunk/blender/source/blender/python/generic/mathutils_Color.c	2011-02-28 15:42:15 UTC (rev 35266)
+++ trunk/blender/source/blender/python/generic/mathutils_Color.c	2011-02-28 18:42:41 UTC (rev 35267)
@@ -97,7 +97,7 @@
 ;
 static PyObject *Color_copy(ColorObject *self)
 {
-	if(!BaseMath_ReadCallback(self))
+	if(BaseMath_ReadCallback(self) == -1)
 		return NULL;
 
 	return newColorObject(self->col, Py_NEW, Py_TYPE(self));
@@ -110,7 +110,7 @@
 {
 	PyObject *ret, *tuple;
 	
-	if(!BaseMath_ReadCallback(self))
+	if(BaseMath_ReadCallback(self) == -1)
 		return NULL;
 
 	tuple= Color_ToTupleExt(self, -1);
@@ -132,7 +132,7 @@
 		ColorObject *colA= (ColorObject*)a;
 		ColorObject *colB= (ColorObject*)b;
 
-		if(!BaseMath_ReadCallback(colA) || !BaseMath_ReadCallback(colB))
+		if(BaseMath_ReadCallback(colA) == -1 || BaseMath_ReadCallback(colB) == -1)
 			return NULL;
 
 		ok= EXPP_VectorsAreEqual(colA->col, colB->col, COLOR_SIZE, 1) ? 0 : -1;
@@ -177,7 +177,7 @@
 		return NULL;
 	}
 
-	if(!BaseMath_ReadIndexCallback(self, i))
+	if(BaseMath_ReadIndexCallback(self, i) == -1)
 		return NULL;
 
 	return PyFloat_FromDouble(self->col[i]);
@@ -203,7 +203,7 @@
 
 	self->col[i] = f;
 
-	if(!BaseMath_WriteIndexCallback(self, i))
+	if(BaseMath_WriteIndexCallback(self, i) == -1)
 		return -1;
 
 	return 0;
@@ -215,7 +215,7 @@
 	PyObject *tuple;
 	int count;
 
-	if(!BaseMath_ReadCallback(self))
+	if(BaseMath_ReadCallback(self) == -1)
 		return NULL;
 
 	CLAMP(begin, 0, COLOR_SIZE);
@@ -237,7 +237,7 @@
 	int i, size;
 	float col[COLOR_SIZE];
 
-	if(!BaseMath_ReadCallback(self))
+	if(BaseMath_ReadCallback(self) == -1)
 		return -1;
 
 	CLAMP(begin, 0, COLOR_SIZE);
@@ -359,7 +359,7 @@
 	float hsv[3];
 	int i= GET_INT_FROM_POINTER(type);
 
-	if(!BaseMath_ReadCallback(self))
+	if(BaseMath_ReadCallback(self) == -1)
 		return NULL;
 
 	rgb_to_hsv(self->col[0], self->col[1], self->col[2], &(hsv[0]), &(hsv[1]), &(hsv[2]));
@@ -378,7 +378,7 @@
 		return -1;
 	}
 
-	if(!BaseMath_ReadCallback(self))
+	if(BaseMath_ReadCallback(self) == -1)
 		return -1;
 
 	rgb_to_hsv(self->col[0], self->col[1], self->col[2], &(hsv[0]), &(hsv[1]), &(hsv[2]));
@@ -386,7 +386,7 @@
 	hsv[i] = f;
 	hsv_to_rgb(hsv[0], hsv[1], hsv[2], &(self->col[0]), &(self->col[1]), &(self->col[2]));
 
-	if(!BaseMath_WriteCallback(self))
+	if(BaseMath_WriteCallback(self) == -1)
 		return -1;
 
 	return 0;
@@ -398,7 +398,7 @@
 	float hsv[3];
 	PyObject *ret;
 
-	if(!BaseMath_ReadCallback(self))
+	if(BaseMath_ReadCallback(self) == -1)
 		return NULL;
 
 	rgb_to_hsv(self->col[0], self->col[1], self->col[2], &(hsv[0]), &(hsv[1]), &(hsv[2]));
@@ -423,7 +423,7 @@
 
 	hsv_to_rgb(hsv[0], hsv[1], hsv[2], &(self->col[0]), &(self->col[1]), &(self->col[2]));
 
-	if(!BaseMath_WriteCallback(self))
+	if(BaseMath_WriteCallback(self) == -1)
 		return -1;
 
 	return 0;

Modified: trunk/blender/source/blender/python/generic/mathutils_Euler.c
===================================================================
--- trunk/blender/source/blender/python/generic/mathutils_Euler.c	2011-02-28 15:42:15 UTC (rev 35266)
+++ trunk/blender/source/blender/python/generic/mathutils_Euler.c	2011-02-28 18:42:41 UTC (rev 35267)
@@ -138,7 +138,7 @@
 {
 	float quat[4];
 
-	if(!BaseMath_ReadCallback(self))
+	if(BaseMath_ReadCallback(self) == -1)
 		return NULL;
 
 	eulO_to_quat(quat, self->eul, self->order);
@@ -159,7 +159,7 @@
 {
 	float mat[9];
 
-	if(!BaseMath_ReadCallback(self))
+	if(BaseMath_ReadCallback(self) == -1)
 		return NULL;
 
 	eulO_to_mat3((float (*)[3])mat, self->eul, self->order);
@@ -177,7 +177,9 @@
 {
 	zero_v3(self->eul);
 
-	(void)BaseMath_WriteCallback(self);
+	if(BaseMath_WriteCallback(self) == -1)
+		return NULL;
+
 	Py_RETURN_NONE;
 }
 
@@ -205,7 +207,7 @@
 		return NULL;
 	}
 
-	if(!BaseMath_ReadCallback(self))
+	if(BaseMath_ReadCallback(self) == -1)
 		return NULL;
 
 
@@ -228,7 +230,7 @@
 {
 	float self_rmat[3][3], other_rmat[3][3], rmat[3][3];
 
-	if(!BaseMath_ReadCallback(self))
+	if(BaseMath_ReadCallback(self) == -1)
 		return NULL;
 
 	if(mathutils_any_to_rotmat(other_rmat, value, "euler.rotate(value)") == -1)
@@ -254,7 +256,7 @@
 {
 	float teul[EULER_SIZE];
 
-	if(!BaseMath_ReadCallback(self))
+	if(BaseMath_ReadCallback(self) == -1)
 		return NULL;
 
 	if(mathutils_array_parse(teul, EULER_SIZE, EULER_SIZE, value, "euler.make_compatible(other), invalid 'other' arg") == -1)
@@ -282,7 +284,7 @@
 ;
 static PyObject *Euler_copy(EulerObject *self)
 {
-	if(!BaseMath_ReadCallback(self))
+	if(BaseMath_ReadCallback(self) == -1)
 		return NULL;
 
 	return newEulerObject(self->eul, self->order, Py_NEW, Py_TYPE(self));
@@ -295,7 +297,7 @@
 {
 	PyObject *ret, *tuple;
 
-	if(!BaseMath_ReadCallback(self))
+	if(BaseMath_ReadCallback(self) == -1)
 		return NULL;
 
 	tuple= Euler_ToTupleExt(self, -1);
@@ -315,7 +317,7 @@
 		EulerObject *eulA= (EulerObject*)a;
 		EulerObject *eulB= (EulerObject*)b;
 
-		if(!BaseMath_ReadCallback(eulA) || !BaseMath_ReadCallback(eulB))
+		if(BaseMath_ReadCallback(eulA) == -1 || BaseMath_ReadCallback(eulB) == -1)
 			return NULL;
 
 		ok= ((eulA->order == eulB->order) && EXPP_VectorsAreEqual(eulA->eul, eulB->eul, EULER_SIZE, 1)) ? 0 : -1;
@@ -360,7 +362,7 @@
 		return NULL;
 	}
 
-	if(!BaseMath_ReadIndexCallback(self, i))
+	if(BaseMath_ReadIndexCallback(self, i) == -1)
 		return NULL;
 
 	return PyFloat_FromDouble(self->eul[i]);
@@ -386,7 +388,7 @@
 
 	self->eul[i] = f;
 
-	if(!BaseMath_WriteIndexCallback(self, i))
+	if(BaseMath_WriteIndexCallback(self, i) == -1)
 		return -1;
 
 	return 0;
@@ -398,7 +400,7 @@
 	PyObject *tuple;
 	int count;
 
-	if(!BaseMath_ReadCallback(self))
+	if(BaseMath_ReadCallback(self) == -1)
 		return NULL;
 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list