Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnny Matthews <johnny.matthews@gmail.com>2005-04-15 00:41:02 +0400
committerJohnny Matthews <johnny.matthews@gmail.com>2005-04-15 00:41:02 +0400
commitbaa0b8ce25745c8d6866e4beeb50baac59f9b3ca (patch)
tree33f28679ad141e0c05e4f67d2ca35f5b83c210ee /source/blender/python/api2_2x/Object.c
parent95994e937f8e251914fead142a8f5c262605e5d5 (diff)
Similar to last commit, This initializes the pd pointer if it is null for Particle interaction. for all the PI functions
Diffstat (limited to 'source/blender/python/api2_2x/Object.c')
-rw-r--r--source/blender/python/api2_2x/Object.c66
1 files changed, 48 insertions, 18 deletions
diff --git a/source/blender/python/api2_2x/Object.c b/source/blender/python/api2_2x/Object.c
index e0ea2cbd07e..23f80a21691 100644
--- a/source/blender/python/api2_2x/Object.c
+++ b/source/blender/python/api2_2x/Object.c
@@ -129,6 +129,7 @@ struct PyMethodDef M_Object_methods[] = {
/* Python BPy_Object methods declarations: */
/*****************************************************************************/
int setupSB(Object* ob); /*Make sure Softbody Pointer is initialized */
+int setupPI(Object* ob);
static PyObject *Object_buildParts( BPy_Object * self );
static PyObject *Object_clearIpo( BPy_Object * self );
@@ -2800,7 +2801,8 @@ PyObject *Object_getPIStrength( BPy_Object * self )
PyObject *attr;
if(!self->object->pd){
- return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ if(!setupPI(self->object))
+ return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
"particle deflection could not be accessed (null pointer)" ) );
}
@@ -2817,7 +2819,8 @@ PyObject *Object_setPIStrength( BPy_Object * self, PyObject * args )
float value;
if(!self->object->pd){
- return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ if(!setupPI(self->object))
+ return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
"particle deflection could not be accessed (null pointer)" ) );
}
@@ -2838,7 +2841,8 @@ PyObject *Object_getPIFalloff( BPy_Object * self )
PyObject *attr;
if(!self->object->pd){
- return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ if(!setupPI(self->object))
+ return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
"particle deflection could not be accessed (null pointer)" ) );
}
@@ -2855,7 +2859,8 @@ PyObject *Object_setPIFalloff( BPy_Object * self, PyObject * args )
float value;
if(!self->object->pd){
- return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ if(!setupPI(self->object))
+ return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
"particle deflection could not be accessed (null pointer)" ) );
}
@@ -2876,7 +2881,8 @@ PyObject *Object_getPIMaxDist( BPy_Object * self )
PyObject *attr;
if(!self->object->pd){
- return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ if(!setupPI(self->object))
+ return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
"particle deflection could not be accessed (null pointer)" ) );
}
@@ -2893,7 +2899,8 @@ PyObject *Object_setPIMaxDist( BPy_Object * self, PyObject * args )
float value;
if(!self->object->pd){
- return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ if(!setupPI(self->object))
+ return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
"particle deflection could not be accessed (null pointer)" ) );
}
@@ -2914,7 +2921,8 @@ PyObject *Object_getPIUseMaxDist( BPy_Object * self )
PyObject *attr;
if(!self->object->pd){
- return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ if(!setupPI(self->object))
+ return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
"particle deflection could not be accessed (null pointer)" ) );
}
@@ -2932,7 +2940,8 @@ PyObject *Object_setPIUseMaxDist( BPy_Object * self, PyObject * args )
int value;
if(!self->object->pd){
- return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ if(!setupPI(self->object))
+ return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
"particle deflection could not be accessed (null pointer)" ) );
}
@@ -2951,7 +2960,8 @@ PyObject *Object_getPIType( BPy_Object * self )
PyObject *attr;
if(!self->object->pd){
- return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ if(!setupPI(self->object))
+ return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
"particle deflection could not be accessed (null pointer)" ) );
}
@@ -2969,7 +2979,8 @@ PyObject *Object_setPIType( BPy_Object * self, PyObject * args )
int value;
if(!self->object->pd){
- return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ if(!setupPI(self->object))
+ return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
"particle deflection could not be accessed (null pointer)" ) );
}
@@ -2988,7 +2999,8 @@ PyObject *Object_getPIPerm( BPy_Object * self )
PyObject *attr;
if(!self->object->pd){
- return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ if(!setupPI(self->object))
+ return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
"particle deflection could not be accessed (null pointer)" ) );
}
@@ -3005,7 +3017,8 @@ PyObject *Object_setPIPerm( BPy_Object * self, PyObject * args )
float value;
if(!self->object->pd){
- return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ if(!setupPI(self->object))
+ return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
"particle deflection could not be accessed (null pointer)" ) );
}
@@ -3026,7 +3039,8 @@ PyObject *Object_getPIRandomDamp( BPy_Object * self )
PyObject *attr;
if(!self->object->pd){
- return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ if(!setupPI(self->object))
+ return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
"particle deflection could not be accessed (null pointer)" ) );
}
@@ -3043,7 +3057,8 @@ PyObject *Object_setPIRandomDamp( BPy_Object * self, PyObject * args )
float value;
if(!self->object->pd){
- return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ if(!setupPI(self->object))
+ return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
"particle deflection could not be accessed (null pointer)" ) );
}
@@ -3064,7 +3079,8 @@ PyObject *Object_getPISurfaceDamp( BPy_Object * self )
PyObject *attr;
if(!self->object->pd){
- return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ if(!setupPI(self->object))
+ return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
"particle deflection could not be accessed (null pointer)" ) );
}
@@ -3081,7 +3097,8 @@ PyObject *Object_setPISurfaceDamp( BPy_Object * self, PyObject * args )
float value;
if(!self->object->pd){
- return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ if(!setupPI(self->object))
+ return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
"particle deflection could not be accessed (null pointer)" ) );
}
@@ -3101,7 +3118,8 @@ PyObject *Object_getPIDeflection( BPy_Object * self )
PyObject *attr;
if(!self->object->pd){
- return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ if(!setupPI(self->object))
+ return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
"particle deflection could not be accessed (null pointer)" ) );
}
@@ -3119,7 +3137,8 @@ PyObject *Object_setPIDeflection( BPy_Object * self, PyObject * args )
int value;
if(!self->object->pd){
- return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ if(!setupPI(self->object))
+ return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
"particle deflection could not be accessed (null pointer)" ) );
}
@@ -3818,3 +3837,14 @@ int setupSB(Object* ob){
else
return 0;
}
+
+int setupPI(Object* ob){
+ if(ob->pd==NULL) {
+ ob->pd= MEM_callocN(sizeof(PartDeflect), "PartDeflect");
+ /* and if needed, init here */
+ }
+ if(ob->pd)
+ return 1;
+ else
+ return 0;
+}