diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2020-03-06 19:18:10 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2020-03-09 16:47:59 +0300 |
commit | 598ab525da3df3fef2033c159c570688c7282a8f (patch) | |
tree | ba2bd0b8fc6ee5d264512bf655def1a6ee5d7b31 /source/blender/editors/curve | |
parent | ee5d7bc16b243f309c84bce5deddf3a86b7f4c14 (diff) |
Cleanup: Replace ABS/SQUARE/CUBE with function calls
While it might be handy to have type-less functionality which is
similar to how C++ math is implemented it can not be easily achieved
with just preprocessor in a way which does not have side-effects on
wrong usage.
There macros where often used on a non-trivial expression, and there
was at least one usage where it was causing an actual side effect/bug
on Windows (see change around square_f(sh[index++]) in studiolight.c).
For such cases it is handy to have a function which is guaranteed to
have zero side-effects. The motivation behind actually removing the
macros is that there is already a way to do similar calculation. Also,
not having such macros is a way to guarantee that its usage is not
changed in a way which have side-effects and that it's not used as an
inspiration for cases where it should not be used.
Differential Revision: https://developer.blender.org/D7051
Diffstat (limited to 'source/blender/editors/curve')
-rw-r--r-- | source/blender/editors/curve/editcurve_paint.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/editors/curve/editcurve_paint.c b/source/blender/editors/curve/editcurve_paint.c index f97214991ef..85441c9b88d 100644 --- a/source/blender/editors/curve/editcurve_paint.c +++ b/source/blender/editors/curve/editcurve_paint.c @@ -481,7 +481,7 @@ static void curve_draw_event_add(wmOperator *op, const wmEvent *event) if (cdd->sample.use_substeps && cdd->prev.selem) { const struct StrokeElem selem_target = *selem; struct StrokeElem *selem_new_last = selem; - if (len_sq >= SQUARE(STROKE_SAMPLE_DIST_MAX_PX)) { + if (len_sq >= square_f(STROKE_SAMPLE_DIST_MAX_PX)) { int n = (int)ceil(sqrt((double)len_sq)) / STROKE_SAMPLE_DIST_MAX_PX; for (int i = 1; i < n; i++) { @@ -685,7 +685,7 @@ static void curve_draw_exec_precalc(wmOperator *op) } if (len_squared_v2v2(selem_first->mval, selem_last->mval) <= - SQUARE(STROKE_CYCLIC_DIST_PX * U.pixelsize)) { + square_f(STROKE_CYCLIC_DIST_PX * U.pixelsize)) { use_cyclic = true; } } @@ -1167,7 +1167,7 @@ static int curve_draw_modal(bContext *C, wmOperator *op, const wmEvent *event) else if (ELEM(event->type, MOUSEMOVE, INBETWEEN_MOUSEMOVE)) { if (cdd->state == CURVE_DRAW_PAINTING) { const float mval_fl[2] = {UNPACK2(event->mval)}; - if (len_squared_v2v2(mval_fl, cdd->prev.mouse) > SQUARE(STROKE_SAMPLE_DIST_MIN_PX)) { + if (len_squared_v2v2(mval_fl, cdd->prev.mouse) > square_f(STROKE_SAMPLE_DIST_MIN_PX)) { curve_draw_event_add(op, event); } } |