[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