Index: source/blender/python/api2_2x/Modifier.c =================================================================== --- source/blender/python/api2_2x/Modifier.c (revision 20069) +++ source/blender/python/api2_2x/Modifier.c (working copy) @@ -1017,7 +1017,41 @@ } } +static PyObject *simpledeform_getter( BPy_Modifier * self, int type ) +{ + SimpleDeformModifierData *md = (SimpleDeformModifierData *)(self->md); + switch( type ) { + case EXPP_MOD_OBJECT: + return Object_CreatePyObject( md->origin ); + default: + return EXPP_ReturnPyObjError( PyExc_KeyError, "key not found" ); + } +} + +static int simpledeform_setter( BPy_Modifier *self, int type, PyObject *value ) +{ + SimpleDeformModifierData *md = (SimpleDeformModifierData *)(self->md); + + switch( type ) { + case EXPP_MOD_OBJECT: { /* Only object for now */ + Object *ob_new=NULL; + if (value == Py_None) { + md->origin = NULL; + } else if (BPy_Object_Check( value )) { + ob_new = ((( BPy_Object * )value)->object); + md->origin = ob_new; + } else { + return EXPP_ReturnIntError( PyExc_TypeError, + "Expected an Object or None value" ); + } + return 0; + } + default: + return EXPP_ReturnIntError( PyExc_KeyError, "key not found" ); + } +} + /* static PyObject *uvproject_getter( BPy_Modifier * self, int type ) { DisplaceModifierData *md = (DisplaceModifierData *)(self->md); @@ -1100,7 +1134,9 @@ case eModifierType_Shrinkwrap: return shrinkwrap_getter( self, setting ); /*case eModifierType_UVProject: - return uvproject_getter( self, setting );*/ + return uvproject_getter( self, setting );*/ + case eModifierType_SimpleDeform: + return simpledeform_getter( self, setting ); case eModifierType_Hook: case eModifierType_Softbody: case eModifierType_None: @@ -1171,6 +1207,8 @@ return displace_setter( self, key_int, arg ); case eModifierType_Shrinkwrap: return shrinkwrap_setter( self, key_int, arg ); + case eModifierType_SimpleDeform: + return simpledeform_setter( self, key_int, arg ); /*case eModifierType_UVProject: return uvproject_setter( self, key_int, arg );*/ case eModifierType_Hook: @@ -1603,8 +1641,8 @@ PyInt_FromLong( eModifierType_Bevel ) ); PyConstant_Insert( d, "SHRINKWRAP", PyInt_FromLong( eModifierType_Shrinkwrap ) ); - PyConstant_Insert( d, "SHRINKWRAP", - PyInt_FromLong( eModifierType_Shrinkwrap ) ); + PyConstant_Insert( d, "SIMPLEDEFORM", + PyInt_FromLong( eModifierType_SimpleDeform ) ); } return S; }