diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-08-18 19:14:55 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-08-18 19:14:55 +0400 |
commit | c5e14f62a673507a6298bf9f676f6de11d193f07 (patch) | |
tree | 566e8f7fe07f0713f1667b236998cbb9dd94f492 /source/blender/bmesh/tools/bmesh_edgenet.c | |
parent | a71f84606a383801d4e6ceb8106bcc33857a5322 (diff) |
bmesh improvements to face creation.
* fill-holes operator now takes advantage of new edge-net fill, works in many more cases then it did before.
* face-create that uses edge-net now initializes the normals based on surrounding geometry, only running normal calculation if there are no connected faces for a reference.
Diffstat (limited to 'source/blender/bmesh/tools/bmesh_edgenet.c')
-rw-r--r-- | source/blender/bmesh/tools/bmesh_edgenet.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/bmesh/tools/bmesh_edgenet.c b/source/blender/bmesh/tools/bmesh_edgenet.c index 18efb9acd78..3aa86b2c97b 100644 --- a/source/blender/bmesh/tools/bmesh_edgenet.c +++ b/source/blender/bmesh/tools/bmesh_edgenet.c @@ -443,7 +443,8 @@ static LinkNode *bm_edgenet_path_calc_best( * \param use_edge_tag Only fill tagged edges. * \param face_oflag if nonzero, apply all new faces with this bmo flag. */ -void BM_mesh_edgenet(BMesh *bm, const bool use_edge_tag, const short face_oflag) +void BM_mesh_edgenet(BMesh *bm, + const bool use_edge_tag, const bool use_new_face_tag) { VertNetInfo *vnet_info = MEM_callocN(sizeof(*vnet_info) * (size_t)bm->totvert, __func__); BLI_mempool *edge_queue_pool = BLI_mempool_create(sizeof(LinkNode), 1, 512, 0); @@ -491,8 +492,8 @@ void BM_mesh_edgenet(BMesh *bm, const bool use_edge_tag, const short face_oflag) } } while ((l_iter = l_iter->next) != l_first); - if (face_oflag) { - BMO_elem_flag_enable(bm, f, face_oflag); + if (use_new_face_tag) { + BM_elem_flag_enable(f, BM_ELEM_TAG); } /* the face index only needs to be unique, not kept valid */ |