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);

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to