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