[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