[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48399] trunk/blender/source/blender/ blenkernel/intern/dynamicpaint.c: Fix #31948: dynamic paint substeps do not work for objects parented to armatures

Miika Hamalainen miika.hamalainen at kolumbus.fi
Fri Jun 29 13:19:30 CEST 2012


Revision: 48399
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48399
Author:   miikah
Date:     2012-06-29 11:19:29 +0000 (Fri, 29 Jun 2012)
Log Message:
-----------
Fix #31948: dynamic paint substeps do not work for objects parented to armatures

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c

Modified: trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c	2012-06-29 11:16:17 UTC (rev 48398)
+++ trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c	2012-06-29 11:19:29 UTC (rev 48399)
@@ -33,6 +33,7 @@
 #include "BLI_utildefines.h"
 
 #include "DNA_anim_types.h"
+#include "DNA_armature_types.h"
 #include "DNA_constraint_types.h"
 #include "DNA_dynamicpaint_types.h"
 #include "DNA_group_types.h" /*GroupObject*/
@@ -46,6 +47,7 @@
 #include "DNA_texture_types.h"
 
 #include "BKE_animsys.h"
+#include "BKE_armature.h"
 #include "BKE_bvhutils.h"   /* bvh tree	*/
 #include "BKE_blender.h"
 #include "BKE_cdderivedmesh.h"
@@ -528,11 +530,6 @@
 			}
 		}
 	}
-	/* for curve following objects, parented curve has to be updated too */
-	if (ob->type == OB_CURVE) {
-		Curve *cu = ob->data;
-		BKE_animsys_evaluate_animdata(scene, &cu->id, cu->adt, frame, ADT_RECALC_ANIM);
-	}
 
 	/* was originally OB_RECALC_ALL - TODO - which flags are really needed??? */
 	ob->recalc |= OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME;
@@ -547,6 +544,18 @@
 	else
 		BKE_object_where_is_calc_time(scene, ob, frame);
 
+	/* for curve following objects, parented curve has to be updated too */
+	if (ob->type == OB_CURVE) {
+		Curve *cu = ob->data;
+		BKE_animsys_evaluate_animdata(scene, &cu->id, cu->adt, frame, ADT_RECALC_ANIM);
+	}
+	/* and armatures... */
+	if (ob->type == OB_ARMATURE) {
+		bArmature *arm = ob->data;
+		BKE_animsys_evaluate_animdata(scene, &arm->id, arm->adt, frame, ADT_RECALC_ANIM);
+		BKE_pose_where_is(scene, ob);
+	}
+
 	return 0;
 }
 




More information about the Bf-blender-cvs mailing list