Commit: 0adaddd4c402ab3b5dc8bc7289ca3b7c53c1446b
Author: Martin Felke
Date:   Mon Jan 25 17:58:27 2016 +0100
Branches: fracture_modifier
https://developer.blender.org/rB0adaddd4c402ab3b5dc8bc7289ca3b7c53c1446b

fix for passive parenting hack, it was not taken into account after 
transforming the object interactively

===================================================================

M       source/blender/blenkernel/intern/rigidbody.c
M       source/blender/editors/transform/transform_conversions.c

===================================================================

diff --git a/source/blender/blenkernel/intern/rigidbody.c 
b/source/blender/blenkernel/intern/rigidbody.c
index 4d9e2f3..19232d3 100644
--- a/source/blender/blenkernel/intern/rigidbody.c
+++ b/source/blender/blenkernel/intern/rigidbody.c
@@ -3375,7 +3375,7 @@ static bool do_update_modifier(Scene* scene, Object* ob, 
RigidBodyWorld *rbw, bo
                int count = 0, brokencount = 0, plastic = 0;
                float frame = 0;
 
-               if (rebuild)
+               if (rebuild || is_zero_m4(fmd->passive_parent_mat))
                {
                        copy_m4_m4(fmd->passive_parent_mat, ob->obmat);
                }
@@ -3797,8 +3797,10 @@ static bool do_sync_modifier(ModifierData *md, Object 
*ob, RigidBodyWorld *rbw,
 
                        if (!is_zero_m4(fmd->origmat) && rbw && !(rbw->flag & 
RBW_FLAG_OBJECT_CHANGED))
                        {
-                               //if (fmd->fracture_mode == 
MOD_FRACTURE_PREFRACTURED)
-                               copy_m4_m4(ob->obmat, fmd->origmat);
+                               if (fmd->fracture_mode != MOD_FRACTURE_EXTERNAL)
+                               {
+                                       copy_m4_m4(ob->obmat, fmd->origmat);
+                               }
                        }
 
                        return modFound;
diff --git a/source/blender/editors/transform/transform_conversions.c 
b/source/blender/editors/transform/transform_conversions.c
index 28b8dc4..a27ca80 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -6358,7 +6358,14 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
                                if (md != NULL) {
                                        //reset original matrix of modifier
                                        fmd = (FractureModifierData*)md;
-                                       copy_m4_m4(fmd->origmat, 
td->ext->obmat);
+                                       if (fmd->fracture_mode != 
MOD_FRACTURE_EXTERNAL)
+                                       {
+                                               copy_m4_m4(fmd->origmat, 
td->ext->obmat);
+                                       }
+                                       else
+                                       {
+                                               zero_m4(fmd->origmat);
+                                       }
                                }
                        }
                }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to