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-11-19 07:28:18 +0300
committerCampbell Barton <ideasman42@gmail.com>2015-11-19 14:52:17 +0300
commit93fb07fbd55afcaac15e96b93892e65341bb92c4 (patch)
treede7928f6805dc3d116aeea5c3a2e7e78e14748bb /source/blender/bmesh/intern/bmesh_mods.c
parentae8e4d37180b0fd24a6565551a8d63101555cad9 (diff)
BMesh: bmesh_jekv check for degenerate faces
Move check for degenerate faces from BM_vert_collapse_faces into bmesh_jekv.
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_mods.c')
-rw-r--r--source/blender/bmesh/intern/bmesh_mods.c26
1 files changed, 1 insertions, 25 deletions
diff --git a/source/blender/bmesh/intern/bmesh_mods.c b/source/blender/bmesh/intern/bmesh_mods.c
index 1b693f8e97d..66be8e0e757 100644
--- a/source/blender/bmesh/intern/bmesh_mods.c
+++ b/source/blender/bmesh/intern/bmesh_mods.c
@@ -1066,32 +1066,8 @@ BMEdge *BM_vert_collapse_faces(
/* single face or no faces */
/* same as BM_vert_collapse_edge() however we already
* have vars to perform this operation so don't call. */
- e_new = bmesh_jekv(bm, e_kill, v_kill, do_del, true);
+ e_new = bmesh_jekv(bm, e_kill, v_kill, do_del, true, kill_degenerate_faces);
/* e_new = BM_edge_exists(tv, tv2); */ /* same as return above */
-
- if (e_new && kill_degenerate_faces) {
- BMFace **bad_faces = NULL;
- BLI_array_staticdeclare(bad_faces, BM_DEFAULT_ITER_STACK_SIZE);
-
- BMIter fiter;
- BMFace *f;
- BMVert *verts[2] = {e_new->v1, e_new->v2};
- int i;
-
- for (i = 0; i < 2; i++) {
- /* cant kill data we loop on, build a list and remove those */
- BLI_array_empty(bad_faces);
- BM_ITER_ELEM (f, &fiter, verts[i], BM_FACES_OF_VERT) {
- if (UNLIKELY(f->len < 3)) {
- BLI_array_append(bad_faces, f);
- }
- }
- while ((f = BLI_array_pop(bad_faces))) {
- BM_face_kill(bm, f);
- }
- }
- BLI_array_free(bad_faces);
- }
}
return e_new;