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:
authorJoseph Eagar <joeedh@gmail.com>2011-03-28 04:29:45 +0400
committerJoseph Eagar <joeedh@gmail.com>2011-03-28 04:29:45 +0400
commit3875461a3349722fcb7c31e444a9c76c02ae314d (patch)
tree6d7eb69342072f9e6b566d2a1fb44538cb5bf566 /source/blender/bmesh/intern/bmesh_polygon.c
parentfc050837b00a0b24f83900402c04211eaa70693a (diff)
=bmesh=
Improved edge subdivide. The last tool panel is a bit clearer, with a "quad/tri" checkbox (that, in addition to turning on the old singe-edge-triangluation feature also automatically switches cornervert to Inner Vert if it is Straight, to avoid producing ngons). I also rewrote fractal to be more likes its name, and removed the "smoothness" parameter (which never worked, anyway, even in trunk). Also removed the grid fill paramter, it wasn't all that useful.
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_polygon.c')
-rw-r--r--source/blender/bmesh/intern/bmesh_polygon.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/source/blender/bmesh/intern/bmesh_polygon.c b/source/blender/bmesh/intern/bmesh_polygon.c
index 89bbfeac478..8eea93e0223 100644
--- a/source/blender/bmesh/intern/bmesh_polygon.c
+++ b/source/blender/bmesh/intern/bmesh_polygon.c
@@ -445,7 +445,26 @@ void BM_Vert_UpdateNormal(BMesh *bm, BMVert *v)
if (!len) return;
- mul_v3_fl(v->no, 1.0f/(int)len);
+ mul_v3_fl(v->no, 1.0f/(float)len);
+}
+
+void BM_Vert_UpdateAllNormals(BMesh *bm, BMVert *v)
+{
+ BMIter iter;
+ BMFace *f;
+ int len=0;
+
+ v->no[0] = v->no[1] = v->no[2] = 0.0f;
+
+ f = BMIter_New(&iter, bm, BM_FACES_OF_VERT, v);
+ for (; f; f=BMIter_Step(&iter), len++) {
+ BM_Face_UpdateNormal(bm, f);
+ add_v3_v3v3(v->no, f->no, v->no);
+ }
+
+ if (!len) return;
+
+ mul_v3_fl(v->no, 1.0f/(float)len);
}
void bmesh_update_face_normal(BMesh *bm, BMFace *f, float (*projectverts)[3])