diff options
author | Ton Roosendaal <ton@blender.org> | 2005-10-11 20:49:57 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2005-10-11 20:49:57 +0400 |
commit | 68924061ce162bdc8bd715717f8d0d2b8cf091f4 (patch) | |
tree | 108d77ee54027a8d58f5f24d1312db2576dacfa3 /source/blender/src/editmesh_add.c | |
parent | 30356259920938944e4b0137fdd153432dfd2ec7 (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.c | 8 |
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; } |