From 314fbb4ff5195455d32f9c9c7794e53f7d7014be Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 17 Aug 2006 07:14:29 +0000 Subject: Added Armature.New() --- source/blender/python/api2_2x/Armature.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'source/blender/python/api2_2x/Armature.c') diff --git a/source/blender/python/api2_2x/Armature.c b/source/blender/python/api2_2x/Armature.c index ff18c755956..e7cb301b64d 100644 --- a/source/blender/python/api2_2x/Armature.c +++ b/source/blender/python/api2_2x/Armature.c @@ -1248,14 +1248,46 @@ AttributeError: sModuleBadArgs, "Get(): ", "- Expects (optional) string sequence"); } + +//----------------Blender.Armature.New() +static PyObject *M_Armature_New(PyObject * self, PyObject * args) +{ + char *name = "Armature"; + struct bArmature *armature; + BPy_Armature *obj; + char buf[21]; + + if( !PyArg_ParseTuple( args, "|s", &name ) ) + return EXPP_ReturnPyObjError( PyExc_TypeError, + "expected nothing or a string as argument" ); + + armature= add_armature(); + armature->id.us = 0; + obj = PyArmature_FromArmature(armature); //*new* + + if( !obj ) + return EXPP_ReturnPyObjError( PyExc_RuntimeError, + "PyObject_New() failed" ); + + PyOS_snprintf( buf, sizeof( buf ), "%s", name ); + rename_id( &armature->id, buf ); + + obj->armature = armature; + return (PyObject *)obj; +} + + //-------------------MODULE METHODS DEFINITION----------------------------- static char M_Armature_Get_doc[] = "(name) - return the armature with the name 'name', \ returns None if not found.\n If 'name' is not specified, it returns a list of all \ armatures in the\ncurrent scene."; +static char M_Armature_New_doc[] = "(name) - return a new armature object."; + struct PyMethodDef M_Armature_methods[] = { {"Get", M_Armature_Get, METH_VARARGS, M_Armature_Get_doc}, + {"New", M_Armature_New, METH_VARARGS, M_Armature_New_doc}, {NULL, NULL, 0, NULL} }; //------------------VISIBLE PROTOTYPE IMPLEMENTATION----------------------- -- cgit v1.2.3