[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28760] branches/render25: svn merge https ://svn.blender.org/svnroot/bf-blender/trunk/blender -r28726:28759

Campbell Barton ideasman42 at gmail.com
Fri May 14 11:44:33 CEST 2010


Revision: 28760
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28760
Author:   campbellbarton
Date:     2010-05-14 11:44:32 +0200 (Fri, 14 May 2010)

Log Message:
-----------
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender   -r28726:28759

Modified Paths:
--------------
    branches/render25/release/scripts/op/nla.py
    branches/render25/release/scripts/op/wm.py
    branches/render25/release/scripts/ui/space_node.py
    branches/render25/release/scripts/ui/space_text.py
    branches/render25/source/blender/blenkernel/BKE_smoke.h
    branches/render25/source/blender/blenkernel/intern/anim_sys.c
    branches/render25/source/blender/blenkernel/intern/displist.c
    branches/render25/source/blender/blenkernel/intern/pointcache.c
    branches/render25/source/blender/blenkernel/intern/smoke.c
    branches/render25/source/blender/blenloader/intern/readfile.c
    branches/render25/source/blender/collada/Makefile
    branches/render25/source/blender/editors/animation/anim_filter.c
    branches/render25/source/blender/editors/include/UI_view2d.h
    branches/render25/source/blender/editors/interface/view2d.c
    branches/render25/source/blender/editors/object/object_edit.c
    branches/render25/source/blender/editors/object/object_intern.h
    branches/render25/source/blender/editors/object/object_ops.c
    branches/render25/source/blender/editors/object/object_select.c
    branches/render25/source/blender/editors/render/render_shading.c
    branches/render25/source/blender/editors/space_file/filelist.c
    branches/render25/source/blender/editors/space_file/filelist.h
    branches/render25/source/blender/editors/space_file/space_file.c
    branches/render25/source/blender/editors/space_graph/graph_draw.c
    branches/render25/source/blender/editors/space_logic/logic_window.c
    branches/render25/source/blender/editors/space_node/node_edit.c
    branches/render25/source/blender/editors/space_node/node_intern.h
    branches/render25/source/blender/editors/space_node/node_ops.c
    branches/render25/source/blender/editors/space_node/node_select.c
    branches/render25/source/blender/editors/space_node/space_node.c
    branches/render25/source/blender/editors/space_sequencer/sequencer_select.c
    branches/render25/source/blender/editors/space_text/space_text.c
    branches/render25/source/blender/editors/space_view3d/drawvolume.c
    branches/render25/source/blender/editors/space_view3d/space_view3d.c
    branches/render25/source/blender/editors/uvedit/uvedit_unwrap_ops.c
    branches/render25/source/blender/makesdna/DNA_object_types.h
    branches/render25/source/blender/makesrna/intern/rna_object.c
    branches/render25/source/blender/modifiers/intern/MOD_simpledeform.c
    branches/render25/source/blender/modifiers/intern/MOD_smoke.c
    branches/render25/source/blender/modifiers/intern/MOD_util.c

Modified: branches/render25/release/scripts/op/nla.py
===================================================================
--- branches/render25/release/scripts/op/nla.py	2010-05-14 08:16:45 UTC (rev 28759)
+++ branches/render25/release/scripts/op/nla.py	2010-05-14 09:44:32 UTC (rev 28760)
@@ -130,7 +130,7 @@
 
 
 class BakeAction(bpy.types.Operator):
-    '''Add a torus mesh'''
+    '''Bake animation to an Action'''
     bl_idname = "nla.bake"
     bl_label = "Bake Action"
     bl_options = {'REGISTER', 'UNDO'}

Modified: branches/render25/release/scripts/op/wm.py
===================================================================
--- branches/render25/release/scripts/op/wm.py	2010-05-14 08:16:45 UTC (rev 28759)
+++ branches/render25/release/scripts/op/wm.py	2010-05-14 09:44:32 UTC (rev 28760)
@@ -24,8 +24,7 @@
 
 
 class MESH_OT_delete_edgeloop(bpy.types.Operator):
-    '''Export a single object as a stanford PLY with normals,
-    colours and texture coordinates.'''
+    '''Delete an edge loop by merging the faces on each side to a single face loop'''
     bl_idname = "mesh.delete_edgeloop"
     bl_label = "Delete Edge Loop"
 

Modified: branches/render25/release/scripts/ui/space_node.py
===================================================================
--- branches/render25/release/scripts/ui/space_node.py	2010-05-14 08:16:45 UTC (rev 28759)
+++ branches/render25/release/scripts/ui/space_node.py	2010-05-14 09:44:32 UTC (rev 28760)
@@ -106,6 +106,9 @@
         layout.operator("node.select_all")
         layout.operator("node.select_linked_from")
         layout.operator("node.select_linked_to")
+        layout.operator("node.select_same_type")
+        layout.operator("node.select_same_type_next")
+        layout.operator("node.select_same_type_prev")
 
 
 class NODE_MT_node(bpy.types.Menu):

Modified: branches/render25/release/scripts/ui/space_text.py
===================================================================
--- branches/render25/release/scripts/ui/space_text.py	2010-05-14 08:16:45 UTC (rev 28759)
+++ branches/render25/release/scripts/ui/space_text.py	2010-05-14 09:44:32 UTC (rev 28760)
@@ -274,6 +274,22 @@
         layout.menu("TEXT_MT_edit_to3d")
 
 
+class TEXT_MT_toolbox(bpy.types.Menu):
+    bl_label = ""
+
+    def draw(self, context):
+        layout = self.layout
+        layout.operator_context = 'INVOKE_DEFAULT'
+
+        layout.operator("text.cut")
+        layout.operator("text.copy")
+        layout.operator("text.paste")
+
+        layout.separator()
+        
+        layout.operator("text.run_script")
+
+
 classes = [
     TEXT_HT_header,
     TEXT_PT_properties,
@@ -285,7 +301,8 @@
     TEXT_MT_edit_view,
     TEXT_MT_edit_select,
     TEXT_MT_edit_markers,
-    TEXT_MT_edit_to3d]
+    TEXT_MT_edit_to3d,
+    TEXT_MT_toolbox]
 
 
 def register():

Modified: branches/render25/source/blender/blenkernel/BKE_smoke.h
===================================================================
--- branches/render25/source/blender/blenkernel/BKE_smoke.h	2010-05-14 08:16:45 UTC (rev 28759)
+++ branches/render25/source/blender/blenkernel/BKE_smoke.h	2010-05-14 09:44:32 UTC (rev 28760)
@@ -40,6 +40,7 @@
 void smokeModifier_reset(struct SmokeModifierData *smd);
 void smokeModifier_reset_turbulence(struct SmokeModifierData *smd);
 void smokeModifier_createType(struct SmokeModifierData *smd);
+void smokeModifier_copy(struct SmokeModifierData *smd, struct SmokeModifierData *tsmd);
 
 long long smoke_get_mem_req(int xres, int yres, int zres, int amplify);
 

Modified: branches/render25/source/blender/blenkernel/intern/anim_sys.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/anim_sys.c	2010-05-14 08:16:45 UTC (rev 28759)
+++ branches/render25/source/blender/blenkernel/intern/anim_sys.c	2010-05-14 09:44:32 UTC (rev 28760)
@@ -1805,9 +1805,10 @@
 	 */
 #define EVAL_ANIM_IDS(first, aflag) \
 	for (id= first; id; id= id->next) { \
-		AnimData *adt= BKE_animdata_from_id(id); \
-		if ( (id->us > 1) || (id->us && !(id->flag & LIB_FAKEUSER)) ) \
+		if (ID_REAL_USERS(id) > 0) { \
+			AnimData *adt= BKE_animdata_from_id(id); \
 			BKE_animsys_evaluate_animdata(id, adt, ctime, aflag); \
+		} \
 	}
 	
 	/* optimisation: 

Modified: branches/render25/source/blender/blenkernel/intern/displist.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/displist.c	2010-05-14 08:16:45 UTC (rev 28759)
+++ branches/render25/source/blender/blenkernel/intern/displist.c	2010-05-14 09:44:32 UTC (rev 28760)
@@ -1281,6 +1281,40 @@
 	*numVerts_r = numVerts;
 }
 
+static float (*displist_get_allverts (ListBase *dispbase, int *totvert))[3]
+{
+	DispList *dl;
+	float (*allverts)[3], *fp;
+
+	*totvert= 0;
+
+	for (dl=dispbase->first; dl; dl=dl->next)
+		*totvert+= (dl->type==DL_INDEX3)?dl->nr:dl->parts*dl->nr;
+
+	allverts= MEM_mallocN((*totvert)*sizeof(float)*3, "displist_get_allverts allverts");
+	fp= (float*)allverts;
+	for (dl=dispbase->first; dl; dl=dl->next) {
+		int offs= 3 * ((dl->type==DL_INDEX3)?dl->nr:dl->parts*dl->nr);
+		memcpy(fp, dl->verts, sizeof(float) * offs);
+		fp+= offs;
+	}
+
+	return allverts;
+}
+
+static void displist_apply_allverts(ListBase *dispbase, float (*allverts)[3])
+{
+	DispList *dl;
+	float *fp;
+
+	fp= (float*)allverts;
+	for (dl=dispbase->first; dl; dl=dl->next) {
+		int offs= 3 * ((dl->type==DL_INDEX3)?dl->nr:dl->parts*dl->nr);
+		memcpy(dl->verts, fp, sizeof(float) * offs);
+		fp+= offs;
+	}
+}
+
 static void curve_calc_modifiers_post(Scene *scene, Object *ob, ListBase *dispbase,
 	DerivedMesh **derivedFinal, int forRender, float (*originalVerts)[3], float (*deformedVerts)[3])
 {
@@ -1288,12 +1322,10 @@
 	ModifierData *preTesselatePoint;
 	Curve *cu= ob->data;
 	ListBase *nurb= cu->editnurb?cu->editnurb:&cu->nurb;
-	DispList *dl;
-	int required_mode;
+	int required_mode, totvert;
 	int editmode = (!forRender && cu->editnurb);
 	DerivedMesh *dm= NULL, *ndm;
-	float (*dmDeformedVerts)[3] = NULL;
-	int numVerts;
+	float (*vertCos)[3] = NULL;
 
 	if(forRender) required_mode = eModifierMode_Render;
 	else required_mode = eModifierMode_Realtime;
@@ -1318,47 +1350,22 @@
 		if ((md->mode & required_mode) != required_mode) continue;
 		if (mti->isDisabled && mti->isDisabled(md, forRender)) continue;
 
-		if(md->type==eModifierType_Curve && !dm) {
-			/* need to put all verts in 1 block for curve deform */
-			float *allverts = NULL, *fp;
-			int totvert= 0;
-
-			for (dl=dispbase->first; dl; dl=dl->next)
-				totvert+= (dl->type==DL_INDEX3)?dl->nr:dl->parts*dl->nr;
-
-			fp= allverts= MEM_mallocN(totvert*sizeof(float)*3, "temp vert");
-			for (dl=dispbase->first; dl; dl=dl->next) {
-				int offs= 3 * ((dl->type==DL_INDEX3)?dl->nr:dl->parts*dl->nr);
-				memcpy(fp, dl->verts, sizeof(float) * offs);
-				fp+= offs;
-			}
-
-			mti->deformVerts(md, ob, NULL, (float(*)[3]) allverts, totvert, forRender, editmode);
-
-			if (allverts) {
-				fp= allverts;
-				for (dl=dispbase->first; dl; dl=dl->next) {
-					int offs= 3 * ((dl->type==DL_INDEX3)?dl->nr:dl->parts*dl->nr);
-					memcpy(dl->verts, fp, sizeof(float) * offs);
-					fp+= offs;
-				}
-				MEM_freeN(allverts);
-			}
-		} else if (mti->type == eModifierTypeType_OnlyDeform ||
+		if (mti->type == eModifierTypeType_OnlyDeform ||
 				(mti->type == eModifierTypeType_DeformOrConstruct && !dm)) {
 			if (dm) {
-				if (!dmDeformedVerts) {
-					numVerts = dm->getNumVerts(dm);
-					dmDeformedVerts =
-						MEM_mallocN(sizeof(*dmDeformedVerts) * numVerts, "dfmv");
-					dm->getVertCos(dm, dmDeformedVerts);
+				if (!vertCos) {
+					totvert = dm->getNumVerts(dm);
+					vertCos = MEM_mallocN(sizeof(*vertCos) * totvert, "dfmv");
+					dm->getVertCos(dm, vertCos);
 				}
 
-				mti->deformVerts(md, ob, dm, dmDeformedVerts, numVerts, forRender, editmode);
+				mti->deformVerts(md, ob, dm, vertCos, totvert, forRender, editmode);
 			} else {
-				for (dl=dispbase->first; dl; dl=dl->next) {
-					mti->deformVerts(md, ob, dm, (float(*)[3]) dl->verts, (dl->type==DL_INDEX3)?dl->nr:dl->parts*dl->nr, forRender, editmode);
+				if (!vertCos) {
+					vertCos= displist_get_allverts(dispbase, &totvert);
 				}
+
+				mti->deformVerts(md, ob, NULL, vertCos, totvert, forRender, editmode);
 			}
 		} else {
 			if (!derivedFinal) {
@@ -1369,29 +1376,34 @@
 			}
 
 			if (dm) {
-				if (dmDeformedVerts) {
+				if (vertCos) {
 					DerivedMesh *tdm = CDDM_copy(dm);
 					dm->release(dm);
 					dm = tdm;
 
-					CDDM_apply_vert_coords(dm, dmDeformedVerts);
+					CDDM_apply_vert_coords(dm, vertCos);
 					CDDM_calc_normals(dm);
 				}
 			} else {
+				if (vertCos) {
+					displist_apply_allverts(dispbase, vertCos);
+				}
+
 				if (ELEM(ob->type, OB_CURVE, OB_FONT) && (cu->flag & CU_DEFORM_FILL)) {
 					curve_to_filledpoly(cu, nurb, dispbase);
 				}
 
 				dm= CDDM_from_curve_customDB(ob, dispbase);
 
-				if(dmDeformedVerts) {
-					CDDM_apply_vert_coords(dm, dmDeformedVerts);
-					CDDM_calc_normals(dm);
-				}
-
 				CDDM_calc_normals(dm);
 			}
 
+			if (vertCos) {
+				/* Vertex coordinates were applied to necessary data, could free it */
+				MEM_freeN(vertCos);
+				vertCos= NULL;
+			}
+
 			ndm = mti->applyModifier(md, ob, dm, forRender, editmode);
 
 			if (ndm) {
@@ -1400,23 +1412,24 @@
 				if (dm && dm != ndm) /* Modifier  */
 					dm->release (dm);
 				dm = ndm;
-
-				if (dmDeformedVerts) {
-					MEM_freeN(dmDeformedVerts);
-					dmDeformedVerts= NULL;
-				}
 			}
 		}
 	}
 
-	if(dm && dmDeformedVerts) {
-		DerivedMesh *tdm = CDDM_copy(dm);
-		dm->release(dm);
-		dm = tdm;
+	if (vertCos) {
+		if (dm) {
+			DerivedMesh *tdm = CDDM_copy(dm);
+			dm->release(dm);
+			dm = tdm;
 
-		CDDM_apply_vert_coords(dm, dmDeformedVerts);
-		CDDM_calc_normals(dm);
-		MEM_freeN(dmDeformedVerts);
+			CDDM_apply_vert_coords(dm, vertCos);
+			CDDM_calc_normals(dm);
+			MEM_freeN(vertCos);
+		} else {
+			displist_apply_allverts(dispbase, vertCos);
+			MEM_freeN(vertCos);
+			vertCos= NULL;
+		}
 	}
 
 	if (derivedFinal) {

Modified: branches/render25/source/blender/blenkernel/intern/pointcache.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/pointcache.c	2010-05-14 08:16:45 UTC (rev 28759)
+++ branches/render25/source/blender/blenkernel/intern/pointcache.c	2010-05-14 09:44:32 UTC (rev 28760)
@@ -1180,8 +1180,10 @@
 
 	if (mode==PTCACHE_FILE_READ) {
 		if (!BLI_exists(filename)) {

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list