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