Commit: 06f4bac10402832bb1ae5f6399401d818921b51a
Author: Campbell Barton
Date:   Thu Jun 4 18:00:49 2015 +1000
Branches: master
https://developer.blender.org/rB06f4bac10402832bb1ae5f6399401d818921b51a

BMesh: decimator minor edits

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

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 1073ce7..73ce7e6 100644
--- a/source/blender/bmesh/tools/bmesh_decimate_collapse.c
+++ b/source/blender/bmesh/tools/bmesh_decimate_collapse.c
@@ -238,8 +238,7 @@ static void bm_decim_build_edge_cost_single(
                }
                else {
                        /* only collapse tri's */
-                       eheap_table[BM_elem_index_get(e)] = NULL;
-                       return;
+                       goto clear;
                }
        }
        else if (BM_edge_is_manifold(e)) {
@@ -248,13 +247,10 @@ static void bm_decim_build_edge_cost_single(
                }
                else {
                        /* only collapse tri's */
-                       eheap_table[BM_elem_index_get(e)] = NULL;
-                       return;
+                       goto clear;
                }
        }
        else {
-               eheap_table[BM_elem_index_get(e)] = NULL;
-               return;
        }
 
        if (vweights) {
@@ -262,8 +258,7 @@ static void bm_decim_build_edge_cost_single(
                    (vweights[BM_elem_index_get(e->v2)] >= 
BM_MESH_DECIM_WEIGHT_MAX))
                {
                        /* skip collapsing this edge */
-                       eheap_table[BM_elem_index_get(e)] = NULL;
-                       return;
+                       goto clear;
                }
        }
        /* end sanity check */
@@ -302,6 +297,10 @@ static void bm_decim_build_edge_cost_single(
 #endif
 
        eheap_table[BM_elem_index_get(e)] = BLI_heap_insert(eheap, cost, e);
+       return;
+
+clear:
+       eheap_table[BM_elem_index_get(e)] = NULL;
 }
 
 
@@ -906,7 +905,8 @@ static void bm_decim_edge_collapse(
 {
        int e_clear_other[2];
        BMVert *v_other = e->v1;
-       int v_clear_index = BM_elem_index_get(e->v2);  /* the vert is removed 
so only store the index */
+       const int v_other_index = BM_elem_index_get(e->v1);
+       const int v_clear_index = BM_elem_index_get(e->v2);  /* the vert is 
removed so only store the index */
        float optimize_co[3];
        float customdata_fac;
 
@@ -949,7 +949,7 @@ static void bm_decim_edge_collapse(
                int i;
 
                if (vweights) {
-                       vweights[BM_elem_index_get(v_other)] += 
vweights[v_clear_index];
+                       vweights[v_other_index] += vweights[v_clear_index];
                }
 
                e = NULL;  /* paranoid safety check */
@@ -966,7 +966,7 @@ static void bm_decim_edge_collapse(
                }
 
                /* update vertex quadric, add kept vertex from killed vertex */
-               BLI_quadric_add_qu_qu(&vquadrics[BM_elem_index_get(v_other)], 
&vquadrics[v_clear_index]);
+               BLI_quadric_add_qu_qu(&vquadrics[v_other_index], 
&vquadrics[v_clear_index]);
 
                /* update connected normals */

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

Reply via email to