made all python types that can do .__copy__(), also do .copy()
authorCampbell Barton <ideasman42@gmail.com>
Wed, 14 Mar 2007 03:01:24 +0000 (03:01 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Wed, 14 Mar 2007 03:01:24 +0000 (03:01 +0000)
added copy function to lamp, texture and ipo types

14 files changed:
source/blender/python/api2_2x/Armature.c
source/blender/python/api2_2x/Camera.c
source/blender/python/api2_2x/Curve.c
source/blender/python/api2_2x/Group.c
source/blender/python/api2_2x/Ipo.c
source/blender/python/api2_2x/Lamp.c
source/blender/python/api2_2x/Lattice.c
source/blender/python/api2_2x/Material.c
source/blender/python/api2_2x/Mesh.c
source/blender/python/api2_2x/Metaball.c
source/blender/python/api2_2x/Object.c
source/blender/python/api2_2x/Texture.c
source/blender/python/api2_2x/World.c
source/blender/python/api2_2x/sceneSequence.c

index 49c7c6639d4eea6f7769ca619fa639d5cdb1a4e7..42f968e3e897fb5dfb0829447ed3d14950371002 100644 (file)
@@ -946,6 +946,8 @@ static PyMethodDef BPy_Armature_methods[] = {
                "() - Rebuilds the armature based on changes to bones since the last call to makeEditable"},
        {"__copy__", (PyCFunction) Armature_copy, METH_NOARGS, 
                "() - Return a copy of the armature."},
+       {"copy", (PyCFunction) Armature_copy, METH_NOARGS, 
+               "() - Return a copy of the armature."},
        {NULL, NULL, 0, NULL}
 };
 //------------------------tp_getset
index 64951cc38b4667e48ba80fb5a44fd3b98d55c34e..96212956a63b242b58b3add7a81bc7be0f3a8637 100644 (file)
@@ -195,6 +195,8 @@ static PyMethodDef BPy_Camera_methods[] = {
         "([s1<,s2,s3...>]) - Delete specified scriptlinks from this camera."},
        {"__copy__", ( PyCFunction ) Camera_copy, METH_NOARGS,
         "() - Return a copy of the camera."},
+       {"copy", ( PyCFunction ) Camera_copy, METH_NOARGS,
+        "() - Return a copy of the camera."},
        {NULL, NULL, 0, NULL}
 };
 
index 872dbe5b75fb49b39e399af54fe4f127c4145a01..c74afd296046d3123a4466b521598740e5fea8ad 100644 (file)
@@ -1519,6 +1519,8 @@ Sets a control point "},
         "() - assign a Taper Object to this Curve"},
        {"__copy__", ( PyCFunction ) Curve_copy, METH_NOARGS,
         "() - make a copy of this curve data"},
+       {"copy", ( PyCFunction ) Curve_copy, METH_NOARGS,
+        "() - make a copy of this curve data"},
        {NULL, NULL, 0, NULL}
 };
 
index adee39030b3aaa97f25daf315a2e1107b95eb2d4..f52afacdebf3b75b5aa7e0aa16f5b0ccbb881c5e 100755 (executable)
@@ -86,6 +86,8 @@ static PyMethodDef BPy_Group_methods[] = {
        /* name, method, flags, doc */
        {"__copy__", ( PyCFunction ) BPy_Group_copy, METH_VARARGS,
         "() - Return a copy of the group containing the same objects."},
+       {"copy", ( PyCFunction ) BPy_Group_copy, METH_VARARGS,
+        "() - Return a copy of the group containing the same objects."},
        {NULL, NULL, 0, NULL}
 };
 
index 8bbcc1dce6b94f595d82db13ca85613208a10470..4c65f31cfe3857c767b6d3742df7de8527478f31 100644 (file)
@@ -36,6 +36,7 @@
 #include "BKE_main.h"
 #include "BKE_global.h"
 #include "BKE_library.h"
+#include "BKE_object.h"
 #include "BKE_ipo.h"
 #include "BLI_blenlib.h"
 #include "BIF_space.h"
@@ -115,6 +116,7 @@ static PyObject *Ipo_setCurveBeztriple( BPy_Ipo * self, PyObject * args );
 static PyObject *Ipo_getCurveBeztriple( BPy_Ipo * self, PyObject * args );
 
 static PyObject *Ipo_getChannel( BPy_Ipo * self );
+static PyObject *Ipo_copy( BPy_Ipo * self );
 static int Ipo_setChannel( BPy_Ipo * self, PyObject * args );
 
 static int Ipo_length( BPy_Ipo * inst );
@@ -164,6 +166,12 @@ static PyMethodDef BPy_Ipo_methods[] = {
         "(int,int) - deprecated: see ipocurve.bezierPoints[]"},
        {"setCurveBeztriple", ( PyCFunction ) Ipo_setCurveBeztriple, METH_VARARGS,
         "(int,int,list) - set a BezTriple"},
+
+       {"__copy__", ( PyCFunction ) Ipo_copy, METH_NOARGS,
+        "() - copy the ipo"},
+       {"copy", ( PyCFunction ) Ipo_copy, METH_NOARGS,
+        "() - copy the ipo"},
+        
        {NULL, NULL, 0, NULL}
 };
 
@@ -1761,6 +1769,14 @@ static PyObject *Ipo_setCurveBeztriple( BPy_Ipo * self, PyObject * args )
        return Py_None;
 }
 
+/* Ipo.__copy__ */
+static PyObject *Ipo_copy( BPy_Ipo * self )
+{
+       Ipo *ipo = copy_ipo(self->ipo );
+       ipo->id.us = 0;
+       return Ipo_CreatePyObject(ipo);
+}
+
 static PyObject *Ipo_EvaluateCurveOn( BPy_Ipo * self, PyObject * args )
 {
        int num = 0, i;
index eb7b353d089aacbdcf4cb07d5ec7d35e01b22185..4e2638921fc109c9ae693e63a116e6b133bd5e86 100644 (file)
@@ -228,6 +228,7 @@ static PyObject *Lamp_oldsetHaloInt( BPy_Lamp * self, PyObject * args );
 static PyObject *Lamp_oldsetQuad1( BPy_Lamp * self, PyObject * args );
 static PyObject *Lamp_oldsetQuad2( BPy_Lamp * self, PyObject * args );
 static PyObject *Lamp_oldsetCol( BPy_Lamp * self, PyObject * args );
+static PyObject *Lamp_copy( BPy_Lamp * self );
 static int Lamp_setIpo( BPy_Lamp * self, PyObject * args );
 static int Lamp_setType( BPy_Lamp * self, PyObject * args );
 static int Lamp_setMode( BPy_Lamp * self, PyObject * args );
@@ -367,7 +368,10 @@ static PyMethodDef BPy_Lamp_methods[] = {
         "( lamp-ipo ) - link an IPO to this lamp"},
         {"insertIpoKey", ( PyCFunction ) Lamp_insertIpoKey, METH_VARARGS,
         "( Lamp IPO type ) - Inserts a key into IPO"},
-
+       {"__copy__", ( PyCFunction ) Lamp_copy, METH_NOARGS,
+        "() - Makes a copy of this lamp."},
+       {"copy", ( PyCFunction ) Lamp_copy, METH_NOARGS,
+        "() - Makes a copy of this lamp."},
        {NULL, NULL, 0, NULL}
 };
 
@@ -856,6 +860,15 @@ Lamp *Lamp_FromPyObject( PyObject * pyobj )
 /*****************************************************************************/
 /* Python BPy_Lamp methods:                                                  */
 /*****************************************************************************/
+
+/* Lamp.__copy__ */
+static PyObject *Lamp_copy( BPy_Lamp * self )
+{
+       Lamp *lamp = copy_lamp(self->lamp );
+       lamp->id.us = 0;
+       return Lamp_CreatePyObject(lamp);
+}
+
 static PyObject *Lamp_getType( BPy_Lamp * self )
 {
        PyObject *attr = PyInt_FromLong( self->lamp->type );
index bd6e73dc303c22989bd4e988ca12ca9da671c876..f179839cd68c8a7e5ba9d72ddbd964c68c90a05c 100644 (file)
@@ -668,6 +668,8 @@ static PyMethodDef BPy_Lattice_methods[] = {
         Lattice_insertKey_doc},
        {"__copy__", ( PyCFunction ) Lattice_copy, METH_NOARGS,
         Lattice_copy_doc},
+       {"copy", ( PyCFunction ) Lattice_copy, METH_NOARGS,
+        Lattice_copy_doc},
        {NULL, NULL, 0, NULL}
 };
 
index 6a2ee287e9a2df063b91953ee7bf9484555cb058..092992c42f37f30693280fab9e9d2dbc9a9eace1 100644 (file)
@@ -816,6 +816,8 @@ static PyMethodDef BPy_Material_methods[] = {
         "([s1<,s2,s3...>]) - Delete specified scriptlinks from this material."},
        {"__copy__", ( PyCFunction ) Material_copy, METH_NOARGS,
         "() - Return a copy of the material."},
+       {"copy", ( PyCFunction ) Material_copy, METH_NOARGS,
+        "() - Return a copy of the material."},
        {NULL, NULL, 0, NULL}
 };
 
index ff0fff439d159fbc02efb10c95d661d2815d8d40..25b0c3d366e820b309581015887eb46aff01e8a0 100644 (file)
@@ -7050,6 +7050,8 @@ static struct PyMethodDef BPy_Mesh_methods[] = {
        /* python standard class functions */
        {"__copy__", (PyCFunction)Mesh_copy, METH_NOARGS,
                "Return a copy of the mesh"},
+       {"copy", (PyCFunction)Mesh_copy, METH_NOARGS,
+               "Return a copy of the mesh"},
        {NULL, NULL, 0, NULL}
 };
 
index f7629707ea3c40a7d1ef6ee12eea80510499f010..04a1be46485c81eb73011a0ffd4862f52e5c2f3d 100644 (file)
@@ -141,6 +141,8 @@ static PyMethodDef BPy_Metaball_methods[] = {
        /* name, method, flags, doc */
        {"__copy__", ( PyCFunction ) Metaball_copy,
         METH_NOARGS, "() - Return a copy of this metaball"},
+       {"copy", ( PyCFunction ) Metaball_copy,
+        METH_NOARGS, "() - Return a copy of this metaball"},
        {NULL, NULL, 0, NULL}
 };
 
index 600de0b7ba0412779198d5962cb61d044b036e85..50f92474018163648f7d48650911b17f4ac64439 100644 (file)
@@ -756,10 +756,12 @@ works only if self and the object specified are of the same type."},
         "([s1<,s2,s3...>]) - Delete specified scriptlinks from this object."},
        {"insertShapeKey", ( PyCFunction ) Object_insertShapeKey, METH_NOARGS,
         "() - Insert a Shape Key in the current object"},
-       {"__copy__", ( PyCFunction ) Object_copy, METH_NOARGS,
-        "() - Return a copy of this object."},
        {"getProperties", ( PyCFunction ) Object_GetProperties, METH_NOARGS,
         "() return a reference to the ID properties associated with this object."},
+       {"__copy__", ( PyCFunction ) Object_copy, METH_NOARGS,
+        "() - Return a copy of this object."},
+       {"copy", ( PyCFunction ) Object_copy, METH_NOARGS,
+        "() - Return a copy of this object."},
        {NULL, NULL, 0, NULL}
 };
 
index 843c0dbb24d0fc13bb053f539665f3c53ad6297d..909efcc680b7e95e2b7da3b2b7f51450447d7f0d 100644 (file)
@@ -499,7 +499,7 @@ static int Texture_setNoiseBasis2( BPy_Texture *self, PyObject *args,
 static PyObject *Texture_getColorband( BPy_Texture * self);
 int Texture_setColorband( BPy_Texture * self, PyObject * value);
 static PyObject *Texture_evaluate( BPy_Texture *self, PyObject *args );
-
+static PyObject *Texture_copy( BPy_Texture *self );
 
 /*****************************************************************************/
 /* Python BPy_Texture methods table:                                         */
@@ -544,6 +544,10 @@ static PyMethodDef BPy_Texture_methods[] = {
         "(s) - Set Dist Metric"},
        {"evaluate", ( PyCFunction ) Texture_evaluate, METH_VARARGS,
         "(vector) - evaluate the texture at this position"},
+       {"__copy__", ( PyCFunction ) Texture_copy, METH_NOARGS,
+        "() - return a copy of the the texture"},
+       {"copy", ( PyCFunction ) Texture_copy, METH_NOARGS,
+        "() - return a copy of the the texture"},
        {NULL, NULL, 0, NULL}
 };
 
@@ -2731,3 +2735,10 @@ static PyObject *Texture_evaluate( BPy_Texture * self, PyObject * args )
        
        return newVectorObject(vec, 4, Py_NEW);
 }
+
+static PyObject *Texture_copy( BPy_Texture * self )
+{
+       Tex *tex = copy_texture(self->texture );
+       tex->id.us = 0;
+       return Texture_CreatePyObject(tex);
+}
index 32cc16c73bad5db90df521b091d39dbd7cb10fcf..3c212c5f19276ec9348774bdb46ce47355016e6b 100644 (file)
@@ -230,6 +230,8 @@ static PyMethodDef BPy_World_methods[] = {
         "( World IPO type ) - Inserts a key into the IPO"},
        {"__copy__", ( PyCFunction ) World_copy, METH_NOARGS,
         "() - Makes a copy of this world."},
+       {"copy", ( PyCFunction ) World_copy, METH_NOARGS,
+        "() - Makes a copy of this world."},
        {NULL, NULL, 0, NULL}
 };
 
@@ -901,28 +903,9 @@ static PyObject *World_setCurrent( BPy_World * self )
 /* world.__copy__ */
 static PyObject *World_copy( BPy_World * self )
 {
-       BPy_World *pyworld;
-       World *blworld;
-
-       blworld = copy_world( self->world );
-
-       if( blworld ) {
-               /* return user count to zero because add_world() inc'd it */
-               blworld->id.us = 0;
-               /* create python wrapper obj */
-               pyworld =
-                       ( BPy_World * ) PyObject_NEW( BPy_World, &World_Type );
-       } else
-               return ( EXPP_ReturnPyObjError( PyExc_RuntimeError,
-                                               "couldn't create World Data in Blender" ) );
-
-       if( pyworld == NULL )
-               return ( EXPP_ReturnPyObjError( PyExc_MemoryError,
-                                               "couldn't create World Data object" ) );
-
-       pyworld->world = blworld;
-
-       return ( PyObject * ) pyworld;
+       World *world = copy_world(self->world );
+       world->id.us = 0;
+       return World_CreatePyObject(world);
 }
 
 
index ef01d58677b84f4f4beae4fa626f0c801223c083..1ef88c4353a0fc8e1eed4f50e5590e3de8eac019 100644 (file)
@@ -95,6 +95,8 @@ static PyMethodDef BPy_Sequence_methods[] = {
         "(data) - Remove a strip."},
        {"__copy__", ( PyCFunction ) Sequence_copy, METH_NOARGS,
         "() - Return a copy of the sequence containing the same objects."},
+       {"copy", ( PyCFunction ) Sequence_copy, METH_NOARGS,
+        "() - Return a copy of the sequence containing the same objects."},
        {NULL, NULL, 0, NULL}
 };