[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20668] trunk/blender/source/blender/ python/api2_2x: Blender.Particle.New() wasnt documented.
Campbell Barton
ideasman42 at gmail.com
Sat Jun 6 06:56:22 CEST 2009
Revision: 20668
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20668
Author: campbellbarton
Date: 2009-06-06 06:56:22 +0200 (Sat, 06 Jun 2009)
Log Message:
-----------
Blender.Particle.New() wasnt documented.
Changed to accept Object as well as Object name to avoid name collisions with libraries.
Modified Paths:
--------------
trunk/blender/source/blender/python/api2_2x/Particle.c
trunk/blender/source/blender/python/api2_2x/doc/Particle.py
Modified: trunk/blender/source/blender/python/api2_2x/Particle.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Particle.c 2009-06-06 04:44:18 UTC (rev 20667)
+++ trunk/blender/source/blender/python/api2_2x/Particle.c 2009-06-06 04:56:22 UTC (rev 20668)
@@ -57,7 +57,7 @@
/* Type Methods */
-static PyObject *M_ParticleSys_New( PyObject * self, PyObject * args );
+static PyObject *M_ParticleSys_New( PyObject * self, PyObject * value );
static PyObject *M_ParticleSys_Get( PyObject * self, PyObject * args );
/* Particle Methods */
@@ -646,7 +646,7 @@
/* Python method structure definition for Blender.Particle module: */
/*****************************************************************************/
static struct PyMethodDef M_ParticleSys_methods[] = {
- {"New", ( PyCFunction ) M_ParticleSys_New, METH_VARARGS, M_ParticleSys_New_doc},
+ {"New", ( PyCFunction ) M_ParticleSys_New, METH_O, M_ParticleSys_New_doc},
{"Get", M_ParticleSys_Get, METH_VARARGS, M_ParticleSys_Get_doc},
{NULL, NULL, 0, NULL}
};
@@ -779,28 +779,28 @@
}
-PyObject *M_ParticleSys_New( PyObject * self, PyObject * args ){
+PyObject *M_ParticleSys_New( PyObject * self, PyObject * value)
+{
ParticleSystem *psys = 0;
ParticleSystem *rpsys = 0;
ModifierData *md;
ParticleSystemModifierData *psmd;
Object *ob = NULL;
- char *name = NULL;
ID *id;
int nr;
+
+ if ( PyString_Check( value ) ) {
+ char *name;
+ name = PyString_AsString ( value );
+ ob = ( Object * ) GetIdFromList( &( G.main->object ), name );
+ if( !ob )
+ return EXPP_ReturnPyObjError( PyExc_AttributeError, name );
+ } else if ( BPy_Object_Check(value) ) {
+ ob = (( BPy_Object * ) value)->object;
+ } else {
+ return EXPP_ReturnPyObjError( PyExc_TypeError, "expected object or string" );
+ }
- if( !PyArg_ParseTuple( args, "s", &name ) )
- return EXPP_ReturnPyObjError( PyExc_TypeError,
- "expected string argument" );
-
- for( ob = G.main->object.first; ob; ob = ob->id.next )
- if( !strcmp( name, ob->id.name + 2 ) )
- break;
-
- if( !ob )
- return EXPP_ReturnPyObjError( PyExc_AttributeError,
- "object does not exist" );
-
id = (ID *)psys_new_settings("PSys", G.main);
psys = MEM_callocN(sizeof(ParticleSystem), "particle_system");
Modified: trunk/blender/source/blender/python/api2_2x/doc/Particle.py
===================================================================
--- trunk/blender/source/blender/python/api2_2x/doc/Particle.py 2009-06-06 04:44:18 UTC (rev 20667)
+++ trunk/blender/source/blender/python/api2_2x/doc/Particle.py 2009-06-06 04:56:22 UTC (rev 20668)
@@ -88,6 +88,15 @@
- Z: set Z axis for offset
"""
+def New(object):
+ """
+ Create a new particle system applied to L{object}
+ @type object: string or L{Blender.Object.Object}
+ @param name: The name of an existing object.
+ @rtype: L{Particle}
+ @return: a new Particle system.
+ """
+
class Particle:
"""
The Particle object
More information about the Bf-blender-cvs
mailing list