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-10-11 20:49:57 +0400
committerTon Roosendaal <ton@blender.org>2005-10-11 20:49:57 +0400
commit68924061ce162bdc8bd715717f8d0d2b8cf091f4 (patch)
tree108d77ee54027a8d58f5f24d1312db2576dacfa3 /source/blender/src/editmesh_add.c
parent30356259920938944e4b0137fdd153432dfd2ec7 (diff)
Another fix for the heuristic code to prevent adding overlapping faces...
(report #3167). Now hope I covered all! :)
Diffstat (limited to 'source/blender/src/editmesh_add.c')
-rw-r--r--source/blender/src/editmesh_add.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/src/editmesh_add.c b/source/blender/src/editmesh_add.c
index ffdba26bfa6..e79806e7cf9 100644
--- a/source/blender/src/editmesh_add.c
+++ b/source/blender/src/editmesh_add.c
@@ -326,6 +326,8 @@ static int compareface_overlaps(EditFace *vl1, EditFace *vl2)
v3= vl2->v3;
v4= vl2->v4;
+ if(vl1==vl2) return 0;
+
if(v4==NULL && vl1->v4==NULL) {
if(vl1->v1==v1 || vl1->v2==v1 || vl1->v3==v1) equal++;
if(vl1->v1==v2 || vl1->v2==v2 || vl1->v3==v2) equal++;
@@ -338,7 +340,11 @@ static int compareface_overlaps(EditFace *vl1, EditFace *vl2)
if(vl1->v1==v4 || vl1->v2==v4 || vl1->v3==v4 || vl1->v4==v4) equal++;
}
- if(equal>=3) return 1;
+ if(v4 && vl1->v4) {
+ if(equal==4) return 1;
+ }
+ else
+ if(equal>=3) return 1;
return 0;
}