[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51639] trunk/blender/source/blender: code cleanup: use min_/max_ math functions, add minmax_v2_v2v2.

Campbell Barton ideasman42 at gmail.com
Fri Oct 26 00:47:55 CEST 2012


Revision: 51639
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51639
Author:   campbellbarton
Date:     2012-10-25 22:47:54 +0000 (Thu, 25 Oct 2012)
Log Message:
-----------
code cleanup: use min_/max_ math functions, add minmax_v2_v2v2.

Modified Paths:
--------------
    trunk/blender/source/blender/blenlib/BLI_math_vector.h
    trunk/blender/source/blender/blenlib/intern/math_vector.c
    trunk/blender/source/blender/editors/screen/area.c
    trunk/blender/source/blender/editors/screen/glutil.c
    trunk/blender/source/blender/editors/screen/screen_edit.c
    trunk/blender/source/blender/editors/space_view3d/drawmesh.c
    trunk/blender/source/blender/editors/space_view3d/drawobject.c
    trunk/blender/source/blender/editors/space_view3d/view3d_draw.c

Modified: trunk/blender/source/blender/blenlib/BLI_math_vector.h
===================================================================
--- trunk/blender/source/blender/blenlib/BLI_math_vector.h	2012-10-25 22:37:05 UTC (rev 51638)
+++ trunk/blender/source/blender/blenlib/BLI_math_vector.h	2012-10-25 22:47:54 UTC (rev 51639)
@@ -226,6 +226,7 @@
 MINLINE void normal_float_to_short_v3(short r[3], const float n[3]);
 
 void minmax_v3v3_v3(float min[3], float max[3], const float vec[3]);
+void minmax_v2v2_v2(float min[2], float max[2], const float vec[2]);
 
 void dist_ensure_v3_v3fl(float v1[3], const float v2[3], const float dist);
 void dist_ensure_v2_v2fl(float v1[2], const float v2[2], const float dist);

Modified: trunk/blender/source/blender/blenlib/intern/math_vector.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/math_vector.c	2012-10-25 22:37:05 UTC (rev 51638)
+++ trunk/blender/source/blender/blenlib/intern/math_vector.c	2012-10-25 22:47:54 UTC (rev 51639)
@@ -451,6 +451,15 @@
 	if (max[2] < vec[2]) max[2] = vec[2];
 }
 
+void minmax_v2v2_v2(float min[2], float max[2], const float vec[2])
+{
+	if (min[0] > vec[0]) min[0] = vec[0];
+	if (min[1] > vec[1]) min[1] = vec[1];
+
+	if (max[0] < vec[0]) max[0] = vec[0];
+	if (max[1] < vec[1]) max[1] = vec[1];
+}
+
 /** ensure \a v1 is \a dist from \a v2 */
 void dist_ensure_v3_v3fl(float v1[3], const float v2[3], const float dist)
 {

Modified: trunk/blender/source/blender/editors/screen/area.c
===================================================================
--- trunk/blender/source/blender/editors/screen/area.c	2012-10-25 22:37:05 UTC (rev 51638)
+++ trunk/blender/source/blender/editors/screen/area.c	2012-10-25 22:47:54 UTC (rev 51639)
@@ -465,11 +465,11 @@
 	if (ar->drawrct.xmin == ar->drawrct.xmax)
 		ar->drawrct = winrct;
 	else {
-		/* extra clip for safety */
-		ar->drawrct.xmin = MAX2(winrct.xmin, ar->drawrct.xmin);
-		ar->drawrct.ymin = MAX2(winrct.ymin, ar->drawrct.ymin);
-		ar->drawrct.xmax = MIN2(winrct.xmax, ar->drawrct.xmax);
-		ar->drawrct.ymax = MIN2(winrct.ymax, ar->drawrct.ymax);
+		/* extra clip for safety (intersect the rects, could use API func) */
+		ar->drawrct.xmin = max_ii(winrct.xmin, ar->drawrct.xmin);
+		ar->drawrct.ymin = max_ii(winrct.ymin, ar->drawrct.ymin);
+		ar->drawrct.xmax = min_ii(winrct.xmax, ar->drawrct.xmax);
+		ar->drawrct.ymax = min_ii(winrct.ymax, ar->drawrct.ymax);
 	}
 	
 	/* note; this sets state, so we can use wmOrtho and friends */
@@ -1664,8 +1664,8 @@
 		v2d->scroll &= ~V2D_SCROLL_VERTICAL_HIDE;
 		
 		/* ensure tot is set correctly, to keep views on bottons, with sliders */
-		y = MAX2(-y, -v2d->cur.ymin);
-		
+		y = min_ii(y, v2d->cur.ymin);
+		y = -y;
 	}
 	else {
 		/* for now, allow scrolling in both directions (since layouts are optimized for vertical,
@@ -1679,7 +1679,7 @@
 
 		/* don't jump back when panels close or hide */
 		if (!newcontext)
-			x = MAX2(x, v2d->cur.xmax);
+			x = max_ii(x, v2d->cur.xmax);
 		y = -y;
 	}
 

Modified: trunk/blender/source/blender/editors/screen/glutil.c
===================================================================
--- trunk/blender/source/blender/editors/screen/glutil.c	2012-10-25 22:37:05 UTC (rev 51638)
+++ trunk/blender/source/blender/editors/screen/glutil.c	2012-10-25 22:47:54 UTC (rev 51639)
@@ -600,8 +600,8 @@
 	/* The maximum pixel amounts the image can be cropped
 	 * at the lower left without exceeding the origin.
 	 */
-	int off_x = floor(MAX2(ix, 0));
-	int off_y = floor(MAX2(iy, 0));
+	int off_x = floor(max_ff(ix, 0.0f));
+	int off_y = floor(max_ff(iy, 0.0f));
 
 	/* The zoomed space coordinate of the raster position
 	 * (starting at the lower left most unclipped pixel).

Modified: trunk/blender/source/blender/editors/screen/screen_edit.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_edit.c	2012-10-25 22:37:05 UTC (rev 51638)
+++ trunk/blender/source/blender/editors/screen/screen_edit.c	2012-10-25 22:47:54 UTC (rev 51639)
@@ -36,6 +36,7 @@
 #include "DNA_scene_types.h"
 #include "DNA_userdef_types.h"
 
+#include "BLI_math.h"
 #include "BLI_blenlib.h"
 #include "BLI_utildefines.h"
 
@@ -631,10 +632,8 @@
 	max[0] = max[1] = 0.0f;
 	
 	for (sv = sc->vertbase.first; sv; sv = sv->next) {
-		min[0] = MIN2(min[0], sv->vec.x);
-		min[1] = MIN2(min[1], sv->vec.y);
-		max[0] = MAX2(max[0], sv->vec.x);
-		max[1] = MAX2(max[1], sv->vec.y);
+		const float fv[2] = {(float)sv->vec.x, (float)sv->vec.y};
+		minmax_v2v2_v2(min, max, fv);
 	}
 	
 	/* always make 0.0 left under */

Modified: trunk/blender/source/blender/editors/space_view3d/drawmesh.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawmesh.c	2012-10-25 22:37:05 UTC (rev 51638)
+++ trunk/blender/source/blender/editors/space_view3d/drawmesh.c	2012-10-25 22:47:54 UTC (rev 51639)
@@ -703,7 +703,7 @@
 
 			/* COLOR */
 			if (mloopcol) {
-				unsigned int totloop_clamp = MIN2(4, mp->totloop);
+				unsigned int totloop_clamp = min_ii(4, mp->totloop);
 				unsigned int j;
 				lcol = &mloopcol[mp->loopstart];
 

Modified: trunk/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawobject.c	2012-10-25 22:37:05 UTC (rev 51638)
+++ trunk/blender/source/blender/editors/space_view3d/drawobject.c	2012-10-25 22:47:54 UTC (rev 51639)
@@ -578,7 +578,7 @@
 	glTranslatef(0.0f,  0.0f,  0.0f);
 
 	/* Calculate Image scale */
-	scale = (ob->empty_drawsize / (float)MAX2(ima_x * sca_x, ima_y * sca_y));
+	scale = (ob->empty_drawsize / max_ff((float)ima_x * sca_x, (float)ima_y * sca_y));
 
 	/* Set the object scale */
 	glScalef(scale * sca_x, scale * sca_y, 1.0f);

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2012-10-25 22:37:05 UTC (rev 51638)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2012-10-25 22:47:54 UTC (rev 51639)
@@ -2474,7 +2474,7 @@
 		/* note:  '1.0f / len_v3(v1)'  replaced  'len_v3(rv3d->viewmat[0])'
 		 * because of float point precision problems at large values [#23908] */
 		float v1[3], v2[3];
-		float len1, len2;
+		float len_px, len_sc;
 
 		v1[0] = rv3d->persmat[0][0];
 		v1[1] = rv3d->persmat[1][0];
@@ -2484,10 +2484,10 @@
 		v2[1] = rv3d->persmat[1][1];
 		v2[2] = rv3d->persmat[2][1];
 
-		len1 = 1.0f / len_v3(v1);
-		len2 = 1.0f / len_v3(v2);
+		len_px = 2.0f / sqrtf(min_ff(len_squared_v3(v1), len_squared_v3(v2)));
+		len_sc = (float)MAX2(ar->winx, ar->winy);
 
-		rv3d->pixsize = (2.0f * MAX2(len1, len2)) / (float)MAX2(ar->winx, ar->winy);
+		rv3d->pixsize = len_px / len_sc;
 	}
 }
 




More information about the Bf-blender-cvs mailing list