diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-11-12 16:30:58 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-11-12 16:30:58 +0400 |
commit | 0364a83771aedc5b2911a74cc5f2ae23d07996c5 (patch) | |
tree | 676c99b799ed10c8acd4f20a8323f804533bd40c /source/blender | |
parent | fbdae9ca0aacd3c93e38d36fb39bb09ce7461f4b (diff) |
fan filling didnt always work well, now only apply this when its going to work properly.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/bmesh/operators/bmo_bevel.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/source/blender/bmesh/operators/bmo_bevel.c b/source/blender/bmesh/operators/bmo_bevel.c index a270496a936..fcf3816ff9d 100644 --- a/source/blender/bmesh/operators/bmo_bevel.c +++ b/source/blender/bmesh/operators/bmo_bevel.c @@ -664,12 +664,20 @@ static void build_boundary(BevVert *bv) } while ((e = e->next) != efirst); BLI_assert(vm->count >= 2); - if (vm->count == 2 && bv->edgecount == 3) + if (vm->count == 2 && bv->edgecount == 3) { vm->mesh_kind = M_NONE; - else if (efirst->seg == 1 || bv->selcount == 1) - vm->mesh_kind = M_FAN; /* was M_POLY */ - else + } + else if (efirst->seg == 1 || bv->selcount == 1) { + if (vm->count == 3 && bv->selcount == 1) { + vm->mesh_kind = M_FAN; + } + else { + vm->mesh_kind = M_POLY; + } + } + else { vm->mesh_kind = M_ADJ; + } /* TODO: if vm->count == 4 and bv->selcount == 4, use M_CROSS pattern */ } |