[Bf-blender-cvs] [06f4bac] master: BMesh: decimator minor edits
Campbell Barton
noreply at git.blender.org
Thu Jun 4 15:43:08 CEST 2015
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 */
More information about the Bf-blender-cvs
mailing list