[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48601] trunk/blender/source/blender/ blenkernel: Bugfix Smoke / DynamicPaint: Missing update call from depsgraph was missing when force fields were used .

Daniel Genrich daniel.genrich at gmx.net
Wed Jul 4 18:55:17 CEST 2012


Revision: 48601
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48601
Author:   genscher
Date:     2012-07-04 16:55:17 +0000 (Wed, 04 Jul 2012)
Log Message:
-----------
Bugfix Smoke / DynamicPaint: Missing update call from depsgraph was missing when force fields were used.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_modifier.h
    trunk/blender/source/blender/blenkernel/intern/depsgraph.c
    trunk/blender/source/blender/blenkernel/intern/modifier.c

Modified: trunk/blender/source/blender/blenkernel/BKE_modifier.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_modifier.h	2012-07-04 16:39:34 UTC (rev 48600)
+++ trunk/blender/source/blender/blenkernel/BKE_modifier.h	2012-07-04 16:55:17 UTC (rev 48601)
@@ -345,6 +345,7 @@
 int           modifiers_getCageIndex(struct Scene *scene, struct Object *ob,
                                      int *lastPossibleCageIndex_r, int virtual_);
 
+int           modifiers_isModifierEnabled(struct Object *ob, int modifierType);
 int           modifiers_isSoftbodyEnabled(struct Object *ob);
 int           modifiers_isClothEnabled(struct Object *ob);
 int           modifiers_isParticleEnabled(struct Object *ob);

Modified: trunk/blender/source/blender/blenkernel/intern/depsgraph.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/depsgraph.c	2012-07-04 16:39:34 UTC (rev 48600)
+++ trunk/blender/source/blender/blenkernel/intern/depsgraph.c	2012-07-04 16:55:17 UTC (rev 48601)
@@ -559,7 +559,11 @@
 
 	/* softbody collision  */
 	if ((ob->type == OB_MESH) || (ob->type == OB_CURVE) || (ob->type == OB_LATTICE)) {
-		if (modifiers_isSoftbodyEnabled(ob) || modifiers_isClothEnabled(ob) || ob->particlesystem.first)
+		if (modifiers_isModifierEnabled(ob, eModifierType_Softbody) 
+			|| modifiers_isModifierEnabled(ob, eModifierType_Cloth)
+			|| modifiers_isModifierEnabled(ob, eModifierType_Smoke)
+			|| modifiers_isModifierEnabled(ob, eModifierType_DynamicPaint)
+			|| ob->particlesystem.first)
 			dag_add_collision_field_relation(dag, scene, ob, node);  /* TODO: use effectorweight->group */
 	}
 	

Modified: trunk/blender/source/blender/blenkernel/intern/modifier.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/modifier.c	2012-07-04 16:39:34 UTC (rev 48600)
+++ trunk/blender/source/blender/blenkernel/intern/modifier.c	2012-07-04 16:55:17 UTC (rev 48601)
@@ -331,6 +331,13 @@
 	return (md && md->mode & (eModifierMode_Realtime | eModifierMode_Render));
 }
 
+int modifiers_isModifierEnabled(Object *ob, int modifierType)
+{
+	ModifierData *md = modifiers_findByType(ob, modifierType);
+
+	return (md && md->mode & (eModifierMode_Realtime | eModifierMode_Render));
+}
+
 int modifiers_isParticleEnabled(Object *ob)
 {
 	ModifierData *md = modifiers_findByType(ob, eModifierType_ParticleSystem);




More information about the Bf-blender-cvs mailing list