Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2015-12-02 16:18:59 +0300
committerCampbell Barton <ideasman42@gmail.com>2015-12-02 16:21:08 +0300
commit9bcd604e1d77c11982d83f5c54f457650c836930 (patch)
treeff556787675a68ae084b36951ae03587571dcb5e /source/blender/bmesh/tools/bmesh_decimate_collapse.c
parent227fb30a184ca383c7c1c0f96107adfe839b5d56 (diff)
BMesh Decimate: don't collapse zero weighted edges
Diffstat (limited to 'source/blender/bmesh/tools/bmesh_decimate_collapse.c')
-rw-r--r--source/blender/bmesh/tools/bmesh_decimate_collapse.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/bmesh/tools/bmesh_decimate_collapse.c b/source/blender/bmesh/tools/bmesh_decimate_collapse.c
index ddcbe34e8e1..0a5e5aba86b 100644
--- a/source/blender/bmesh/tools/bmesh_decimate_collapse.c
+++ b/source/blender/bmesh/tools/bmesh_decimate_collapse.c
@@ -242,6 +242,13 @@ static void bm_decim_build_edge_cost_single(
BLI_heap_remove(eheap, eheap_table[BM_elem_index_get(e)]);
}
+ if (UNLIKELY(vweights &&
+ ((vweights[BM_elem_index_get(e->v1)] == 0.0f) ||
+ (vweights[BM_elem_index_get(e->v2)] == 0.0f))))
+ {
+ goto clear;
+ }
+
/* check we can collapse, some edges we better not touch */
if (BM_edge_is_boundary(e)) {
if (e->l->f->len == 3) {