diff options
author | Johnny Matthews <johnny.matthews@gmail.com> | 2005-04-15 00:41:02 +0400 |
---|---|---|
committer | Johnny Matthews <johnny.matthews@gmail.com> | 2005-04-15 00:41:02 +0400 |
commit | baa0b8ce25745c8d6866e4beeb50baac59f9b3ca (patch) | |
tree | 33f28679ad141e0c05e4f67d2ca35f5b83c210ee /source/blender/python/api2_2x/Object.c | |
parent | 95994e937f8e251914fead142a8f5c262605e5d5 (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.c | 66 |
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; +} |