[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29362] branches/render25: Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29331 :29361

Campbell Barton ideasman42 at gmail.com
Wed Jun 9 11:08:36 CEST 2010


Revision: 29362
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29362
Author:   campbellbarton
Date:     2010-06-09 11:08:34 +0200 (Wed, 09 Jun 2010)

Log Message:
-----------
Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29331:29361

Modified Paths:
--------------
    branches/render25/CMakeLists.txt
    branches/render25/release/scripts/io/export_fbx.py
    branches/render25/release/scripts/modules/bpy_types.py
    branches/render25/source/blender/blenkernel/intern/object.c
    branches/render25/source/blender/blenloader/intern/readfile.c
    branches/render25/source/blender/editors/interface/interface_panel.c
    branches/render25/source/blender/editors/mesh/editmesh_tools.c
    branches/render25/source/blender/editors/object/object_relations.c
    branches/render25/source/blender/editors/render/CMakeLists.txt
    branches/render25/source/blender/editors/screen/screen_ops.c
    branches/render25/source/blender/editors/space_script/script_edit.c
    branches/render25/source/blender/makesrna/intern/rna_internal.h
    branches/render25/source/blender/makesrna/intern/rna_object.c
    branches/render25/source/blender/makesrna/intern/rna_object_api.c
    branches/render25/source/blender/makesrna/intern/rna_particle.c

Modified: branches/render25/CMakeLists.txt
===================================================================
--- branches/render25/CMakeLists.txt	2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/CMakeLists.txt	2010-06-09 09:08:34 UTC (rev 29362)
@@ -45,7 +45,7 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 
 # quiet output for Makefiles, 'make -s' helps too
-SET_PROPERTY(GLOBAL PROPERTY RULE_MESSAGES OFF)
+# SET_PROPERTY(GLOBAL PROPERTY RULE_MESSAGES OFF)
 
 PROJECT(Blender)
 

Modified: branches/render25/release/scripts/io/export_fbx.py
===================================================================
--- branches/render25/release/scripts/io/export_fbx.py	2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/release/scripts/io/export_fbx.py	2010-06-09 09:08:34 UTC (rev 29362)
@@ -2011,9 +2011,8 @@
 
         if ob_arms_orig_rest:
             for ob_base in bpy.data.objects:
-                #if ob_base.type == 'Armature':
-                ob_base.make_display_list(scene)
-# 				ob_base.makeDisplayList()
+                if ob_base.type == 'ARMATURE':
+                    ob_base.update(scene)
 
             # This causes the makeDisplayList command to effect the mesh
             scene.set_frame(scene.frame_current)
@@ -2187,9 +2186,7 @@
         if ob_arms_orig_rest:
             for ob_base in bpy.data.objects:
                 if ob_base.type == 'ARMATURE':
-# 				if ob_base.type == 'Armature':
-                    ob_base.make_display_list(scene)
-# 					ob_base.makeDisplayList()
+                    ob_base.update(scene)
             # This causes the makeDisplayList command to effect the mesh
             scene.set_frame(scene.frame_current)
 # 			Blender.Set('curframe', Blender.Get('curframe'))

Modified: branches/render25/release/scripts/modules/bpy_types.py
===================================================================
--- branches/render25/release/scripts/modules/bpy_types.py	2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/release/scripts/modules/bpy_types.py	2010-06-09 09:08:34 UTC (rev 29362)
@@ -38,6 +38,22 @@
         return new_context
 
 
+class Texture(bpy_types.ID):
+    __slots__ = ()
+
+    @property
+    def users_material(self):
+        """Materials that use this texture"""
+        import bpy
+        return tuple(mat for mat in bpy.data.materials if self in [slot.texture for slot in mat.texture_slots if slot])
+
+    @property
+    def users_object_modifier(self):
+        """Object modifiers that use this texture"""
+        import bpy
+        return tuple(obj for obj in bpy.data.objects if self in [mod.texture for mod in obj.modifiers if mod.type == 'DISPLACE'])
+
+
 class Group(bpy_types.ID):
     __slots__ = ()
 

Modified: branches/render25/source/blender/blenkernel/intern/object.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/object.c	2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/source/blender/blenkernel/intern/object.c	2010-06-09 09:08:34 UTC (rev 29362)
@@ -1028,6 +1028,8 @@
 	ob->anisotropicFriction[2] = 1.0f;
 	ob->gameflag= OB_PROP|OB_COLLISION;
 	ob->margin = 0.0;
+	ob->init_state=1;
+	ob->state=1;
 	/* ob->pad3 == Contact Processing Threshold */
 	ob->m_contactProcessingThreshold = 1.;
 	

Modified: branches/render25/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/render25/source/blender/blenloader/intern/readfile.c	2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/source/blender/blenloader/intern/readfile.c	2010-06-09 09:08:34 UTC (rev 29362)
@@ -3111,6 +3111,7 @@
 			for(; pt; pt=pt->next)
 				pt->ob=newlibadr(fd, id->lib, pt->ob);
 
+			psys->parent= newlibadr_us(fd, id->lib, psys->parent);
 			psys->target_ob = newlibadr(fd, id->lib, psys->target_ob);
 
 			if(psys->clmd) {
@@ -3180,7 +3181,7 @@
 		psys->childcachebufs.first = psys->childcachebufs.last = NULL;
 		psys->frand = NULL;
 		psys->pdd = NULL;
-
+		
 		direct_link_pointcache_list(fd, &psys->ptcaches, &psys->pointcache);
 
 		if(psys->clmd) {

Modified: branches/render25/source/blender/editors/interface/interface_panel.c
===================================================================
--- branches/render25/source/blender/editors/interface/interface_panel.c	2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/source/blender/editors/interface/interface_panel.c	2010-06-09 09:08:34 UTC (rev 29362)
@@ -656,6 +656,10 @@
 {
 	const PanelSort *ps1=a1, *ps2=a2;
 	
+	/* stick uppermost header-less panels to the top of the region -
+	 * prevent them from being sorted */
+	if (ps1->pa->sortorder < ps2->pa->sortorder && ps1->pa->type->flag & PNL_NO_HEADER) return -1;
+	
 	if(ps1->pa->ofsy+ps1->pa->sizey < ps2->pa->ofsy+ps2->pa->sizey) return 1;
 	else if(ps1->pa->ofsy+ps1->pa->sizey > ps2->pa->ofsy+ps2->pa->sizey) return -1;
 	else if(ps1->pa->sortorder > ps2->pa->sortorder) return 1;
@@ -1055,7 +1059,7 @@
 				inside= 1;
 		
 		if(inside && event->val==KM_PRESS) {
-			if(event->type == AKEY) {
+			if(event->type == AKEY && !ELEM3(1, event->ctrl, event->oskey, event->shift)) {
 				
 				if(pa->flag & PNL_CLOSEDY) {
 					if((block->maxy <= my) && (block->maxy+PNL_HEADER >= my))

Modified: branches/render25/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- branches/render25/source/blender/editors/mesh/editmesh_tools.c	2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/source/blender/editors/mesh/editmesh_tools.c	2010-06-09 09:08:34 UTC (rev 29362)
@@ -7113,9 +7113,6 @@
 	Object *obedit= CTX_data_edit_object(C);
 	EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
 
-	/* recalc outside so that joining doesn't create a hole */
-	EM_recalc_normal_direction(em, 0, 1);
-	
 	join_triangles(em);
 
 	DAG_id_flush_update(obedit->data, OB_RECALC_DATA);

Modified: branches/render25/source/blender/editors/object/object_relations.c
===================================================================
--- branches/render25/source/blender/editors/object/object_relations.c	2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/source/blender/editors/object/object_relations.c	2010-06-09 09:08:34 UTC (rev 29362)
@@ -1188,6 +1188,29 @@
 	MAKE_LINKS_MODIFIERS
 };
 
+/* Return 1 if make link data is allow, zero otherwise */
+static int allow_make_links_data(int ev, Object *ob, Object *obt)
+{
+	if (ev == MAKE_LINKS_OBDATA) {
+		if (ob->type == OB_MESH && obt->type == OB_MESH)
+			return(1);
+	}
+	else if (ev == MAKE_LINKS_MATERIALS) {
+		if ((ob->type == OB_MESH || ob->type == OB_CURVE || ob->type == OB_FONT || ob->type == OB_SURF || ob->type == OB_MBALL) &&
+		    (obt->type == OB_MESH || obt->type == OB_CURVE || obt->type == OB_FONT || obt->type == OB_SURF || obt->type == OB_MBALL))
+			return(1);
+	}
+	else if (ev == MAKE_LINKS_ANIMDATA)
+		return(1);
+	else if (ev == MAKE_LINKS_DUPLIGROUP)
+		return(1);
+	else if (ev == MAKE_LINKS_MODIFIERS) {
+		if (ob->type != OB_EMPTY && obt->type != OB_EMPTY)
+			return(1);
+	}
+	return(0);
+}
+
 static int make_links_data_exec(bContext *C, wmOperator *op)
 {
 	int event = RNA_int_get(op->ptr, "type");
@@ -1199,46 +1222,45 @@
 
 	CTX_DATA_BEGIN(C, Object*, obt, selected_editable_objects) {
 		if(ob != obt) {
-			switch(event) {
-			case MAKE_LINKS_OBDATA: /* obdata */
-				if (ob->type != obt->type)
-					continue;
+			if (allow_make_links_data(event, ob, obt)) {
+				switch(event) {
+				case MAKE_LINKS_OBDATA: /* obdata */
+					id= obt->data;
+					id->us--;
 
-				id= obt->data;
-				id->us--;
+					id= ob->data;
+					id_us_plus(id);
+					obt->data= id;
 
-				id= ob->data;
-				id_us_plus(id);
-				obt->data= id;
+					/* if amount of material indices changed: */
+					test_object_materials(obt->data);
 
-				/* if amount of material indices changed: */
-				test_object_materials(obt->data);
-
-				obt->recalc |= OB_RECALC_DATA;
-				break;
-			case MAKE_LINKS_MATERIALS:
-				/* new approach, using functions from kernel */
-				for(a=0; a<ob->totcol; a++) {
-					Material *ma= give_current_material(ob, a+1);
-					assign_material(obt, ma, a+1);	/* also works with ma==NULL */
+					obt->recalc |= OB_RECALC_DATA;
+					break;
+				case MAKE_LINKS_MATERIALS:
+					/* new approach, using functions from kernel */
+					for(a=0; a<ob->totcol; a++) {
+						Material *ma= give_current_material(ob, a+1);
+						assign_material(obt, ma, a+1);	/* also works with ma==NULL */
+					}
+					break;
+				case MAKE_LINKS_ANIMDATA:
+					BKE_copy_animdata_id((ID *)obt, (ID *)ob);
+					BKE_copy_animdata_id((ID *)obt->data, (ID *)ob->data);
+					break;
+				case MAKE_LINKS_DUPLIGROUP:
+					if(ob->dup_group) ob->dup_group->id.us--;
+					obt->dup_group= ob->dup_group;
+					if(obt->dup_group) {
+						id_us_plus((ID *)obt->dup_group);
+						obt->transflag |= OB_DUPLIGROUP;
+					}
+					break;
+				case MAKE_LINKS_MODIFIERS:
+					object_link_modifiers(obt, ob);
+					obt->recalc |= OB_RECALC;
+					break;
 				}
-				break;
-			case MAKE_LINKS_ANIMDATA:
-				BKE_copy_animdata_id((ID *)obt, (ID *)ob);
-				BKE_copy_animdata_id((ID *)obt->data, (ID *)ob->data);
-				break;
-			case MAKE_LINKS_DUPLIGROUP:
-				if(ob->dup_group) ob->dup_group->id.us--;
-				obt->dup_group= ob->dup_group;
-				if(obt->dup_group) {
-					id_us_plus((ID *)obt->dup_group);
-					obt->transflag |= OB_DUPLIGROUP;
-				}
-				break;
-			case MAKE_LINKS_MODIFIERS:
-				object_link_modifiers(obt, ob);
-				obt->recalc |= OB_RECALC;
-				break;
 			}
 		}
 	}

Modified: branches/render25/source/blender/editors/render/CMakeLists.txt
===================================================================
--- branches/render25/source/blender/editors/render/CMakeLists.txt	2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/source/blender/editors/render/CMakeLists.txt	2010-06-09 09:08:34 UTC (rev 29362)
@@ -39,7 +39,7 @@
 )
 
 IF(WITH_QUICKTIME)
-	SET(INC ${INC} ../quicktime ${QUICKTIME_INC})
+	SET(INC ${INC} ../../quicktime ${QUICKTIME_INC})
 	ADD_DEFINITIONS(-DWITH_QUICKTIME)
 ENDIF(WITH_QUICKTIME)
 

Modified: branches/render25/source/blender/editors/screen/screen_ops.c
===================================================================
--- branches/render25/source/blender/editors/screen/screen_ops.c	2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/source/blender/editors/screen/screen_ops.c	2010-06-09 09:08:34 UTC (rev 29362)
@@ -2172,34 +2172,22 @@

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list