[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51539] trunk/blender: Bugfix 30974

Ton Roosendaal ton at blender.org
Tue Oct 23 16:07:32 CEST 2012


Revision: 51539
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51539
Author:   ton
Date:     2012-10-23 14:07:32 +0000 (Tue, 23 Oct 2012)
Log Message:
-----------
Bugfix 30974

- Disabled "Quick Cache" option. It was causing ridiculous updates
  on the entire animation system for start-end frame on every user
  event causing changes here (like during transform). Worst was that you
  couldn't transform animated objects for that reason either.

  Most of the code is still there, waiting for a moment to revise it...

- Constraint "Follow Track" (marker) wasn't using inverse matrix code
  in transform, making it wacko to use (wrong pivot, crazyspace)

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_ui/properties_physics_common.py
    trunk/blender/source/blender/blenkernel/intern/object.c
    trunk/blender/source/blender/blenkernel/intern/pointcache.c
    trunk/blender/source/blender/blenkernel/intern/scene.c
    trunk/blender/source/blender/editors/transform/transform_conversions.c

Modified: trunk/blender/release/scripts/startup/bl_ui/properties_physics_common.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/properties_physics_common.py	2012-10-23 13:50:44 UTC (rev 51538)
+++ trunk/blender/release/scripts/startup/bl_ui/properties_physics_common.py	2012-10-23 14:07:32 UTC (rev 51539)
@@ -133,7 +133,7 @@
             row.prop(cache, "frame_end")
         if cachetype not in {'SMOKE', 'CLOTH', 'DYNAMIC_PAINT'}:
             row.prop(cache, "frame_step")
-            row.prop(cache, "use_quick_cache")
+            
         if cachetype != 'SMOKE':
             layout.label(text=cache.info)
 

Modified: trunk/blender/source/blender/blenkernel/intern/object.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/object.c	2012-10-23 13:50:44 UTC (rev 51538)
+++ trunk/blender/source/blender/blenkernel/intern/object.c	2012-10-23 14:07:32 UTC (rev 51539)
@@ -2696,26 +2696,8 @@
 						psys_get_modifier(ob, psys)->flag &= ~eParticleSystemFlag_psys_updated;
 				}
 			}
-
-			/* check if quick cache is needed */
-			BKE_ptcache_ids_from_object(&pidlist, ob, scene, MAX_DUPLI_RECUR);
-
-			for (pid = pidlist.first; pid; pid = pid->next) {
-				if ((pid->cache->flag & PTCACHE_BAKED) ||
-				    (pid->cache->flag & PTCACHE_QUICK_CACHE) == 0)
-				{
-					continue;
-				}
-
-				if (pid->cache->flag & PTCACHE_OUTDATED || (pid->cache->flag & PTCACHE_SIMULATION_VALID) == 0) {
-					scene->physics_settings.quick_cache_step =
-					        scene->physics_settings.quick_cache_step ?
-					        min_ii(scene->physics_settings.quick_cache_step, pid->cache->step) :
-					        pid->cache->step;
-				}
-			}
-
-			BLI_freelistN(&pidlist);
+			
+			/* quick cache removed */
 		}
 
 		/* the no-group proxy case, we call update */

Modified: trunk/blender/source/blender/blenkernel/intern/pointcache.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/pointcache.c	2012-10-23 13:50:44 UTC (rev 51538)
+++ trunk/blender/source/blender/blenkernel/intern/pointcache.c	2012-10-23 14:07:32 UTC (rev 51539)
@@ -2826,6 +2826,8 @@
 	return ptcaches_new->first;
 }
 
+/* Disabled this code; this is being called on scene_update_tagged, and that in turn gets called on 
+   every user action changing stuff, and then it runs a complete bake??? (ton) */
 
 /* Baking */
 void BKE_ptcache_quick_cache_all(Main *bmain, Scene *scene)

Modified: trunk/blender/source/blender/blenkernel/intern/scene.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/scene.c	2012-10-23 13:50:44 UTC (rev 51538)
+++ trunk/blender/source/blender/blenkernel/intern/scene.c	2012-10-23 14:07:32 UTC (rev 51539)
@@ -1042,7 +1042,7 @@
 	/* flush recalc flags to dependencies */
 	DAG_ids_flush_tagged(bmain);
 
-	scene->physics_settings.quick_cache_step = 0;
+	/* removed calls to quick_cache, see pointcache.c */
 	
 	/* clear "LIB_DOIT" flag from all materials, to prevent infinite recursion problems later 
 	 * when trying to find materials with drivers that need evaluating [#32017] 
@@ -1065,10 +1065,6 @@
 			BKE_animsys_evaluate_animdata(scene, &scene->id, adt, ctime, 0);
 	}
 	
-	/* quick point cache updates */
-	if (scene->physics_settings.quick_cache_step)
-		BKE_ptcache_quick_cache_all(bmain, scene);
-
 	/* notify editors and python about recalc */
 	BLI_callback_exec(bmain, &scene->id, BLI_CB_EVT_SCENE_UPDATE_POST);
 	DAG_ids_check_recalc(bmain, scene, FALSE);

Modified: trunk/blender/source/blender/editors/transform/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_conversions.c	2012-10-23 13:50:44 UTC (rev 51538)
+++ trunk/blender/source/blender/editors/transform/transform_conversions.c	2012-10-23 14:07:32 UTC (rev 51539)
@@ -4506,6 +4506,7 @@
 				if (con->type == CONSTRAINT_TYPE_FOLLOWPATH) return 1;
 				if (con->type == CONSTRAINT_TYPE_CLAMPTO) return 1;
 				if (con->type == CONSTRAINT_TYPE_OBJECTSOLVER) return 1;
+				if (con->type == CONSTRAINT_TYPE_FOLLOWTRACK) return 1;
 				
 				/* constraints that require this only under special conditions */
 				if (con->type == CONSTRAINT_TYPE_ROTLIKE) {




More information about the Bf-blender-cvs mailing list