Commit: 3f5b59cd90c961d9737e7dbf8999c5030b7ccadf
Author: Campbell Barton
Date:   Wed Nov 27 11:24:18 2013 +1100
http://developer.blender.org/rB3f5b59cd90c961d9737e7dbf8999c5030b7ccadf

Fix T37121: decimate works badly with flat surfaces

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

M       source/blender/bmesh/tools/bmesh_decimate_collapse.c

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

diff --git a/source/blender/bmesh/tools/bmesh_decimate_collapse.c 
b/source/blender/bmesh/tools/bmesh_decimate_collapse.c
index 99d4655..3ee238a 100644
--- a/source/blender/bmesh/tools/bmesh_decimate_collapse.c
+++ b/source/blender/bmesh/tools/bmesh_decimate_collapse.c
@@ -250,6 +250,9 @@ static void bm_decim_build_edge_cost_single(BMEdge *e,
        }
        // print("COST %.12f\n");
 
+       /* note, 'cost' shouldn't be negative but happens sometimes with small 
values.
+        * this can cause faces that make up a flat surface to over-collapse, 
see [#37121] */
+       cost = fabsf(cost);
        eheap_table[BM_elem_index_get(e)] = BLI_heap_insert(eheap, cost, e);
 }

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

Reply via email to