[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48695] trunk/blender/source: code cleanup : dont use function calls like dot_v3v3, pow and sqrt within macros which results in calling the function multiple times needlessly .

Campbell Barton ideasman42 at gmail.com
Sat Jul 7 00:48:28 CEST 2012


Revision: 48695
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48695
Author:   campbellbarton
Date:     2012-07-06 22:48:28 +0000 (Fri, 06 Jul 2012)
Log Message:
-----------
code cleanup: dont use function calls like dot_v3v3, pow and sqrt within macros which results in calling the function multiple times needlessly.

also added some comments.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/armature.c
    trunk/blender/source/blender/blenkernel/intern/collision.c
    trunk/blender/source/blender/blenkernel/intern/displist.c
    trunk/blender/source/blender/blenkernel/intern/font.c
    trunk/blender/source/blender/blenkernel/intern/smoke.c
    trunk/blender/source/blender/blenkernel/intern/softbody.c
    trunk/blender/source/blender/blenkernel/intern/tracking.c
    trunk/blender/source/blender/blenlib/intern/freetypefont.c
    trunk/blender/source/blender/bmesh/operators/bmo_hull.c
    trunk/blender/source/blender/editors/interface/interface_handlers.c
    trunk/blender/source/blender/editors/mesh/editmesh_knife.c
    trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
    trunk/blender/source/blender/editors/transform/transform.c
    trunk/blender/source/blender/editors/transform/transform_conversions.c
    trunk/blender/source/blender/editors/uvedit/uvedit_smart_stitch.c
    trunk/blender/source/blender/render/intern/source/shadeoutput.c
    trunk/blender/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp
    trunk/blender/source/gameengine/Ketsji/KX_ObstacleSimulation.cpp

Modified: trunk/blender/source/blender/blenkernel/intern/armature.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/armature.c	2012-07-06 22:39:28 UTC (rev 48694)
+++ trunk/blender/source/blender/blenkernel/intern/armature.c	2012-07-06 22:48:28 UTC (rev 48695)
@@ -2049,7 +2049,8 @@
 		cross_v3_v3v3(raxis, rmat[1], splineVec);
 
 		rangle = dot_v3v3(rmat[1], splineVec);
-		rangle = acos(MAX2(-1.0f, MIN2(1.0f, rangle)));
+		CLAMP(rangle, -1.0f, 1.0f);
+		rangle = acosf(rangle);
 
 		/* multiply the magnitude of the angle by the influence of the constraint to
 		 * control the influence of the SplineIK effect

Modified: trunk/blender/source/blender/blenkernel/intern/collision.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/collision.c	2012-07-06 22:39:28 UTC (rev 48694)
+++ trunk/blender/source/blender/blenkernel/intern/collision.c	2012-07-06 22:48:28 UTC (rev 48695)
@@ -274,7 +274,7 @@
 
 			// Decrease in magnitude of relative tangential velocity due to coulomb friction
 			// in original formula "magrelVel" should be the "change of relative velocity in normal direction"
-			magtangent = MIN2(clmd->coll_parms->friction * 0.01f * magrelVel, sqrtf(dot_v3v3(vrel_t_pre, vrel_t_pre)));
+			magtangent = minf(clmd->coll_parms->friction * 0.01f * magrelVel, sqrtf(dot_v3v3(vrel_t_pre, vrel_t_pre)));
 
 			// Apply friction impulse.
 			if ( magtangent > ALMOST_ZERO ) {

Modified: trunk/blender/source/blender/blenkernel/intern/displist.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/displist.c	2012-07-06 22:39:28 UTC (rev 48694)
+++ trunk/blender/source/blender/blenkernel/intern/displist.c	2012-07-06 22:48:28 UTC (rev 48695)
@@ -1386,17 +1386,18 @@
 						ListBase top_capbase = {NULL, NULL};
 
 						for (dlb = dlbev.first; dlb; dlb = dlb->next) {
+							const float bevfac1 = minf(cu->bevfac1, cu->bevfac2);
+							const float bevfac2 = maxf(cu->bevfac1, cu->bevfac2);
+							float firstblend = 0.0f, lastblend = 0.0f;
 							int i, start, steps;
-							float bevfac1 = MIN2(cu->bevfac1, cu->bevfac2), bevfac2 = MAX2(cu->bevfac1, cu->bevfac2);
-							float firstblend = 0.0f, lastblend = 0.0f;
 
-							if (cu->bevfac1 - cu->bevfac2 == 0.0f)
+							if (bevfac2 - bevfac1 == 0.0f)
 								continue;
 
 							start = (int)(bevfac1 * (bl->nr - 1));
 							steps = 2 + (int)((bevfac2) * (bl->nr - 1)) - start;
-							firstblend = 1.0f - ((float)bevfac1 * (bl->nr - 1) - (int)((float)bevfac1 * (bl->nr - 1)));
-							lastblend  = (float)bevfac2 * (bl->nr - 1) - (int)((float)bevfac2 * (bl->nr - 1));
+							firstblend = 1.0f - (bevfac1 * (bl->nr - 1) - (int)(bevfac1 * (bl->nr - 1)));
+							lastblend  =         bevfac2 * (bl->nr - 1) - (int)(bevfac2 * (bl->nr - 1));
 
 							if (steps > bl->nr) {
 								steps = bl->nr;

Modified: trunk/blender/source/blender/blenkernel/intern/font.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/font.c	2012-07-06 22:39:28 UTC (rev 48694)
+++ trunk/blender/source/blender/blenkernel/intern/font.c	2012-07-06 22:48:28 UTC (rev 48695)
@@ -699,7 +699,7 @@
 
 			yof -= linedist;
 
-			maxlen = MAX2(maxlen, (xof - tb->x / cu->fsize));
+			maxlen = maxf(maxlen, (xof - tb->x / cu->fsize));
 			linedata[lnr] = xof - tb->x / cu->fsize;
 			linedata2[lnr] = cnr;
 			linedata3[lnr] = tb->w / cu->fsize;

Modified: trunk/blender/source/blender/blenkernel/intern/smoke.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/smoke.c	2012-07-06 22:39:28 UTC (rev 48694)
+++ trunk/blender/source/blender/blenkernel/intern/smoke.c	2012-07-06 22:48:28 UTC (rev 48695)
@@ -141,7 +141,7 @@
 
 /* forward declerations */
 static void calcTriangleDivs(Object *ob, MVert *verts, int numverts, MFace *tris, int numfaces, int numtris, int **tridivs, float cell_len);
-static void get_cell(float *p0, int res[3], float dx, float *pos, int *cell, int correct);
+static void get_cell(const float p0[3], const int res[3], float dx, const float pos[3], int cell[3], int correct);
 static void fill_scs_points(Object *ob, DerivedMesh *dm, SmokeCollSettings *scs);
 
 #else /* WITH_SMOKE */
@@ -1977,7 +1977,7 @@
 	cb(result, input, res, pixel, tRay, correct);
 }
 
-static void get_cell(float *p0, int res[3], float dx, float *pos, int *cell, int correct)
+static void get_cell(const float p0[3], const int res[3], float dx, const float pos[3], int cell[3], int correct)
 {
 	float tmp[3];
 

Modified: trunk/blender/source/blender/blenkernel/intern/softbody.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/softbody.c	2012-07-06 22:39:28 UTC (rev 48694)
+++ trunk/blender/source/blender/blenkernel/intern/softbody.c	2012-07-06 22:48:28 UTC (rev 48695)
@@ -1718,15 +1718,15 @@
 {
 	float mindist, cp;
 	int winner =1;
-	mindist = ABS(dot_v3v3(pos, a));
+	mindist = fabsf(dot_v3v3(pos, a));
 
-	cp = ABS(dot_v3v3(pos, b));
+	cp = fabsf(dot_v3v3(pos, b));
 	if ( mindist < cp ) {
 		mindist = cp;
 		winner =2;
 	}
 
-	cp = ABS(dot_v3v3(pos, c));
+	cp = fabsf(dot_v3v3(pos, c));
 	if (mindist < cp ) {
 		mindist = cp;
 		winner =3;

Modified: trunk/blender/source/blender/blenkernel/intern/tracking.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/tracking.c	2012-07-06 22:39:28 UTC (rev 48694)
+++ trunk/blender/source/blender/blenkernel/intern/tracking.c	2012-07-06 22:48:28 UTC (rev 48695)
@@ -2315,10 +2315,10 @@
 	/* margin from frame boundaries */
 	BKE_tracking_marker_pattern_minmax(marker, pat_min, pat_max);
 	sub_v2_v2v2(dim, pat_max, pat_min);
-	margin[0] = margin[1] = MAX2(dim[0], dim[1]) / 2.0f;
+	margin[0] = margin[1] = maxf(dim[0], dim[1]) / 2.0f;
 
-	margin[0] = MAX2(margin[0], (float)track->margin / frame_width);
-	margin[1] = MAX2(margin[1], (float)track->margin / frame_height);
+	margin[0] = maxf(margin[0], (float)track->margin / frame_width);
+	margin[1] = maxf(margin[1], (float)track->margin / frame_height);
 
 	/* do not track markers which are too close to boundary */
 	if (marker->pos[0] < margin[0] || marker->pos[0] > 1.0f - margin[0] ||

Modified: trunk/blender/source/blender/blenlib/intern/freetypefont.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/freetypefont.c	2012-07-06 22:39:28 UTC (rev 48694)
+++ trunk/blender/source/blender/blenlib/intern/freetypefont.c	2012-07-06 22:48:28 UTC (rev 48695)
@@ -266,17 +266,19 @@
 						}
 					}
 
-					// get the handles that are aligned, tricky...
-					// dist_to_line_v2, check if the three beztriple points are on one line
-					// len_squared_v2v2, see if there's a distance between the three points
-					// len_squared_v2v2 again, to check the angle between the handles 
-					// finally, check if one of them is a vector handle 
-					if ((dist_to_line_v2(bezt->vec[0], bezt->vec[1], bezt->vec[2]) < 0.001f) &&
+					/* get the handles that are aligned, tricky...
+					 * dist_to_line_v2, check if the three beztriple points are on one line
+					 * len_squared_v2v2, see if there's a distance between the three points
+					 * len_squared_v2v2 again, to check the angle between the handles
+					 * finally, check if one of them is a vector handle */
+					if ((bezt->h1 != HD_VECT && bezt->h2 != HD_VECT) &&
+					    (dist_to_line_v2(bezt->vec[0], bezt->vec[1], bezt->vec[2]) < 0.001f) &&
 					    (len_squared_v2v2(bezt->vec[0], bezt->vec[1]) > 0.0001f * 0.0001f) &&
 					    (len_squared_v2v2(bezt->vec[1], bezt->vec[2]) > 0.0001f * 0.0001f) &&
 					    (len_squared_v2v2(bezt->vec[0], bezt->vec[2]) > 0.0002f * 0.0001f) &&
-					    (len_squared_v2v2(bezt->vec[0], bezt->vec[2]) > MAX2(len_squared_v2v2(bezt->vec[0], bezt->vec[1]), len_squared_v2v2(bezt->vec[1], bezt->vec[2]))) &&
-					    bezt->h1 != HD_VECT && bezt->h2 != HD_VECT)
+					    (len_squared_v2v2(bezt->vec[0], bezt->vec[2]) >
+					     maxf(len_squared_v2v2(bezt->vec[0], bezt->vec[1]),
+					          len_squared_v2v2(bezt->vec[1], bezt->vec[2]))))
 					{
 						bezt->h1 = bezt->h2 = HD_ALIGN;
 					}

Modified: trunk/blender/source/blender/bmesh/operators/bmo_hull.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_hull.c	2012-07-06 22:39:28 UTC (rev 48694)
+++ trunk/blender/source/blender/bmesh/operators/bmo_hull.c	2012-07-06 22:48:28 UTC (rev 48695)
@@ -31,6 +31,13 @@
 #include "BLI_math.h"
 #include "BLI_utildefines.h"
 
+/*XXX: This operator doesn't work well (at all?) for flat surfaces with
+ * >3 sides - creating overlapping faces at times.
+ * An easy workaround is to add in some noise but this is
+ * weak and unreliable, ideally this would detect flat surfaces
+ * (possibly making them into ngons) - see
+ */
+
 /* XXX: using 128 for totelem and pchunk of mempool, no idea what good
  * values would be though */
 #include "BLI_mempool.h"

Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c	2012-07-06 22:39:28 UTC (rev 48694)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c	2012-07-06 22:48:28 UTC (rev 48695)
@@ -3833,7 +3833,7 @@
 	}
 	else {
 		/* scale histogram values */
-		const float yfac = MIN2(powf(hist->ymax, 2.f), 1.f) * 0.5f;
+		const float yfac = minf(powf(hist->ymax, 2.0f), 1.0f) * 0.5f;
 		hist->ymax += dy * yfac;
 	
 		CLAMP(hist->ymax, 1.f, 100.f);

Modified: trunk/blender/source/blender/editors/mesh/editmesh_knife.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_knife.c	2012-07-06 22:39:28 UTC (rev 48694)
+++ trunk/blender/source/blender/editors/mesh/editmesh_knife.c	2012-07-06 22:48:28 UTC (rev 48695)
@@ -1400,9 +1400,10 @@
 {
 	float density = (float)knife_sample_screen_density(kcd, maxsize * 2.0f);
 
-	density = MAX2(density, 1);
+	if (density < 1.0f)
+		density = 1.0f;
 
-	return MIN2(maxsize / (density * 0.5f), maxsize);

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list