[Bf-blender-cvs] [9d8a9cacc3] master: De-duplicate min/max calculation in F-Curve normalization

Sergey Sharybin noreply at git.blender.org
Fri Feb 10 18:11:11 CET 2017


Commit: 9d8a9cacc309063b27f1d0535b2ab8d7ea10c233
Author: Sergey Sharybin
Date:   Fri Feb 10 18:10:26 2017 +0100
Branches: master
https://developer.blender.org/rB9d8a9cacc309063b27f1d0535b2ab8d7ea10c233

De-duplicate min/max calculation in F-Curve normalization

===================================================================

M	source/blender/editors/animation/anim_draw.c

===================================================================

diff --git a/source/blender/editors/animation/anim_draw.c b/source/blender/editors/animation/anim_draw.c
index 33e44d7389..0a0952870c 100644
--- a/source/blender/editors/animation/anim_draw.c
+++ b/source/blender/editors/animation/anim_draw.c
@@ -308,6 +308,7 @@ static float normalization_factor_get(Scene *scene, FCurve *fcu, short flag, flo
 
 	fcu->prev_norm_factor = 1.0f;
 	if (fcu->bezt) {
+		const bool use_preview_only = PRVRANGEON;
 		BezTriple *bezt;
 		int i;
 		float max_coord = -FLT_MAX;
@@ -318,29 +319,20 @@ static float normalization_factor_get(Scene *scene, FCurve *fcu, short flag, flo
 			return 1.0f;
 		}
 
-		if (PRVRANGEON) {
-			for (i = 0, bezt = fcu->bezt; i < fcu->totvert; i++, bezt++) {
-				if (IN_RANGE_INCL(bezt->vec[1][0], scene->r.psfra, scene->r.pefra)) {
-					max_coord = max_ff(max_coord, bezt->vec[0][1]);
-					max_coord = max_ff(max_coord, bezt->vec[1][1]);
-					max_coord = max_ff(max_coord, bezt->vec[2][1]);
-
-					min_coord = min_ff(min_coord, bezt->vec[0][1]);
-					min_coord = min_ff(min_coord, bezt->vec[1][1]);
-					min_coord = min_ff(min_coord, bezt->vec[2][1]);
-				}
-			}
-		}
-		else {
-			for (i = 0, bezt = fcu->bezt; i < fcu->totvert; i++, bezt++) {
-				max_coord = max_ff(max_coord, bezt->vec[0][1]);
-				max_coord = max_ff(max_coord, bezt->vec[1][1]);
-				max_coord = max_ff(max_coord, bezt->vec[2][1]);
-
-				min_coord = min_ff(min_coord, bezt->vec[0][1]);
-				min_coord = min_ff(min_coord, bezt->vec[1][1]);
-				min_coord = min_ff(min_coord, bezt->vec[2][1]);
+		for (i = 0, bezt = fcu->bezt; i < fcu->totvert; i++, bezt++) {
+			if (use_preview_only && !IN_RANGE_INCL(bezt->vec[1][0],
+			                                       scene->r.psfra,
+			                                       scene->r.pefra))
+			{
+				continue;
 			}
+			max_coord = max_ff(max_coord, bezt->vec[0][1]);
+			max_coord = max_ff(max_coord, bezt->vec[1][1]);
+			max_coord = max_ff(max_coord, bezt->vec[2][1]);
+
+			min_coord = min_ff(min_coord, bezt->vec[0][1]);
+			min_coord = min_ff(min_coord, bezt->vec[1][1]);
+			min_coord = min_ff(min_coord, bezt->vec[2][1]);
 		}
 
 		if (max_coord > min_coord) {




More information about the Bf-blender-cvs mailing list