diff options
author | Joseph Eagar <joeedh@gmail.com> | 2009-03-12 06:55:53 +0300 |
---|---|---|
committer | Joseph Eagar <joeedh@gmail.com> | 2009-03-12 06:55:53 +0300 |
commit | 215f0fa27dc19b5f1f0ee62554bf02d163f6c755 (patch) | |
tree | 039acc0e7763cc4a869f4bf23c8506c5209c423c /source/blender/editors/mesh/editmesh_lib.c | |
parent | 4178cf850a1cc36a4bc69979105ca9b69c35a185 (diff) |
the make ngon function's overlap test needed some work, the API function
that does that needed to be split in two. this made dissolve faces sometimes
not work.
also added some api functions to recalculate normals for verts, edges and
faces. and added a new flag, BM_NONORMCALC, to prevent this from happening
on individual fgon faces after they are tesselated. and made dissolve faces
happen on fkey in all the selection modes, not just face select.
Diffstat (limited to 'source/blender/editors/mesh/editmesh_lib.c')
-rw-r--r-- | source/blender/editors/mesh/editmesh_lib.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/editors/mesh/editmesh_lib.c b/source/blender/editors/mesh/editmesh_lib.c index 3f01363553c..6e745744c18 100644 --- a/source/blender/editors/mesh/editmesh_lib.c +++ b/source/blender/editors/mesh/editmesh_lib.c @@ -2028,6 +2028,9 @@ void recalc_editnormals(EditMesh *em) } for(efa= em->faces.first; efa; efa=efa->next) { + if (efa->e1->fgoni||efa->e2->fgoni||efa->e3->fgoni) continue; + if (efa->e4 && efa->e4->fgoni) continue; + if(efa->v4) { CalcNormFloat4(efa->v1->co, efa->v2->co, efa->v3->co, efa->v4->co, efa->n); CalcCent4f(efa->cent, efa->v1->co, efa->v2->co, efa->v3->co, efa->v4->co); |