[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26122] trunk/blender/source/blender/ editors/transform/transform_conversions.c: Motion Paths are now recalculated again after transforms ( with autokeying and around-current frame displays enabled)
Joshua Leung
aligorith at gmail.com
Tue Jan 19 22:44:22 CET 2010
Revision: 26122
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26122
Author: aligorith
Date: 2010-01-19 22:44:22 +0100 (Tue, 19 Jan 2010)
Log Message:
-----------
Motion Paths are now recalculated again after transforms (with autokeying and around-current frame displays enabled)
Modified Paths:
--------------
trunk/blender/source/blender/editors/transform/transform_conversions.c
Modified: trunk/blender/source/blender/editors/transform/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_conversions.c 2010-01-19 21:42:01 UTC (rev 26121)
+++ trunk/blender/source/blender/editors/transform/transform_conversions.c 2010-01-19 21:44:22 UTC (rev 26122)
@@ -4708,8 +4708,8 @@
/* do the bone paths
* NOTE: only do this when there is context info
*/
- if (C && (arm->pathflag & ARM_PATH_ACFRA)) {
- //pose_clear_paths(ob); // XXX for now, don't need to clear
+ if (C && (ob->pose->avs.path_type == MOTIONPATH_TYPE_ACFRA)) {
+ //ED_pose_clear_paths(C, ob); // XXX for now, don't need to clear
ED_pose_recalculate_paths(C, scene, ob);
}
}
@@ -4963,7 +4963,7 @@
;
}
else { /* Objects */
- int i;
+ int i, recalcObPaths=0;
for (i = 0; i < t->total; i++) {
TransData *td = t->data + i;
@@ -4996,9 +4996,21 @@
DAG_id_flush_update(&ob->id, OB_RECALC_OB);
/* Set autokey if necessary */
- if (!cancelled)
+ if (!cancelled) {
autokeyframe_ob_cb_func(C, t->scene, (View3D *)t->view, ob, t->mode);
+
+ if (ob->avs.path_type == MOTIONPATH_TYPE_ACFRA)
+ recalcObPaths= 1;
+ }
}
+
+ /* recalculate motion paths for objects (if necessary)
+ * NOTE: only do this when there is context info
+ */
+ if (C && recalcObPaths) {
+ //ED_objects_clear_paths(C); // XXX for now, don't need to clear
+ ED_objects_recalculate_paths(C, t->scene);
+ }
}
clear_trans_object_base_flags(t);
More information about the Bf-blender-cvs
mailing list