Commit: 60c776d014aff2e8f0b81558e12b63ffe7c7e81d
Author: Martin Felke
Date:   Sun Nov 16 16:23:09 2014 +0100
Branches: fracture_modifier
https://developer.blender.org/rB60c776d014aff2e8f0b81558e12b63ffe7c7e81d

limit autohide to faces with inner material and fix attempt for convert to 
keyframes bug (messed up object locations / rotations)

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

M       source/blender/editors/object/object_modifier.c
M       source/blender/modifiers/intern/MOD_fracture.c

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

diff --git a/source/blender/editors/object/object_modifier.c 
b/source/blender/editors/object/object_modifier.c
index 66a810d..0e1a79c 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -2682,9 +2682,9 @@ void 
OBJECT_OT_rigidbody_convert_to_objects(wmOperatorType *ot)
 
 static bool convert_modifier_to_keyframes(FractureModifierData* fmd, Group* 
gr, Object* ob, Scene* scene, int start, int end)
 {
-//     bool is_baked = false;
+       bool is_baked = false;
        PointCache* cache = NULL;
-//     PTCacheID pid;
+       PTCacheID pid;
        MeshIsland *mi = NULL;
        int j = 0;
        Object *parent = NULL;
@@ -2699,7 +2699,6 @@ static bool 
convert_modifier_to_keyframes(FractureModifierData* fmd, Group* gr,
                cache = scene->rigidbody_world->pointcache;
        }
 
-#if 0
        if (cache && cache->flag & PTCACHE_BAKED)
        {
                start = cache->startframe;
@@ -2707,7 +2706,6 @@ static bool 
convert_modifier_to_keyframes(FractureModifierData* fmd, Group* gr,
                BKE_ptcache_id_from_rigidbody(&pid, NULL, 
scene->rigidbody_world);
                is_baked = true;
        }
-#endif
 
        if (cache && (cache->flag & PTCACHE_OUTDATED) /* && !(cache->flag & 
PTCACHE_BAKED)*/)
        {
@@ -2781,7 +2779,6 @@ static bool 
convert_modifier_to_keyframes(FractureModifierData* fmd, Group* gr,
                                float size[3] = {1.0f, 1.0f, 1.0f};
 
                                //is there a bake, if yes... use that (disabled 
for now, odd probs...)
-#if 0
                                if (is_baked)
                                {
                                        BKE_ptcache_id_time(&pid, scene, 
(float)i, NULL, NULL, NULL);
@@ -2793,7 +2790,6 @@ static bool 
convert_modifier_to_keyframes(FractureModifierData* fmd, Group* gr,
                                        }
                                }
                                else
-#endif
                                {
                                        loc[0] = mi->locs[i*3];
                                        loc[1] = mi->locs[i*3+1];
diff --git a/source/blender/modifiers/intern/MOD_fracture.c 
b/source/blender/modifiers/intern/MOD_fracture.c
index 32b7dac..f4b286b 100644
--- a/source/blender/modifiers/intern/MOD_fracture.c
+++ b/source/blender/modifiers/intern/MOD_fracture.c
@@ -2134,7 +2134,10 @@ static DerivedMesh *do_autoHide(FractureModifierData 
*fmd, DerivedMesh *dm)
                BM_face_calc_center_mean(f2, f_centr_other);
 
 
-               if (len_squared_v3v3(f_centr, f_centr_other) < 
fmd->autohide_dist && f1 != f2) {
+               if ((len_squared_v3v3(f_centr, f_centr_other) < 
fmd->autohide_dist && f1 != f2) &&
+                   (f1->mat_nr == 1 && f2->mat_nr == 1))
+               {
+
                        faces = MEM_reallocN(faces, sizeof(BMFace *) * 
(del_faces + 2));
                        faces[del_faces] = f1;
                        faces[del_faces + 1] = f2;
@@ -2157,7 +2160,7 @@ static DerivedMesh *do_autoHide(FractureModifierData 
*fmd, DerivedMesh *dm)
        }
 
        BMO_op_callf(bm, (BMO_FLAG_DEFAULTS & ~BMO_FLAG_RESPECT_HIDE),
-                    "automerge_keep_normals verts=%hv dist=%f", 
BM_ELEM_SELECT, fmd->autohide_dist * 100, false);
+                    "automerge_keep_normals verts=%hv dist=%f", 
BM_ELEM_SELECT, fmd->autohide_dist * 10, false);
 
        BM_mesh_elem_hflag_disable_all(bm, BM_VERT, BM_ELEM_SELECT, false);

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

Reply via email to