diff options
author | Ton Roosendaal <ton@blender.org> | 2005-11-26 16:09:25 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2005-11-26 16:09:25 +0300 |
commit | 296b2bf1d94f7bf6f9df67d29d5c4961b4180fd7 (patch) | |
tree | 95216d774a6fa02eafd3d45c5d194cf849ec9717 /source/blender/src/editmesh_add.c | |
parent | 63ca05b7b3bec4c9ca60985fb9f9daf61a99d090 (diff) |
Added three more cases for allowing to create a new quad (Fkey), based on
inverting the checked triangle diagonal.
Noticed issues while modeling subsurfs yesterday, in that case you can
really be less strict.
Diffstat (limited to 'source/blender/src/editmesh_add.c')
-rw-r--r-- | source/blender/src/editmesh_add.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/src/editmesh_add.c b/source/blender/src/editmesh_add.c index 13860329cf7..6e82e82134e 100644 --- a/source/blender/src/editmesh_add.c +++ b/source/blender/src/editmesh_add.c @@ -633,7 +633,7 @@ void addedgeface_mesh(void) /* if 4 edges exist, we just create the face, convex or not */ efa= addface_from_edges(); if(efa==NULL) { - /* the order of vertices can be anything, three cases to check */ + /* the order of vertices can be anything, 6 cases to check */ if( convex(neweve[0]->co, neweve[1]->co, neweve[2]->co, neweve[3]->co) ) { efa= addfacelist(neweve[0], neweve[1], neweve[2], neweve[3], NULL, NULL); } @@ -643,6 +643,16 @@ void addedgeface_mesh(void) else if( convex(neweve[0]->co, neweve[2]->co, neweve[1]->co, neweve[3]->co) ) { efa= addfacelist(neweve[0], neweve[2], neweve[1], neweve[3], NULL, NULL); } + + else if( convex(neweve[1]->co, neweve[2]->co, neweve[3]->co, neweve[0]->co) ) { + efa= addfacelist(neweve[1], neweve[2], neweve[3], neweve[0], NULL, NULL); + } + else if( convex(neweve[1]->co, neweve[3]->co, neweve[0]->co, neweve[2]->co) ) { + efa= addfacelist(neweve[1], neweve[3], neweve[0], neweve[2], NULL, NULL); + } + else if( convex(neweve[1]->co, neweve[3]->co, neweve[2]->co, neweve[0]->co) ) { + efa= addfacelist(neweve[1], neweve[3], neweve[2], neweve[0], NULL, NULL); + } else error("The selected vertices form a concave quad"); } } |