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:
authorTon Roosendaal <ton@blender.org>2005-11-26 16:09:25 +0300
committerTon Roosendaal <ton@blender.org>2005-11-26 16:09:25 +0300
commit296b2bf1d94f7bf6f9df67d29d5c4961b4180fd7 (patch)
tree95216d774a6fa02eafd3d45c5d194cf849ec9717 /source/blender/src/editmesh_add.c
parent63ca05b7b3bec4c9ca60985fb9f9daf61a99d090 (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.c12
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");
}
}