[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44398] trunk/blender/source/blender/bmesh /intern/bmesh_polygon.c: bmesh: minor speedup, use 1 iterator rather then 2 when normalizing verts.

Campbell Barton ideasman42 at gmail.com
Fri Feb 24 11:40:33 CET 2012


Revision: 44398
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44398
Author:   campbellbarton
Date:     2012-02-24 10:40:32 +0000 (Fri, 24 Feb 2012)
Log Message:
-----------
bmesh: minor speedup, use 1 iterator rather then 2 when normalizing verts.

Modified Paths:
--------------
    trunk/blender/source/blender/bmesh/intern/bmesh_polygon.c

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_polygon.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_polygon.c	2012-02-24 10:35:52 UTC (rev 44397)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_polygon.c	2012-02-24 10:40:32 UTC (rev 44398)
@@ -459,30 +459,25 @@
 {
 	/* TODO, we can normalize each edge only once, then compare with previous edge */
 
-	BMIter eiter, liter;
-	BMEdge *e;
+	BMIter liter;
 	BMLoop *l;
 	float vec1[3], vec2[3], fac;
 	int len = 0;
 
 	zero_v3(v->no);
 
-	BM_ITER(e, &eiter, bm, BM_EDGES_OF_VERT, v) {
-		BM_ITER(l, &liter, bm, BM_LOOPS_OF_EDGE, e) {
-			if (l->v == v) {
-				/* Same calculation used in BM_mesh_normals_update */
-				sub_v3_v3v3(vec1, l->v->co, l->prev->v->co);
-				sub_v3_v3v3(vec2, l->next->v->co, l->v->co);
-				normalize_v3(vec1);
-				normalize_v3(vec2);
+	BM_ITER(l, &liter, bm, BM_LOOPS_OF_VERT, v) {
+		/* Same calculation used in BM_mesh_normals_update */
+		sub_v3_v3v3(vec1, l->v->co, l->prev->v->co);
+		sub_v3_v3v3(vec2, l->next->v->co, l->v->co);
+		normalize_v3(vec1);
+		normalize_v3(vec2);
 
-				fac = saacos(-dot_v3v3(vec1, vec2));
-				
-				madd_v3_v3fl(v->no, l->f->no, fac);
+		fac = saacos(-dot_v3v3(vec1, vec2));
 
-				len++;
-			}
-		}
+		madd_v3_v3fl(v->no, l->f->no, fac);
+
+		len++;
 	}
 
 	if (len) {




More information about the Bf-blender-cvs mailing list