[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34242] trunk/blender: - bpy.data.lamps. new() now takes a type argument since lamp type also sets class type this avoids needing to use ugly lamp .type_recast() after changing type.

Campbell Barton ideasman42 at gmail.com
Tue Jan 11 03:30:03 CET 2011


Revision: 34242
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=34242
Author:   campbellbarton
Date:     2011-01-11 02:30:01 +0000 (Tue, 11 Jan 2011)
Log Message:
-----------
- bpy.data.lamps.new() now takes a type argument since lamp type also sets class type this avoids needing to use ugly lamp.type_recast() after changing type.
- default vertex color layer name was UTTex when added from python.

Modified Paths:
--------------
    trunk/blender/release/scripts/op/io_scene_3ds/import_3ds.py
    trunk/blender/release/scripts/templates/background_job.py
    trunk/blender/source/blender/makesrna/RNA_enum_types.h
    trunk/blender/source/blender/makesrna/intern/rna_lamp.c
    trunk/blender/source/blender/makesrna/intern/rna_main_api.c
    trunk/blender/source/blender/makesrna/intern/rna_mesh.c
    trunk/blender/source/blender/python/intern/bpy_rna.c

Modified: trunk/blender/release/scripts/op/io_scene_3ds/import_3ds.py
===================================================================
--- trunk/blender/release/scripts/op/io_scene_3ds/import_3ds.py	2011-01-11 00:39:59 UTC (rev 34241)
+++ trunk/blender/release/scripts/op/io_scene_3ds/import_3ds.py	2011-01-11 02:30:01 UTC (rev 34242)
@@ -529,13 +529,10 @@
             new_chunk.bytes_read += STRUCT_SIZE_3FLOAT
 
             # no lamp in dict that would be confusing
-            ob = bpy.data.objects.new("Lamp", bpy.data.lamps.new("Lamp"))
-            SCN.objects.link(ob)
+            contextLamp[1] = bpy.data.lamps.new("Lamp", 'POINT')
+            contextLamp[0] = ob = bpy.data.objects.new("Lamp", contextLamp[1])
 
-            contextLamp[1]= ob.data
-# 			contextLamp[1]= bpy.data.lamps.new()
-            contextLamp[0]= ob
-# 			contextLamp[0]= SCN_OBJECTS.new(contextLamp[1])
+            SCN.objects.link(ob)
             importedObjects.append(contextLamp[0])
 
             #print 'number of faces: ', num_faces

Modified: trunk/blender/release/scripts/templates/background_job.py
===================================================================
--- trunk/blender/release/scripts/templates/background_job.py	2011-01-11 00:39:59 UTC (rev 34241)
+++ trunk/blender/release/scripts/templates/background_job.py	2011-01-11 02:30:01 UTC (rev 34242)
@@ -34,7 +34,7 @@
     cam_ob.location =  0.0, 0.0, 10.0
 
     # Lamp
-    lamp_data = bpy.data.lamps.new("MyLamp")
+    lamp_data = bpy.data.lamps.new("MyLamp", 'POINT')
     lamp_ob = bpy.data.objects.new(name="MyCam", object_data=lamp_data)
     scene.objects.link(lamp_ob)
     lamp_ob.location = 2.0, 2.0, 5.0

Modified: trunk/blender/source/blender/makesrna/RNA_enum_types.h
===================================================================
--- trunk/blender/source/blender/makesrna/RNA_enum_types.h	2011-01-11 00:39:59 UTC (rev 34241)
+++ trunk/blender/source/blender/makesrna/RNA_enum_types.h	2011-01-11 02:30:01 UTC (rev 34242)
@@ -75,6 +75,8 @@
 
 extern EnumPropertyItem texture_type_items[];
 
+extern EnumPropertyItem lamp_type_items[];
+
 extern EnumPropertyItem unpack_method_items[];
 
 extern EnumPropertyItem object_type_items[];

Modified: trunk/blender/source/blender/makesrna/intern/rna_lamp.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_lamp.c	2011-01-11 00:39:59 UTC (rev 34241)
+++ trunk/blender/source/blender/makesrna/intern/rna_lamp.c	2011-01-11 02:30:01 UTC (rev 34242)
@@ -144,6 +144,14 @@
 
 #else
 
+EnumPropertyItem lamp_type_items[] = {
+	{LA_LOCAL, "POINT", 0, "Point", "Omnidirectional point light source"},
+	{LA_SUN, "SUN", 0, "Sun", "Constant direction parallel ray light source"},
+	{LA_SPOT, "SPOT", 0, "Spot", "Directional cone light source"},
+	{LA_HEMI, "HEMI", 0, "Hemi", "180 degree constant light source"},
+	{LA_AREA, "AREA", 0, "Area", "Directional area light source"},
+	{0, NULL, 0, NULL, NULL}};
+
 static void rna_def_lamp_mtex(BlenderRNA *brna)
 {
 	StructRNA *srna;
@@ -326,21 +334,13 @@
 	StructRNA *srna;
 	PropertyRNA *prop;
 
-	static EnumPropertyItem prop_type_items[] = {
-		{LA_LOCAL, "POINT", 0, "Point", "Omnidirectional point light source"},
-		{LA_SUN, "SUN", 0, "Sun", "Constant direction parallel ray light source"},
-		{LA_SPOT, "SPOT", 0, "Spot", "Directional cone light source"},
-		{LA_HEMI, "HEMI", 0, "Hemi", "180 degree constant light source"},
-		{LA_AREA, "AREA", 0, "Area", "Directional area light source"},
-		{0, NULL, 0, NULL, NULL}};
-
 	srna= RNA_def_struct(brna, "Lamp", "ID");
 	RNA_def_struct_refine_func(srna, "rna_Lamp_refine");
 	RNA_def_struct_ui_text(srna, "Lamp", "Lamp datablock for lighting a scene");
 	RNA_def_struct_ui_icon(srna, ICON_LAMP_DATA);
 
 	prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
-	RNA_def_property_enum_items(prop, prop_type_items);
+	RNA_def_property_enum_items(prop, lamp_type_items);
 	RNA_def_property_ui_text(prop, "Type", "Type of Lamp");
 	RNA_def_property_update(prop, 0, "rna_Lamp_draw_update");
 

Modified: trunk/blender/source/blender/makesrna/intern/rna_main_api.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_main_api.c	2011-01-11 00:39:59 UTC (rev 34241)
+++ trunk/blender/source/blender/makesrna/intern/rna_main_api.c	2011-01-11 02:30:01 UTC (rev 34242)
@@ -236,9 +236,10 @@
 	/* XXX python now has invalid pointer? */
 }
 
-Lamp *rna_Main_lamps_new(Main *bmain, const char *name)
+Lamp *rna_Main_lamps_new(Main *bmain, const char *name, int type)
 {
 	Lamp *lamp= add_lamp(name);
+	lamp->type= type;
 	id_us_min(&lamp->id);
 	return lamp;
 }
@@ -716,6 +717,8 @@
 	RNA_def_function_ui_description(func, "Add a new lamp to the main database");
 	parm= RNA_def_string(func, "name", "Lamp", 0, "", "New name for the datablock.");
 	RNA_def_property_flag(parm, PROP_REQUIRED);
+	parm= RNA_def_enum(func, "type", lamp_type_items, 0, "Type", "The type of texture to add");
+	RNA_def_property_flag(parm, PROP_REQUIRED);
 	/* return type */
 	parm= RNA_def_pointer(func, "lamp", "Lamp", "", "New lamp datablock.");
 	RNA_def_function_return(func, parm);

Modified: trunk/blender/source/blender/makesrna/intern/rna_mesh.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_mesh.c	2011-01-11 00:39:59 UTC (rev 34241)
+++ trunk/blender/source/blender/makesrna/intern/rna_mesh.c	2011-01-11 02:30:01 UTC (rev 34242)
@@ -1727,7 +1727,7 @@
 	func= RNA_def_function(srna, "new", "rna_Mesh_vertex_color_new");
 	RNA_def_function_flag(func, FUNC_USE_CONTEXT);
 	RNA_def_function_ui_description(func, "Add a vertex color layer to Mesh.");
-	RNA_def_string(func, "name", "UVTex", 0, "", "UV Texture name.");
+	RNA_def_string(func, "name", "Col", 0, "", "Vertex color name.");
 	parm= RNA_def_pointer(func, "layer", "MeshColorLayer", "", "The newly created layer.");
 	RNA_def_function_return(func, parm);
 	

Modified: trunk/blender/source/blender/python/intern/bpy_rna.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_rna.c	2011-01-11 00:39:59 UTC (rev 34241)
+++ trunk/blender/source/blender/python/intern/bpy_rna.c	2011-01-11 02:30:01 UTC (rev 34242)
@@ -1312,12 +1312,10 @@
 static int pyrna_py_to_prop_array_index(BPy_PropertyArrayRNA *self, int index, PyObject *value)
 {
 	int ret = 0;
-	int totdim;
 	PointerRNA *ptr= &self->ptr;
 	PropertyRNA *prop= self->prop;
-	int type = RNA_property_type(prop);
 
-	totdim= RNA_property_array_dimension(ptr, prop, NULL);
+	const int totdim= RNA_property_array_dimension(ptr, prop, NULL);
 
 	if (totdim > 1) {
 		/* char error_str[512]; */
@@ -1328,7 +1326,7 @@
 	}
 	else {
 		/* see if we can coorce into a python type - PropertyType */
-		switch (type) {
+		switch (RNA_property_type(prop)) {
 		case PROP_BOOLEAN:
 			{
 				int param = PyLong_AsLong( value );




More information about the Bf-blender-cvs mailing list