[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46926] trunk/blender/source/blender/ modifiers/intern/MOD_solidify.c: solidify modifier - replace define, no longer needed since switching to bmesh.

Campbell Barton ideasman42 at gmail.com
Wed May 23 08:39:29 CEST 2012


Revision: 46926
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46926
Author:   campbellbarton
Date:     2012-05-23 06:39:29 +0000 (Wed, 23 May 2012)
Log Message:
-----------
solidify modifier - replace define, no longer needed since switching to bmesh.

Modified Paths:
--------------
    trunk/blender/source/blender/modifiers/intern/MOD_solidify.c

Modified: trunk/blender/source/blender/modifiers/intern/MOD_solidify.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_solidify.c	2012-05-23 06:32:02 UTC (rev 46925)
+++ trunk/blender/source/blender/modifiers/intern/MOD_solidify.c	2012-05-23 06:39:29 UTC (rev 46926)
@@ -107,25 +107,10 @@
 		EdgeFaceRef *edge_ref;
 		float edge_normal[3];
 
-		/* This function adds an edge hash if its not there, and adds the face index */
-#define NOCALC_EDGEWEIGHT_ADD_EDGEREF_FACE(EDV1, EDV2); \
-			{ \
-				const unsigned int ml_v1 = EDV1; \
-				const unsigned int ml_v2 = EDV2; \
-				edge_ref = (EdgeFaceRef *)BLI_edgehash_lookup(edge_hash, ml_v1, ml_v2); \
-				if (!edge_ref) { \
-					edge_ref = &edge_ref_array[edge_ref_count]; edge_ref_count++; \
-					edge_ref->f1 = i; \
-					edge_ref->f2 =- 1; \
-					BLI_edgehash_insert(edge_hash, ml_v1, ml_v2, edge_ref); \
-				} \
-				else { \
-					edge_ref->f2 = i; \
-				} \
-			}
-		/* --- end define --- */
-
+		/* This loop adds an edge hash if its not there, and adds the face index */
 		for (i = 0; i < numFaces; i++, mp++) {
+			unsigned int ml_v1;
+			unsigned int ml_v2;
 			int j;
 			
 			f_no = face_nors[i];
@@ -133,8 +118,23 @@
 				mesh_calc_poly_normal(mp, mloop + mp->loopstart, mvert, f_no);
 
 			ml = mloop + mp->loopstart;
-			for (j = 0; j < mp->totloop; j++, ml++) {
-				NOCALC_EDGEWEIGHT_ADD_EDGEREF_FACE(ml->v, ME_POLY_LOOP_NEXT(mloop, mp, j)->v);
+
+			for (j = 0, ml_v1 = ml->v, ml_v2 = ml[mp->totloop - 1].v;
+			     j < mp->totloop;
+			     j++, ml++, ml_v2 = ml_v1, ml_v1 = ml->v)
+			{
+				/* --- add edge ref to face --- */
+				edge_ref = (EdgeFaceRef *)BLI_edgehash_lookup(edge_hash, ml_v1, ml_v2);
+				if (!edge_ref) {
+					edge_ref = &edge_ref_array[edge_ref_count++];
+					edge_ref->f1 =  i;
+					edge_ref->f2 = -1;
+					BLI_edgehash_insert(edge_hash, ml_v1, ml_v2, edge_ref);
+				}
+				else {
+					edge_ref->f2 = i;
+				}
+				/* --- done --- */
 			}
 		}
 




More information about the Bf-blender-cvs mailing list